03 2014 档案

两段式状态机不可能完成的任务
摘要:两段式状态机不可能完成的任务(特权) 最近折腾状态机,发现一个小任务对于两段式状态机写法是不可能完成的。这个小任务很简单,先看用一段式状态机实现的代码:module test( clk,rst_n, din,dout );input clk;input rst_n;input din;output[3:0] dout;parameter IDLE = 3'd0;parameter STA1 = 3'd1;//一段式写法reg[2:0] cstate;reg[3:0] cnt;always @(posedge clk or negedge rst_n) if(!rst_n) cs 阅读全文

posted @ 2014-03-05 13:26 略过天涯 阅读(794) 评论(0) 推荐(0)

很经典,逻辑电路设计经验(转)
摘要:规范很重要 工作过的朋友肯定知道,公司里是很强调规范的,特别是对于大的设计(无论软件还是硬件),不按照规范走几乎是不可实现的。逻辑设计也是这样:如果不按规范 做的话,过一个月后调试时发现有错,回头再看自己写的代码,估计很多信号功能都忘了,更不要说检错了;如果一个项目做了一半一个人走了,接班的估计得从头 开始设计;如果需要在原来的版本基础上增加新功能,很可能也得从头来过,很难做到设计的可重用性。在逻辑方面,我觉得比较重要的规范有这些: 1.设计必须文档化。要将设计思路,详细实现等写入文档,然后经过严格评审通过后才能进行下一步的工作。这样做乍看起来很花时间,但是从整个项目过程来看,绝对要比一上来就 阅读全文

posted @ 2014-03-05 13:25 略过天涯 阅读(1160) 评论(1) 推荐(2)

Testbench代码设计技巧
摘要:Testbench代码设计技巧" There are many ways " to code a test case, it all depens on the creativity ot the Testbench designer.Testbench代码设计技巧 11. Clock logic设计技巧 12. Asynchronous reset设计技巧 13. System task之打印数据 24. System task之生成.vcd文件 35. System task之生成vec(vector file)档 31. Clock logic为方便对时钟进行修改,已 阅读全文

posted @ 2014-03-04 20:45 略过天涯 阅读(576) 评论(0) 推荐(1)

Testbench的编写
摘要:Testbench的作用,在于给我们编写的可综合代码的模块送入激励。即在我们波形仿真中用编写testbench来代替拖拽波形。其中还包括了我们硬件仿真与matlab仿真的联调建立(将matlab产生的数据读入,或者将模块的输出写入到文本,供matlab调用检测)。对于testbench的编写的几点总结:1.利用`timescale设置仿真时间单位和时间精度。格式:`timescale时间单位/时间精度2.用localparam、parameter来定义测试模块中需要定义的常数。定义常数往往是为了使测试代码可复用,如N点的FFT可将N常数化,这样不同的N则可用相同的代码来测试。3.读取由matl 阅读全文

posted @ 2014-03-04 20:43 略过天涯 阅读(1780) 评论(0) 推荐(1)

导航