eda技术与应用课件-6-时序逻辑描述与实现

eda技术与应用课件-6-时序逻辑描述与实现

ID:33586315

大小:704.71 KB

页数:99页

时间:2019-02-27

eda技术与应用课件-6-时序逻辑描述与实现_第1页
eda技术与应用课件-6-时序逻辑描述与实现_第2页
eda技术与应用课件-6-时序逻辑描述与实现_第3页
eda技术与应用课件-6-时序逻辑描述与实现_第4页
eda技术与应用课件-6-时序逻辑描述与实现_第5页
资源描述:

《eda技术与应用课件-6-时序逻辑描述与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、EDA设计仿真与硬件描述语言前堂回顾•基于FPGA开发的基本流程•QuartusII工具流程基本概念(综合、管脚分配)•开发板介绍•usb-blaster编程介绍•实例演示//以组合逻辑为例,先将FPGA流程实验了一遍,随后的课程边学习边实验//实验情况?不动手===0实验室全天开放verilog代码与C程序区别?•verilog程序?•wiki:Acomputerprogram,orjustaprogram,isasequenceofinstructions,writtentoperformaspecifiedtaskwithaco

2、mputer.•C程序编译为二进制代码存放在存储器中处理器读取,并按指令含义动作//执行过程中,硬件不变•verilog代码综合为ASIC门级网表或FPGA配置数据流配置FPGA中的可编程部件(LUT、Reg)配置后的FPGA实现了电路功能,是硬件实现第五章时序逻辑描述与实现1.由基本门构建时序逻辑2.同步电路概念3.数字电路中基本部件描述举例4.演示1.由基本门构建时序逻辑•组合电路定义?•组合电路:电路的输出仅是当前输入的函数,与先前值无关。•怎样与先前值有关?反馈•最简单的方式:反馈!•奇数个反相器连接,结果?•偶数

3、个反相器连接,结果?//Lab_inv_loop//简介脚本方式vsim-dosim.do•奇数个反相器连接:震荡,可以作为频率源•偶数个反相器连接:两个稳定状态时序电路•Cross-coupled•两个稳定状态•(a)与(b)实际一样,仅画法不同•两个稳定状态,但没有控制//需要仿真时赋初值SRLatch•NOR门Cross-coupled//Lab_SR_Latch•缺点:R=1,S=1时表现怪异DLatch•SRLatch基础上改进,避免R、S同时为1•Lab_D_Latch//层次化设计Latch缺点•在CLK=1的时间内,D

4、的变化均会传递到Q•实际更需要的是CLK由01或者10的边沿触发DQ,即触发器Flip-flop•Latch是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,采用的时钟是同一个?s

5、ynchronoussequentialcircuit•电路的每一条路径中至少包含一个register•所有register由同一时钟源驱动//准确的说法:各个register的时钟间有固定的相位关系•同步电路较异步电路容易设计,因而大部分采用同步电路//why?•通信电路中,有时必须采用异步电路(不同的信号源)3.数字电路中基本部件描述举例•复杂电路均建立在简单电路基础上•基本电路的描述方法ClockedDlatch上图电路如何用verilog表达?//多种描述方法modulelatch(d,c,q,q_b);//门级表达input

6、d;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(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;outpu

7、tq;outputq_b;regq;regq_b;always@(cord)beginif(c)begin#4q=d;q_b=~d;endendendmoduleDLatch演示//Lab4注意时延设置,可以自己修改,看看结果补充:阻塞赋值与非阻塞赋值•DLatch与DFF更常用非阻塞(zuse,新华字典)赋值来表达•前面课程中介绍过程块(initial,always)时,未涉及到时序电路,未介绍非阻塞赋值!//从仿真器工作原理开始,可选讲解仿真器工作原理•intitial执行一次•always循环执行(只要满足触发条件)always

8、a=b;如何执行?•各block的执行是concurrent,执行顺序不确定•begin……end中的阻塞赋值按顺序执行,非阻塞赋值在当前时间槽事件队列结束时同时执行•fork……join中语句并行执行•alwaysa=

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

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

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