eda设计仿真与硬件描述语言课件-6-时序逻辑描述与实现

eda设计仿真与硬件描述语言课件-6-时序逻辑描述与实现

ID:36325077

大小:1.60 MB

页数:93页

时间:2019-05-09

eda设计仿真与硬件描述语言课件-6-时序逻辑描述与实现_第1页
eda设计仿真与硬件描述语言课件-6-时序逻辑描述与实现_第2页
eda设计仿真与硬件描述语言课件-6-时序逻辑描述与实现_第3页
eda设计仿真与硬件描述语言课件-6-时序逻辑描述与实现_第4页
eda设计仿真与硬件描述语言课件-6-时序逻辑描述与实现_第5页
资源描述:

《eda设计仿真与硬件描述语言课件-6-时序逻辑描述与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、EDA设计仿真与硬件描述语言张德学2010年6月1日前堂回顾基于FPGA开发的基本流程QuartusII工具流程基本概念(综合、管脚分配)开发板介绍Usb-blaster编程介绍实例演示//以组合逻辑为例,先将FPGA流程实验了一遍,随后的课程边学习边实验//实验情况?不动手===0实验室全天开放第五章时序逻辑描述与实现由基本门构建时序逻辑同步电路概念数字电路中基本部件描述举例演示1.由基本门构建时序逻辑组合电路定义?组合电路:电路的输出仅是当前输入的函数,与先前值无关。怎样与先前值有关?反馈最简单的方式:反馈!奇数个反相器连接,结果?偶数个反相器连接,结果?//Lab_i

2、nv_loop//简介脚本方式vsim–dosim.do奇数个反相器连接:震荡,可以作为频率源偶数个反相器连接:两个稳定状态时序电路Cross-coupled两个稳定状态(a)与(b)实际一样,仅画法不同两个稳定状态,但没有控制//需要仿真时赋初值SRLatchNOR门Cross-coupled//Lab_SR_Latch缺点:R=1,S=1时表现怪异DLatchSRLatch基础上改进,避免R、S同时为1Lab_D_Latch//层次化设计Latch缺点在CLK=1的时间内,D的变化均会传递到Q实际更需要的是CLK由01或者10的边沿触发DQ,即触发器Flip-fl

3、opLatch是level-sensitive,Flip-flop是edge-triggeredDFlip-Flop(DFF)可由两个DLatch构成DFF//Lab_D_FF//有更简单的写法,此处只是演示原理DFF仅在时钟上升沿时将DQEnabledDFF(带使能功能)稍加改造DFF;a、b两种方式实现带reset的DFFLatch与FF比较2.同步电路概念同步电路vs异步电路?系统中若存在多个DFF,采用的时钟是同一个?synchronoussequentialcircuit电路的每一条路径中至少包含一个register所有register由同一时钟源驱动//准确的

4、说法:各个register的时钟间有固定的相位关系同步电路较异步电路容易设计,因而大部分采用同步电路//why?通信电路中,有时必须采用异步电路(不同的信号源)3.数字电路中基本部件描述举例复杂电路均建立在简单电路基础上基本电路的描述方法ClockedDlatch上图电路如何用verilog表达?//多种描述方法modulelatch(d,c,q,q_b);//门级表达inputd;inputc;outputq;outputq_b;wire_r;wire_s;and#1g1(_s,d,c);and#1g2(_r,~d,c);nor#2g3(q_b,_s,q);nor#2g4

5、(q,q_b,_r);endmodulemodulelatch(d,c,q,q_b);//连续赋值表达inputd;inputc;outputq;outputq_b;assign#3q=c?d:q;assignq_b=~q;endmodulemodulelatch(d,c,q,q_b);//过程赋值表达inputd;inputc;outputq;outputq_b;regq;regq_b;always@(cord)beginif(c)begin#4q=d;q_b=~d;endendendmoduleDLatch演示//Lab4注意时延设置,可以自己修改,看看结果补充:阻塞赋

6、值与非阻塞赋值DLatch与DFF更常用非阻塞(zuse,新华字典)赋值来表达前面课程中介绍过程块(initial,always)时,未涉及到时序电路,未介绍非阻塞赋值!//从仿真器工作原理开始,可选讲解仿真器工作原理intitial执行一次always循环执行(只要满足触发条件)alwaysa=b;如何执行?各block的执行是concurrent,执行顺序不确定begin……end中的阻塞赋值按顺序执行,非阻塞赋值在当前时间槽事件队列结束时同时执行fork……join中语句并行执行alwaysa=b;仿真器时间不能前进!Proceduralassignments在过程块

7、中的赋值(对比:连续赋值?)RHSLHS//RightHandSideLeftHandSideLHS不能是Net类型always@(posedgeclk)begina=5;c=d;end阻塞赋值BlockingAssignmentsDelayedBlockingassignmentsa得到的是b(t+1)的值!BlockingIntra-procedural delayedassignment等价:tmp=b;#1;a=tmp;BlockingIntra-procedural delayedassignment

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。