摘要:
http://bbs.ednchina.com/BLOG_ARTICLE_53109.HTM时序电路的状态是一个状态变量集合,这些状态变量在任意时刻的值都包含了为确定电路的未来行为而必需考虑的所有历史信息状态机采用VerilogHDL语言编码,建议分为三个always段完成。三段式建模描述FSM的状态机输出时,只需指定case敏感表为次态寄存器, 然后直接在每个次态的case分支中描述该状态的输出即可,不用考虑状态转移条件。三段式描述方法虽然代码结构复杂了一些,但是换来的优势是使FSM做到了同步寄存器输出,消除了组合逻辑输出的不稳定与毛刺的隐患,而且更利于时序路径分组,一般来说在FPGA/CP 阅读全文
摘要:
fprintf函数和fscanf函数和printf和scanf相比,就是多了个f前缀,这个f当然就是指的file,也就是文件了,后两者是操作的对象是终端设备,前者则是针对磁盘文件的操作,因此fprintf函数和fscanf函数就是了C语言中文件的格式化输入输出函数。 学C语言,老师就要布置作业的吧,作业做什么呢?一般都是做学生成绩管理系统吧,那就要设计个数据结构保存学生的信息吧,姓名、学号、成绩等等的,用什么好呢,那当然是结构体struct了。struct student{ char chName[20]; //姓名 int nID; //学号... 阅读全文
摘要:
(转自:真OO无双)http://www.cnblogs.com/oomusou/archive/2008/02/11/1066839.htmlAbstractVerilog雖然為硬體描述語言,亦提供讀取/寫入文字檔的功能。Introduction為什麼需要用Verilog讀取/寫入文字檔呢?主要用在寫Testbench,並且有兩個優點:1.資料處理的個數不需寫死在Testbench內。2.文字檔可以用其他更強大的語言產生,如C/C++、Python。3.將資料輸出到文字檔後,可用其他語言分析,如C/C++、Python、Excel。Verilog1/* 2 (C) OOMusou 2008 阅读全文
摘要:
http://www.cnblogs.com/dangxia/archive/2012/03/10/2389685.html今天看代码时遇到了integer,只知道这是个整数类型,可详细的内容却一窍不通,查看了资料---《verilog数字VLSI设计教程》。其中是这么写到的:大多数的矢量类型(reg或者net)都被默认当做无符号数。integer和real是个例外,它们被默认为当做有符号数。通常,real类型是不可综合的。假设在没有溢出的情况下,不管是无符号数还是有符号数,它们都是二进制的一串数值而已;而当这个值被当做某种类型比较时:又符号数的MSB被用来表示这个数字的符号,而无符号数的MS 阅读全文
摘要:
文章出处http://www.cnblogs.com/tureno/articles/2325739.html下载地址:ed2k://|file|%5B%E9%80%BB%E8%BE%91%E7%BB%BC%E5%90%88%E5%B7%A5%E5%85%B7%5D.Synplify.Premier9.6.2_with_crack.rar|325703858|1ca20ff5b20dddec88b6d29e5ec31907|h=5k7r3twrk4ts2iqcoezqbldvym2pklgi|/复制上面的地址到迅雷,内含有破解文件但破解方法不全面结合下面的内容破解即可完成(自己已经在win7旗 阅读全文
摘要:
由于要对FPGA读写SDRAM的工程进行调试,第一步就是验证PLL模块的功能,故结合网上找的一些资料,进行了如下PLL仿真实验。下面是仿真的全过程首先,看一下Quartus中的PLL模块:从上面图中可以看出:我的FPGA输入时钟是20MHZ,该PLL有三个输出,其中C0:5倍频,100MHZC1:1倍频,20MHZC2:5倍频,100MHZ,同时相对于C0延时2ns,也就是72度的相位差。下面,新建一个Modelsim的工程。然后在工程目录下新建两个文件夹,分别为src以及modelsim,如图所示下面,给工程添加库文件,源文件以及激励文件:首先,添加库文件,在quartus目录下(E:\Al 阅读全文
摘要:
文章转自:http://blog.csdn.net/ruby97/article/details/7348939由于仿真FIFO需要时钟资源,故使用了前一篇文章中使用的PLL模块。在仿真FIFO模块时,我使用了一个数据发生模块,参考的下面这篇文章中的源码datagene.v(可以去链接网址下载源码)数据发生模块的输入输出框图如下所示:我在Modelsim中利用了该模块进行FIFO的仿真。若对FIFO的IP核不熟悉,可以参考官方文档:http://www.altera.com/literature/ug/ug_fifo.pdf下面是具体仿真过程:首先,看一下FIFO配置:数据单元位宽:16FIF 阅读全文
摘要:
1.打开文件 integer file_id; file_id = fopen("file_path/file_name");2.写入文件:$fmonitor,$fwrite,$fdisplay,$fstrobe //$fmonitor只要有变化就一直记录 $fmonitor(file_id, "%format_char", parameter); $fmonitor(file_id, "%m: %t in1=%d o1=%h", $time, in1, o1);//$fwrite需要触发条件才记录 $fwrite(file_id, 阅读全文
摘要:
在verilog中有$readmemh(“filename”, mem_name)命令,在使用这个命令时,”filename”中的路径要用反斜杠’/’,而不是斜杠’\’。如$readmemh("F:/mydesigen/re_input.txt",re_input);上面的语句是正确的,而如果用斜杠就有问题,如$readmemh("F:\mydesigen\re_input.txt",re_input);对于需要的txt文件,其格式为每行一个数据,例如用matlab产生文件则可以这样写fid0 = fopen('F:\mydesigen\re_i 阅读全文
摘要:
在单独使用Modelsim有时候需要自己独立书写testbench,对于应用QII所自带的Start testbench Template writer确实方便,但是有时对于一个小的独立模块进行仿真时就需要独立调用Modelsim,这样在Modelsim中编写testbench,下面对于testbench的书写总结一下。 首先在写testbench时,应注意名称要和自己待仿真的工程名称要对应,比如自己的待仿真文件名称叫grey_even,那么对于teshbench的名称则取一个叫grey_even_tst,在书写testbench module name则取名叫grey_even_vlg_t. 阅读全文