第6章VerilogHDL设计进阶

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第6章VerilogHDL设计进阶6.1过程结构中的赋值语句6.1.1过程中的阻塞式赋值目标变量名=驱动表达式;6.1.2过程中的非阻塞式赋值目标变量名=驱动表达式;6.1过程结构中的赋值语句6.1.3进一步了解阻塞和非阻塞式赋值的内在规律6.1过程结构中的赋值语句6.1.3进一步了解阻塞和非阻塞式赋值的内在规律6.1过程结构中的赋值语句6.1.3进一步了解阻塞和非阻塞式赋值的内在规律6.1过程结构中的赋值语句6.1.3进一步了解阻塞和非阻塞式赋值的内在规律6.1过程结构中的赋值语句6.1.3进一步了解阻塞和非阻塞式赋值的内在规律6.1过程结构中的赋值语句6.1.3进一步了解阻塞和非阻塞式赋值的内在规律6.1过程结构中的赋值语句化繁琐为简单(经验之谈):1,时序电路中都使用非阻塞性赋值!2,组合电路中都使用阻塞性赋值!6.2过程语句归纳1.always语句为一无限循环语句2.过程中的顺序语句具有明显的顺序和并行双重性3.过程语句本身是并行语句4.一个过程中只允许描述对应于一个时钟信号的同步时序逻辑5.注意不完整条件语句与时序电路的关系,如果设计的是组合电路,一定要保证条件完整。6.2过程语句归纳6.2过程语句归纳6.2过程语句归纳6.2过程语句归纳6.3移位寄存器之VerilogHDL设计6.3.1含同步并行预置功能的8位移位寄存器设计REG8[6:0]=REG8[7:1];6.3移位寄存器之VerilogHDL设计6.3.1含同步并行预置功能的8位移位寄存器设计(*synthesis,probe_port*)reg[7:0]REG8;(*synthesis,probe_port*)(*synthesis,probe_port,keep*)reg[7:0]REG8;6.3移位寄存器之VerilogHDL设计6.3.2移位模式可控的8位移位寄存器设计(接下页)6.3移位寄存器之VerilogHDL设计6.3.2移位模式可控的8位移位寄存器设计(接上页)6.3移位寄存器之VerilogHDL设计6.3.3使用移位操作符设计移位寄存器6.3移位寄存器之VerilogHDL设计6.3.3使用移位操作符设计移位寄存器6.3移位寄存器之VerilogHDL设计试比较以下左右两段语句的操作结果:6.3移位寄存器之VerilogHDL设计6.3.4使用循环语句设计乘法器1.参数定义关键词parameterparameter标识符名1=表达式或数值1,标识符名2=表达式或数值2,...;6.3移位寄存器之VerilogHDL设计6.3.4使用循环语句设计乘法器2.integer整数型寄存器类型定义integer标识符1,标识符2,...,标识符n[msb:lsb];6.3移位寄存器之VerilogHDL设计6.3.4使用循环语句设计乘法器3.for语句3个步骤:(1)本次循环开始前根据“循环初始值设置表达式”计算获得循环次数初始值。(2)在本次循环开始前根据“循环控制条件表达式”计算所得的数据判断是否满足继续循环的条件,如果“循环控制条件表达式”为真,则继续执行“循环体语句结构”中的语句,否则即刻跳出循环。(3)在本次循环结束时,根据“循环控制变量增值表达式”计算出循环控制变量的数值,然后跳到以上步骤(2)。6.3移位寄存器之VerilogHDL设计6.3.4使用循环语句设计乘法器6.3移位寄存器之VerilogHDL设计6.3.4使用循环语句设计乘法器5.while语句4.repeat语句6.3移位寄存器之VerilogHDL设计6.3.4使用循环语句设计乘法器5.while语句图6-134位乘法器RTL电路图6.3移位寄存器之VerilogHDL设计6.3.4使用循环语句设计乘法器6.循环语句使用注意事项循环语句的使用中,需要特别注意的是,不要把它们混同于普通软件描述语言中的循环语句。作为硬件描述语言的循环语句,每多一次循环就要多加一个相应功能的硬件模块。因此,循环语句的使用要时刻关注逻辑资源的耗用量和利用率、可用资源的大小,和性能与硬件成本比。在软件语言中,只要时间允许,无论循环多少次都不会额外增加任何资源和成本。此外,与软件语言编程不同,基于硬件语言的程序优劣的标准不是程序的规整,整洁,短小精干或各类运算符号和函数的熟练应用等,而是高性能、高速度和高资源利用率,它们与程序的表达形式几乎没有关系。6.4if语句概述if语句的结构大致可归纳成以下3种:6.4if语句概述6.4if语句概述6.4if语句概述6.4if语句概述6.5双向和三态电路设计6.5.1三态控制电路设计6.5双向和三态电路设计6.5.2双向端口设计6.5双向和三态电路设计6.5.2双向端口设计6.5双向和三态电路设计6.5.2双向端口设计6.5.3三态总线电路设计6.5双向和三态电路设计6.5.3三态总线电路设计6.5双向和三态电路设计6.5.3三态总线电路设计6.6不同类型的数控分频电路设计6.6.1同步加载分频电路设计6.6不同类型的数控分频电路设计6.6.1同步加载分频电路设计6.6不同类型的数控分频电路设计6.6.1同步加载分频电路设计6.6不同类型的数控分频电路设计6.6.2异步加载分频电路设计6.6不同类型的数控分频电路设计6.6.2异步加载分频电路设计6.6不同类型的数控分频电路设计6.6.3异步清0分频电路设计6.6不同类型的数控分频电路设计6.6.3异步清0分频电路设计6.6不同类型的数控分频电路设计6.6.4同步清0分频电路设计【例6-37】程序其余部分同例6-36always@(posedgeCLK)begin6.7半整数与奇数分频电路设计6.8VerilogHDL的RTL表述6.8.1行为描述moduleBehaviorCode(a,b,c,d);input[31:0]a,b,c;output[31:0]d;assign#20d=a+b+c;endmodule•仅仅描述了所希望的功能或行为,但没有具体指明实现这些功能的硬件结构;•可以仿真,但不一定可以综合;•一般用于系统级设计,或在功能测试中作为测试模块使用;•存在将行为级描述转化为RTL级描述的高位综合器,但须按一定规则编写代码。6.8VerilogHDL的RTL表述6.8.2RTL描述(RegisterTransferLevel)6.8.3结构描述moduleRTLCode(clk,a,b,c,d);inputclk;//100MHzinput[31:0]a,b,c;output[31:0]d;reg[31:0]sum2,c_reg,d;always@(posedgeclk)beginsum2=a+b;c_reg=c;d=sum2+c_reg;endendmodule•具体指明了硬件结构,能反映寄存器间的数据传递;•寄存器个数能够明确;•可以仿真,也可以综合。•使用模块实例化反映硬件结构,往往包含在RTL描述之中;习题6-1在Verilog设计中,给时序电路清零(复位)有两种不同方法,它们是什么,如何实现?6-2哪一种复位方法必须将复位信号放在敏感信号表中?给出这两种电路的Verilog描述。6-3用不同循环语句分别设计一个逻辑电路模块,用以统计一8位二进制数中含1的数量。6-4用循环语句设计一个7人投票表决器。6-5设计一个4位4输入最大数值检测电路。6-6从不完整的条件语句产生时序模块的原理看,例6-9和例6-10从表面上看都包含不完整条件语句,试说明,为什么例6-9的综合结果含锁存器,二例6-10却没有。6-7设计一个求补码的程序,输入数据是一个有符号的8位二进制数。6-8设计一个比较电路,当输入的8421BCD码大于5时输出1,否则输出0。6-9用原理图或Verilog输入方式分别设计一个周期性产生二进制序列01001011001的序列发生器,用移位寄存器或用同步时序电路实现,并用时序仿真器验证其功能。6-10基于原理图输入方式,用74194、74273、D触发器等器件组成8位串入并出的转换电路,要求在转换过程中数据不变,只有当8位一组数据全部转换结束后,输出才变化一次。实验与设计6-1半整数与奇数分频器设计(1)实验目的:学习利用Verilog完成实用程序的设计。(2)实验内容1:(3)实验内容2:(4)实验内容3:(5)实验内容4:实验与设计6-2数控分频器设计(1)实验目的:(2)实验内容1:(3)实验内容2:(4)实验内容3:(5)实验内容4:(6)实验内容5:实验与设计6-3VGA彩条信号显示控制电路设计(1)实验目的:(2)实验原理:实验与设计6-3VGA彩条信号显示控制电路设计(1)实验目的:(2)实验原理:实验与设计实验与设计6-3VGA彩条信号显示控制电路设计(1)实验目的:(2)实验原理:实验与设计6-3VGA彩条信号显示控制电路设计(1)实验目的:(2)实验原理:实验与设计6-3VGA彩条信号显示控制电路设计(1)实验目的:(2)实验原理:(3)实验内容1:(4)实验内容2:(5)实验内容3:(6)实验内容4:实验与设计6-4基于时序电路的移位相加型8位硬件乘法器设计(1)实验原理:(2)实验任务1:(3)实验任务2:(4)实验任务3:演示示例:/KX_7C5EE+/EXPERIMENTs/EXP32_MULTI8X8/MLTL8X8。实验与设计6-4基于时序电路的移位相加型8位硬件乘法器设计实验与设计6-7并/串转换扩展输入口电路设计实验任务:仅使用FPGA的2到3个I/O口,通过数个74LS165或4021扩展输入口。

1 / 63
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功