随笔分类 - pp
摘要:异步FIFO设计笔记:1. 首先确定输入输出接口,异步FIFO在一个时钟域中进行写数据操作,而在另一个时钟域中进行读数据操作,所以在写数据模块,需要有写数据wdata,写时钟wclk,写复位wrst_n,写请求wreq,写满标志wfull;在读数据模块,需要有读数据rdata,读时钟rclk,读复位rrst_n,读请求rreq,读空标志rempty。其中rdata,rempty,wfull为输出信号,其余为输入信号。2. 考虑如何产生满标志和空标志位,当读写地址相同时表示当前FIFO已经被读空了或者被写满了,此时读指针rptr和写指针wptr地址相同。n 本实验采用象限比较法,先确定当前读写状
阅读全文
摘要:刚学习NIOS时,也出现过下面这个问题,后悔当时没有记录下来解决的方法,现在又出现,也不知道怎么解决了。Using cable "USB-Blaster [USB-0]", device 1, instance 0x00Pausing target processor: not responding.Resetting and trying again: FAILEDLeaving target processor paused记得最近上一次出现这个错误时,是因为我的reset_n的脚没有接上去,昨天程序都跑得好好的,今天一来,就又不行了,正在找解决方案。。。。。。发现问题
阅读全文
摘要:Abstract當使用JTAG將Quartus II編譯的sof燒進DE2後,只要一斷電就沒了,所以想燒到epcs內,這樣通電後馬上就可執行,但卻遇到以上的錯誤訊息。Symptom使用環境:Quartus II 7.2 SP3 + DE2( Cyclone II EP2C35F672C6)原本使用JTAG燒進DE2,皆可正常執行,但將swtich從RUN切到PROG後,使用Programmer出現以下錯誤訊息:Solution要將程式燒到flash執行,請依照以下步驟。Step 1:設定使用EPCS16這個flashAssignment -> Device : Device and Pi
阅读全文
摘要:简单的可以理解为:heap:是由malloc之类函数分配的空间所在地。地址是由低向高增长的。stack:是自动分配变量,以及函数调用的时候所使用的一些空间。地址是由高向低减少的。预备知识-程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)- 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) - 一般...
阅读全文
摘要:今天看文档时,突然发现自己从来没有在DE2上的LCD显示器上显示过文字,于是就来做了一个这样的实验,结果在下载.sof文档的时候,又出现了Info: SRAM Object File E:/DE2_NIOS/DE2_NIOS_time_limited.sof contains time-limited megafunction that supports OpenCore Plus feature...
阅读全文
摘要:C語言有兩種字串宣告方式char s[]和char *s,兩者有什麼差異呢?Introductionchars[]="HelloWorld";char*s="HelloWorld";皆宣告了s字串,在C-style string的函數皆可使用,但兩者背後意義卻不相同。chars[]="HelloWorld";的s是個char array,含12個byte(包含結尾\0),"Hello World"...
阅读全文
摘要:++i和i++哪个速度较快呢?在C++ Primer 4th整本书中,都是用++i,我今天特别跑去问C++老师为什么,答案是因为++i较快,所以C++ Primer才都使用++i。++i相当于1i=i+1;2returni;而i++相当于1intj=i;2i=i+1;3returnj;由于i++还必须copy值给j,所以速度较慢。
阅读全文
摘要:在C/C++中,只要宣告一个变量,如int i,尽管没去用它,内存已经占了4 byte的内存了,这个动作称为Definition,以下简单的源代码即可证明,结果可显示该变量的内存地址。1#include<iostream>23usingnamespacestd;45intmain(){6inti;78cout<<&i<<endl;910return0;1...
阅读全文
摘要:a = 1、b = 2、c = 3...以此类推,若输入字串abc时,表示1 + 2 + 3 = 6,若输入字串abcd时,表示1 + 2 + 3 + 4 = 10。执行結果abc66、7行while(*s)sum+=(*s++-96);由于C语言字串以'\0'为結尾的特性,所以我们大胆地使用while(*s != '\0'),又因C语言『非0为true』的特性,所以可省略成while(*s),若...
阅读全文
摘要:首先,对memest()函数进行一下介绍。memest原型 (please type "man memset" in your shell) void *memset(void *s, int c, size_t n); memset:作用是在一段内存块中填充某个给定的值,它对较大的结构体或数组进行清零操作的一种最快方法。 常见的三种错误 第一: 搞反了c 和 n的位置. 一定要记住 如果要把一个...
阅读全文
摘要:寄存器操作方式与API1.寄存器操作方式首先我们看红圈2处的结构体,在这里,我们定义了一个结构体,将其命名为PIO_STR,这个结构体的结构是有说法的,它是根据芯片手册来写的。就是PIO Core寄存器映射,我的结构体就是根据它来写的,名字不重要,重要的是它的顺序,也就是偏移量(offset)。第一项是数据data,第二项是IO口方向,第三项是中断控制位,第四项是边沿控制位。他们每一项都有n位,这...
阅读全文
摘要:1.NIOS II IDE简介 NIOS II IDE是一个基于Eclipse IDE构架的集成开发环境,它包括了很多的功能,学过JAVA的人对其应该非常的熟悉,它的功能是非常之强大,下面我们就简单介绍一下NIOS II IDE的功能和特点:GNU开发工具。熟悉Linux操作系统的人对它一定不陌生,它是一种开源的编译环境,包括标准的GCC编译器,连接器,汇编器以及makefile工具等。说到这大家...
阅读全文
摘要:某些工程从一个路径拷贝到另一个路径后,由于指定的ptf包含先前的绝对路径信息,在新目录下,工程无法重新编译,显示ptf文件找不到。解决方式是另外新建一个syslib工程,并为这个工程指定正确的ptf文件。然后右键先前工程:Properties->Associated System Library 更改值指向新的syslibReference from :http://www.alterafo...
阅读全文
摘要:那个函数需要多于所输入的参数。这个错误同时会显示在函数在档案中的位置。
阅读全文
摘要:最近用CYCLONE FPGA做的视频图像叠加板需要存储一些用户配置信息,而EPCS4配置芯片除了存储FPGA配置信息和NIOS II程序外,还有很多存储空间剩余未使用,刚好可以用来做用户配置信息存储。折腾了挺长时间,看了不少文档,都只是提到可以用ALTERA提供的HAL函数来调用EPCS相关的函数。最后只能硬着头皮看“altera_avalon_epcs_flash_controll...
阅读全文
摘要:在调试有关Quartus8.0+NIOS II发现了一个问题: 之前使用一直正常,而且能生成sof与pof文件。可是最近工程在编译之后只能生成***_time_limited.sof。一直找不到问题的原因,更换了多个license也没奏效。其他可能的原因(包括路径名、verilog文件错误、Quartus版本、SP版本等)都想到了,今天在网上找到了一个比较好的答案:NIOS软核也需要相应的Lice...
阅读全文
摘要:审批通过啦,现在就在这里安家啦,呵呵快到吃饭的时间了,但是呢,老公公听报告去了,还没有回来,所以我来看看我的新家长什么样子,吼吼!以后这里就是我的电子笔记本档啦,xxfighting~
阅读全文

浙公网安备 33010602011771号