第5章Verilog设计深入_第1页
第5章Verilog设计深入_第2页
第5章Verilog设计深入_第3页
第5章Verilog设计深入_第4页
第5章Verilog设计深入_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第5章章Verilog设计深入设计深入 杭州电子科技大学 EDA技术5.1 过程中的两类赋值语句过程中的两类赋值语句 5.1.1 阻塞式赋值阻塞式赋值 5.1.2 非阻塞式赋值非阻塞式赋值 杭州电子科技大学 EDA技术5.2 过程结构总结过程结构总结 1. 过程语句为一无限循环语句过程语句为一无限循环语句 2. 过程中的语句具有顺序和并行双重性过程中的语句具有顺序和并行双重性 3. 过程语句本身是并行语句过程语句本身是并行语句 4. 过程中只允许描述对应单一时钟的同步时序逻辑过程中只允许描述对应单一时钟的同步时序逻辑 5. 不完整条件语句与时序电路的关系不完整条件语句与时序电路的关系 杭州电

2、子科技大学 EDA技术电路活动的并发性n硬件电路的不同部分是同时工作的。在同一时刻,电路中不同位置的信号可能同时发生变化,这就是硬件电路的并发性(concurrents)。n因此assign语句是并行执行的。n在同步时序电路中,当一个时钟信号到来时,相连的所有触发器都会动作,要描述这一特性,必须使相应的赋值同时完成。n因此在用always过程块中来描述时序电路时,Verilog HDL就规定了非阻塞赋值语句的同时、并行性。杭州电子科技大学 EDA技术HDL描述中的并发性nalways过程的描述相当于一个进程。nassign语句可以等效描述为一个always过程块。 always (a,b,c)

3、 begin dout = a & b | c; endn显然一个模块描述中的多个assign语句或always过程都应是并行执行的。 n整个数字电路或系统可看成是一个相互间通信的并发进程的集合。assign dout = a & b | c ;杭州电子科技大学 EDA技术并发性与赋值操作:例nassign与非阻塞赋值的并行性assign Q1 = A | B;assign Q2 = B C;assign Q1 = C & A;过程描述always(A,B,C) begin Q1 = A | B; Q2 = B C; Q1 1, B = 0 1always(A,B,C)

4、 begin M1 = A ; M2 = B & M1; Q = M1 | M2; end非阻塞式赋值示例非阻塞式赋值示例always(A,B,C) begin M1 = A ; M2 = B & M1; Q = M1 | M2; end阻塞式赋值示例阻塞式赋值示例杭州电子科技大学 EDA技术阻塞 vs. 非阻塞赋值(2)module DFF3(CLK,D,Q); output Q; input CLK,D; reg a,b,Q; always (posedge clk) begin a = D; b = a; Q = b; endendmodule阻塞赋值示例阻塞赋值示例mo

5、dule DFF3(CLK,D,Q); output Q; input CLK,D; reg a,b,Q; always (posedge clk) begin a = D; Q = b; b = a; b = a; Q = b; a = D; endendmodule非阻塞赋值示例非阻塞赋值示例杭州电子科技大学 EDA技术阻塞 vs. 非阻塞赋值(3)n当一个always过程块中同时包含阻塞与非阻塞赋值语句时,非阻塞赋值会在阻塞语句都执行完毕后再一起执行。 n下列代码中b1较a1更早被赋值!always (*) begin if (in1=1) / 第第1行行 a1 =4B1010; / 第

6、第2行行 if(in2=0) / 第第15+n行行 b1 = 4B0011; / 第第30+m行行 end杭州电子科技大学 EDA技术5.1 过程中的两类赋值语句过程中的两类赋值语句 5.1.3 深入认识阻塞赋值和非阻塞式赋值的特点深入认识阻塞赋值和非阻塞式赋值的特点 杭州电子科技大学 EDA技术5.1 过程中的两类赋值语句过程中的两类赋值语句 5.1.3 深入认识阻塞赋值和非阻塞式赋值的特点深入认识阻塞赋值和非阻塞式赋值的特点 杭州电子科技大学 EDA技术阻塞 vs. 非阻塞赋值(5)n一般用阻塞赋值描述组合逻辑;非阻塞赋值描述同步时序逻辑中边沿敏感的操作。n由于阻塞赋值语句的书写顺序影响电

7、路综合结果,一般时序电路描述时不建议使用。n可以在一个always过程中对同一变量进行多次阻塞式赋值;但对同一变量的多次非阻塞式赋值,起作用的是最后一次。n只有当语句的执行次序不影响结果时,阻塞和非阻塞赋值才是等价的。n不要在一个always块中混合使用阻塞和非阻塞赋值。杭州电子科技大学 EDA技术完整完整 vs. 不完整条件语句不完整条件语句(1 1) 杭州电子科技大学 EDA技术完整完整 vs. 不完整条件语句不完整条件语句(2 2)杭州电子科技大学 EDA技术5.2杭州电子科技大学 EDA技术5.2杭州电子科技大学 EDA技术5.3 移位寄存器设计移位寄存器设计 5.3.1 含同步预置功

8、能的移位寄存器设计含同步预置功能的移位寄存器设计 杭州电子科技大学 EDA技术杭州电子科技大学 EDA技术20移位寄存器移位寄存器(1)(1) n可以用来寄存数据与代码,还可以用来实现数据的串行并行转换、数值的运算以及数据的处理。n是计算机的主要部件之一。是计算机的主要部件之一。n数据可以在时钟脉冲作用下一次逐位右移或左移。4.3 基本时序电路描述基本时序电路描述杭州电子科技大学 EDA技术杭州电子科技大学 EDA技术21移位寄存器移位寄存器(2)(2)n右移寄存器右移寄存器Q3 Q2 FF2DFF3DFF1DQ1R0FF0DQ0RiQ0Q1Q2Q3RD清清0 04.3 基本时序电路描述基本时

9、序电路描述杭州电子科技大学 EDA技术杭州电子科技大学 EDA技术22移位寄存器设计移位寄存器设计n含同步预置功能的移位寄存器含同步预置功能的移位寄存器 4.3 基本时序电路描述基本时序电路描述module SHFT1(CLK,LOAD,DIN,QB); /右移移位寄存器右移移位寄存器 output QB; input CLK,LOAD; input 7:0 DIN; reg 7:0 REG8; always (posedge CLK) begin if (LOAD) REG8 = DIN ; else REG86:0 n 与与 Vn 表示将变量表示将变量V中的数据右中的数据右/左移左移n 位

10、,移出的位用位,移出的位用0填补。填补。杭州电子科技大学 EDA技术5.3 移位寄存器设计移位寄存器设计 符号数的移位操作符:符号数的移位操作符: 杭州电子科技大学 EDA技术5.3 移位寄存器设计移位寄存器设计 5.3.3 使用移位操作符设计移位寄存器使用移位操作符设计移位寄存器 杭州电子科技大学 EDA技术5.4 乘法器设计及相关语句应用乘法器设计及相关语句应用 5.4.1 参数定义关键词参数定义关键词parameter杭州电子科技大学 EDA技术杭州电子科技大学 EDA技术29设计重用n通过parameter定义在设计时设置可变参数,可使所设计的电路模块成为可参数化的,不仅可提高代码的可

11、读性和可维护性,也便于设计重用。n设计的可重用性是提高设计效率、降低设计成本的手段,对实际工程设计有重要意义。n通常将数据位数、总线宽度等参数用parameter定义。杭州电子科技大学 EDA技术5.4 乘法器设计及相关语句应用乘法器设计及相关语句应用 5.4.2 整数型寄存器类型定义整数型寄存器类型定义 杭州电子科技大学 EDA技术5.4 乘法器设计及相关语句应用乘法器设计及相关语句应用 5.4.3 for语句用法语句用法 杭州电子科技大学 EDA技术5.4 乘法器设计及相关语句应用乘法器设计及相关语句应用 5.4.3 for语句用法语句用法 杭州电子科技大学 EDA技术5.4 乘法器设计及

12、相关语句应用乘法器设计及相关语句应用 5.4.4 repeat语句用法语句用法 杭州电子科技大学 EDA技术5.4 乘法器设计及相关语句应用乘法器设计及相关语句应用 5.4.5 while语句用法语句用法 杭州电子科技大学 EDA技术5.4 乘法器设计及相关语句应用乘法器设计及相关语句应用 5.4.5 while语句用法语句用法 杭州电子科技大学 EDA技术5.5 if语句一般用法语句一般用法 杭州电子科技大学 EDA技术5.5 if语句一般用法语句一般用法 杭州电子科技大学 EDA技术5.5 if语句一般用法语句一般用法 杭州电子科技大学 EDA技术5.5 if语句一般用法语句一般用法 杭州

13、电子科技大学 EDA技术5.5 if语句一般用法语句一般用法 杭州电子科技大学 EDA技术5.6 三态与双向端口设计三态与双向端口设计 5.6.1 三态控制电路设计三态控制电路设计 杭州电子科技大学 EDA技术5.6 三态与双向端口设计三态与双向端口设计 5.6.2 双向端口设计双向端口设计 杭州电子科技大学 EDA技术杭州电子科技大学 EDA技术43双向端口应用n双向端口一般用于总线接口器件双向端口一般用于总线接口器件 5.3 5.3 三态门与双向端口三态门与双向端口杭州电子科技大学 EDA技术5.6 三态与双向端口设计三态与双向端口设计 5.6.2 双向端口设计双向端口设计 杭州电子科技大

14、学 EDA技术5.6 三态与双向端口设计三态与双向端口设计 5.6.2 双向端口设计双向端口设计 杭州电子科技大学 EDA技术5.6.3 三态总线控制电路设计三态总线控制电路设计 杭州电子科技大学 EDA技术5.6 三态与双向端口设计三态与双向端口设计 5.6.3 三态总线控制电路设计三态总线控制电路设计 杭州电子科技大学 EDA技术5.6 三态与双向端口设计三态与双向端口设计 5.6.3 三态总线控制电路设计三态总线控制电路设计 杭州电子科技大学 EDA技术5.7 模可控计数器设计模可控计数器设计 5.7.1 同步加载模型设计同步加载模型设计 杭州电子科技大学 EDA技术5.7 模可控计数器

15、设计模可控计数器设计 5.7.1 同步加载模型设计同步加载模型设计 杭州电子科技大学 EDA技术5.7 模可控计数器设计模可控计数器设计 5.7.2 异步加载模型设计异步加载模型设计 杭州电子科技大学 EDA技术5.7 模可控计数器设计模可控计数器设计 5.7.2 异步加载模型设计异步加载模型设计 杭州电子科技大学 EDA技术5.7 模可控计数器设计模可控计数器设计 5.7.3 异步清异步清0加载模型设计加载模型设计 杭州电子科技大学 EDA技术5.7 模可控计数器设计模可控计数器设计 5.7.3 异步清异步清0加载模型设计加载模型设计 杭州电子科技大学 EDA技术5.7 模可控计数器设计模可

16、控计数器设计 5.7.4 同步清同步清0加载模型设计加载模型设计 杭州电子科技大学 EDA技术5.8 半整数与奇数分频电路设计半整数与奇数分频电路设计 杭州电子科技大学 EDA技术5.8 半整数与奇数分频电路设计半整数与奇数分频电路设计 杭州电子科技大学 EDA技术5.8 半整数与奇数分频电路设计半整数与奇数分频电路设计 杭州电子科技大学 EDA技术5.9 Verilog的描述风格的描述风格 5.9.1 RTL描述描述 5.9.2 行为描述行为描述 杭州电子科技大学 EDA技术5.9 Verilog的描述风格的描述风格 5.9.3 数据流描述数据流描述 5.9.4 结构描述结构描述 杭州电子科

17、技大学 EDA技术实验与设计实验与设计 5-1 半整数与奇数分频器设计半整数与奇数分频器设计 5-2 模可控计数器设计模可控计数器设计 杭州电子科技大学 EDA技术实验与设计实验与设计 5-3 VGA彩条信号显示控制电路设计彩条信号显示控制电路设计 杭州电子科技大学 EDA技术实验与设计实验与设计 5-3 VGA彩条信号显示控制电路设计彩条信号显示控制电路设计 杭州电子科技大学 EDA技术实验与设计实验与设计 5-3 VGA彩条信号显示控制电路设计彩条信号显示控制电路设计 杭州电子科技大学 EDA技术实验与设计实验与设计 5-3 VGA彩条信号显示控制电路设计彩条信号显示控制电路设计 接下页杭

18、州电子科技大学 EDA技术实验与设计实验与设计 5-3 VGA彩条信号显示控制电路设计彩条信号显示控制电路设计 接上页接下页杭州电子科技大学 EDA技术实验与设计实验与设计 5-3 VGA彩条信号显示控制电路设计彩条信号显示控制电路设计 接上页杭州电子科技大学 EDA技术实验与设计实验与设计 5-4 移位相加型移位相加型8位硬件乘法器设计位硬件乘法器设计 杭州电子科技大学 EDA技术实验与设计实验与设计 5-4 移位相加型移位相加型8位硬件乘法器设计位硬件乘法器设计 杭州电子科技大学 EDA技术实验与设计实验与设计 5-5 移位寄存器设计移位寄存器设计 5-6 串行静态显示控制电路设计串行静态显示控制电路设计 人有了知识,就会具备各种分析能力,人有了知识,就会具备各种分析能力,明辨是非的能力。明

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论