FPGA学习系列:5.阻塞赋值与非阻塞赋值.doc
《FPGA学习系列:5.阻塞赋值与非阻塞赋值.doc》由会员分享,可在线阅读,更多相关《FPGA学习系列:5.阻塞赋值与非阻塞赋值.doc(4页珍藏版)》请在三一文库上搜索。
1、FPGA学习系列:5.阻塞赋值与非阻塞赋值设计背景:阻塞(=)和非阻塞(设计原理:阻塞:在本语句中“右式计算”和“左式更新”完全完成之后,才开始执行下一条语句;非阻塞:当前语句的执行不会阻塞下一语句的执行。我们来看一下下面的阻塞的代码0modulestudy_4 (clk,rst_n,d,q);1 /输入输出端口2 inputclk;3 inputrst_n;4 input1:0d;5 outputreg1:0q;67 reg1:0q1;/定义一个寄存器89 always(posedgeclk)10 begin11 if(!rst_n) /复位时用阻塞给寄存器输出赋初值12 begin13 q
2、1 =0;14 q =0;15 end16 else /阻塞语句进行赋值17 begin18 q1 =d;19 q =q1;20 end21 end2223endmodulealways语句块对Clk的上升沿敏感,当发生Clk 01的跳变时,执行该always语句。在begin.end语句块中所有语句是顺序执行的,而且最关键的是,阻塞赋值是在本语句中“右式计算”和“左式更新”完全完成之后,才开始执行下一条语句的。在上面的代码中在18行当上升沿来到先执行把d的值给q1,然后下一个上升沿把q1赋值给q。我们的测试文件如下:0timescale1ns/1ps12moduletb;34 regclk;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPGA 学习 系列 阻塞 赋值
![提示](https://www.31doc.com/images/bang_tan.gif)
链接地址:https://www.31doc.com/p-3251735.html