EDA设计仿真与硬件描述语言时序逻辑描述与实现.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《EDA设计仿真与硬件描述语言时序逻辑描述与实现.pptx》由会员分享,可在线阅读,更多相关《EDA设计仿真与硬件描述语言时序逻辑描述与实现.pptx(93页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、前堂回顾基于FPGA开发的基本流程QuartusII工具流程基本概念(综合、管脚分配)开发板介绍Usb-blaster编程介绍实例演示/以组合逻辑为例,先将FPGA流程实验了一遍,随后的课程边学习边实验/实验情况?不动手=0实验室全天开放第1页/共93页第五章 时序逻辑描述与实现 1.由基本门构建时序逻辑2.同步电路概念3.数字电路中基本部件描述举例4.演示第2页/共93页1.由基本门构建时序逻辑组合电路定义?第3页/共93页组合电路:电路的输出仅是当前输入的函数,与先前值无关。怎样与先前值有关?第4页/共93页反馈最简单的方式:反馈!奇数个反相器连接,结果?偶数个反相器连接,结果?/Lab_
2、inv_loop/简介脚本方式 vsim do sim.do第5页/共93页奇数个反相器连接:震荡,可以作为频率源偶数个反相器连接:两个稳定状态第6页/共93页时序电路Cross-coupled 两个稳定状态(a)与(b)实际一样,仅画法不同第7页/共93页两个稳定状态,但没有控制/需要仿真时赋初值第8页/共93页SR LatchNOR门 Cross-coupled/Lab_SR_Latch第9页/共93页第10页/共93页第11页/共93页缺点:R=1,S=1时表现怪异第12页/共93页D LatchSR Latch基础上改进,避免R、S同时为1Lab_D_Latch/层次化设计第13页/共
3、93页Latch缺点在CLK=1的时间内,D的变化均会传递到Q实际更需要的是CLK由01或者10的边沿触发DQ,即触发器Flip-flopLatch是level-sensitive,Flip-flop是edge-triggered第14页/共93页D Flip-Flop(DFF)可由两个D Latch构成DFF/Lab_D_FF/有更简单的写法,此处只是演示原理第15页/共93页DFF仅在时钟上升沿时将DQ第16页/共93页Enabled DFF(带使能功能)稍加改造DFF;a、b两种方式实现第17页/共93页带reset的DFF第18页/共93页Latch 与 FF比较第19页/共93页2.
4、同步电路概念同步电路 vs 异步电路?系统中若存在多个DFF,采用的时钟是同一个?第20页/共93页synchronous sequential circuit电路的每一条路径中至少包含一个register 所有register由同一时钟源驱动/准确的说法:各个register的时钟间有固定的相位关系第21页/共93页同步电路较异步电路容易设计,因而大部分采用同步电路/why?通信电路中,有时必须采用异步电路(不同的信号源)第22页/共93页3.数字电路中基本部件描述举例复杂电路均建立在简单电路基础上基本电路的描述方法第23页/共93页Clocked D latch上图电路如何用verilog
5、表达?/多种描述方法第24页/共93页module latch(d,c,q,q_b);/门级表达input d;input c;output q;output q_b;wire _r;wire _s;and#1 g1(_s,d,c);and#1 g2(_r,d,c);nor#2 g3(q_b,_s,q);nor#2 g4(q,q_b,_r);endmodule第25页/共93页module latch(d,c,q,q_b);/连续赋值表达input d;input c;output q;output q_b;assign#3 q=c?d:q;assign q_b=q;endmodule第26页
6、/共93页module latch(d,c,q,q_b);/过程赋值表达input d;input c;output q;output q_b;reg q;reg q_b;always(c or d)beginif(c)begin#4 q=d;q_b=d;endendendmodule第27页/共93页D Latch 演示/Lab4注意时延设置,可以自己修改,看看结果第28页/共93页补充:阻塞赋值与非阻塞赋值D Latch与 DFF更常用非阻塞(zu se,新华字典)赋值来表达前面课程中介绍 过程块(initial,always)时,未涉及到时序电路,未介绍非阻塞赋值!/从仿真器工作原理开始
7、,可选讲解第29页/共93页仿真器工作原理第30页/共93页intitial 执行一次always循环执行(只要满足触发条件)always a=b;如何执行?各block的执行是concurrent,执行顺序不确定beginend中的阻塞赋值按顺序执行,非阻塞赋值在当前时间槽事件队列结束时同时执行fork join中语句并行执行第31页/共93页always a=b;仿真器时间不能前进!第32页/共93页Procedural assignments在过程块中的赋值(对比:连续赋值?)RHSLHS/Right Hand Side Left Hand SideLHS不能是Net类型always(p
8、osedge clk)begina=5;c=d;end第33页/共93页阻塞赋值 Blocking Assignments第34页/共93页Delayed Blocking assignmentsa得到的是b(t+1)的值!第35页/共93页第36页/共93页Blocking Intra-proceduraldelayed assignment等价:tmp=b;#1;a=tmp;第37页/共93页Blocking Intra-proceduraldelayed assignment多条语句情况第38页/共93页问题:always(posedge clk)a=b;always(posedge c
9、lk)b=c;假设0时刻时b=3,c=5,第一个posedge clk 后,a=?第39页/共93页答案:不确定不同的仿真器可能给出不同的结果,取决于执行顺序第40页/共93页always(posedge clk)begina=b;b=a;end/a与b交换值了吗?第41页/共93页Non-blocking Assignments第42页/共93页不存在竞争问题!第43页/共93页是swap功能!第44页/共93页Delayed Non-blocking Assignments第45页/共93页Non-blocking Intra-procedural delayed Assignments第
10、46页/共93页Non-blocking Intra-proceduraldelayed Assignments第47页/共93页Mixed Blocking andNon-blocking第48页/共93页问题:define FALSE 0define TRUE 1reg a;initialbegina=FALSE;/#1 a=FALSE;/a=#1 FALSE;a=TRUE;if(a=TRUE)$display(True);else$display(False);end/Lab/Lab_tmp目录下第49页/共93页问题:X,Y=?initial begin x=0;y=0;end ini
11、tial begin#0 x=1;/zero delay control#0 y=1;end 第50页/共93页第51页/共93页仿真器工作原理介绍结束第52页/共93页如何描述下图电路?第53页/共93页方法1:多个always块中阻塞赋值always(posedge clk)Dout=Reg1 Dout;always(posedge clk)Reg1=Din Dout;第54页/共93页上述描述不正确!无论哪条always语句先执行,结果都是错的!无论哪条always语句先执行,都改变了reg1或dout的值,再执行另一个always语句时,其依赖的reg1或dout都不是前一个时钟的值,
12、而是更新后的值了!显然是错误的第55页/共93页方法2:单个always块中赋值reg temp;always(posedge clk)begintemp=Dout;Dout=Dout Reg1;Reg1=temp Din;end第56页/共93页上述描述是正确的!前提是:临时变量保存上一时钟的值,always块中的语句只能按上述顺序,否则也是错误第57页/共93页方法3:非阻塞赋值always(posedge clk)Dout=Dout Reg1;always(posedge clk)Reg1=Dout Din;第58页/共93页上述描述正确!非阻塞的含义:首先计算出全部的RHS当前值(当前
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 设计 仿真 硬件 描述 语言 时序 逻辑 实现
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内