第4章 Verilog HDL设计初步

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
注意: (1)不要用数字或中文做模块名 (2)不要用库中定义好的关键词做模块名,如or2、latch等 (3)verilog中所有关键词都要小写!
4.1 组合电路的Verilog HDL描述
4.1.1 4选1多路选择器及其Verilog HDL描述1 相关语法: 3.reg型变量定义
reg 变量名1,变量名2,…….; reg [msb:lsb] 变量名1,变量名2,…….;
4-10 分频方法有多种,最简单的是二分频和偶数分频甚至奇数分频,这 用触发器或指定计数模的计数器即可办到。但对于现场实现指定分频比 或小数分频率的分频电路的设计就不是很简单了。 试对习题4-9的设计稍作修改,将其进位输出COUT与异步加载控制 LOAD连在一起,构成一个自动加载型16位二进制数计数器,也即一个 16位可控的分频器,给出其Verilog表述,并说明工作原理。设输入频率 fi=4MHz,输出频率fo=516.5±1Hz(允许误差±0.1Hz), 16位加载数值=?。
4.1 组合电路的Verilog HDL描述
4.1.2 4选1多路选择器及其Verilog HDL描述2
4.1 组合电路的Verilog HDL描述
4.1.2 4选1多路选择器及其Verilog HDL描述2
相关语法:
1.按位逻辑操作符 下 表 中 假 设 : A=1’b0; E[5:0]=6’b010110; B=1’b1; C[3:0]=4’b1100; D[3:0]=4’b1011;
相关语法:
1.if_else条件语句
if (S) Y = A; else Y = B;
if (S) Y=A; else begin Y=B; Z=C; Q=1b0; end
4.1 组合电路的Verilog HDL描述
4.1.3 4选1多路选择器及其Verilog HDL描述3
相关语法:
2.过程赋值语句 (1)阻塞式赋值。 “=”
注意verilog变量(或表达式)的4种逻辑状态取值: (1)0: 0 (2)1: 1 (3)z或Z: 高阻态 (4)x或X:不确定状态
4.1 组合电路的Verilog HDL描述
4.1.1 4选1多路选择器及其Verilog HDL描述1 相关语法: 7.并位操作和数字表达
{ } :并位运算符,可将2个或多个二进制位拼接起来, 作为一个信号使用。


4-7 给出1位全减器的VHDL描述。要求: (1)首先设计1位半减器,然后用例化语句将它们连接起来,图4-28中h_suber 是半减器,diff是输出差,s_out是借位输出,sub_in是借位输入。 (2)根据图4-28设计1位全减器。 (3)以1位全减器为基本硬件,构成串行借位的8位减法器,要求用例化语句来 完成此项设计。
4.1.1 4选1多路选择器及其Verilog HDL描述1 相关语法: 6.Case条件语句
case (表达式) 取值1 :begin 语句1;语句2;…;语句n; end 取值2 :begin 语句n+1;语句n+2;…;语句n+m; end default:begin 语句n+m+1;语句n+m+2;…; end endcase
过程语句
敏感信号
块语句
4.1 组合电路的Verilog HDL描述
4.1.1 4选1多路选择器及其Verilog HDL描述1 相关语法: 1.模块表达
module 模块名(端口表); 模块端口和模块功能描述 endmodule
注意: (1)不要用数字或中文做模块名 (2)不要用库中定义好的关键词做模块名,如or2、latch等 (3)verilog中所有关键词都要小写!
assign 目标变量名 = 驱动表达式;
assign DOUT = a & b;
•赋值被执行的条件是:等号 右边的某一变量发生了改变;
•并非连续不断地赋值。
assign DOUT = a & b | c ; assign DOUT = e & f | d ;
4.1 组合电路的Verilog HDL描述
4.1 组合电路的Verilog HDL描述
4.1.2 4选1多路选择器及其Verilog HDL描述2 相关语法: 2.等式操作符 下表中假设:A=4’b1011; B=4’b0010; C=4’b0z10; D=4’b0z10;
4.1 组合电路的Verilog HDL描述
4.1.2 4选1多路选择器及其Verilog HDL描述2 相关语法: 3.assign连续赋值语句
如: {S1,S0}
表示二进制数的一般格式: <位宽> „ <进制> 数字
如: 2‟b 11 3‟D7 8‟Hff 4‟bz
常用进制: B二进制,O八进制,H十六进制,D十进制 (以上不区分大小写)
4.1 组合电路的Verilog HDL描述
4.1.1 4选1多路选择器及其Verilog HDL描述1 相关语法: 8.规范程序书写格式 9.文件名
第4章 Verilog HDL设计初步
4.1 组合电路的Verilog HDL描述
4.1.1 4选1多路选择器及其Verilog HDL描述1
4.1.1 4选1多路选择器及其Verilog HDL描述1
模块名 程序结构4部分: 1、模块描述 2、端口说明 3、信号类型定 义段 4、功能描述段
端口表
4.2.4 含同步清0结构的D触发器及其Verilog描述
4.2 时序电路的Verilog HDL描述
4.2.4 含同步清0结构的D触发器及其Verilog描述
4.2 时序电路的Verilog HDL描述
4.2.5 含异步清0的锁存器及其Verilog描述
4.2 时序电路的Verilog HDL描述
使用条件操作符 “?” 、“:”
4.1 组合电路的Verilog HDL描述
4.1.5 简单加法器及其Verilog HDL描述
1. 半加器描述
4.1 组合电路的Verilog HDL描述
4.1.5 简单加法器及其Verilog HDL描述
1. 半加器描述
4.1 组合电路的Verilog HDL描述
wire Y = tmp1 ^ tmp2;
5.注释符号

“ // ”
“ /* ………. */ “
4.1 组合电路的Verilog HDL描述
4.1.3 4选1多路选择器及其Verilog HDL描述3
4.1 组合电路的Verilog HDL描述
4.1.3 4选1多路选择器及其Verilog HDL描述3
4.2.2 电平触发型锁存器及其Verilog描述
4.2 时序电路的Verilog HDL描述
4.2.3 含异步清0和时钟使能结构的D触发器及其Verilog描述
4.2 时序电路的Verilog HDL描述
4.2.3 含异步清0和时钟使能结构的D触发器及其Verilog描述
4.2 时序电路的Verilog HDL描述
4.3.1 4位二进制加法计数器及其Verilog描述
4.3.2 功能更全面的计数器设计
4.3 计数器的Verilog HDL设计
4.3.2 功能更全面的计数器设计
4.3 计数器的Verilog HDL设计
4.3.2 功能更全面的计数器设计


4-1 举例说明,Verilog HDL的操作符中,哪些操作符的运算结果总是一位的。 4-2 wire型变量与reg型变量有什么本质区别,它们可用于什么类型语句中?
4.1.5 简单加法器及其Verilog HDL描述
1. 半加器描述
4.1 组合电路的Verilog HDL描述
4.1.5 简单加法器及其Verilog HDL描述
1. 半加器描述
4.1 组合电路的Verilog HDL描述
4.1.5 简单加法器及其Verilog HDL描述
1. 半加器描述
相关语法:
4.1 组合电路的Verilog HDL描述
4.1.5 简单加法器及其Verilog HDL描述
1. 半加器描述
或门模块:
4.1 组合电路的Verilog HDL描述
2. 全加器顶层文件设计
4.1 组合电路的Verilog HDL描述
2. 全加器顶层文件设计 Verilog中元件例化语句的结构比较简单,一般格式如下:
4.1 组合电路的Verilog HDL描述
4.1.1 4选1多路选择器及其Verilog HDL描述1 相关语法: 2.端口语句、端口信号名和端口模式
Input 端口名1,端口名2,…….; output 端口名1,端口名2,…….; Inout 端口名1,端口名2,…….; Input [msb:lsb] 端口名1,端口名2,…….;
4.2.5 含异步清0的锁存器及其Verilog描述
4.2 时序电路的Verilog HDL描述
4.2.6 Verilog的时钟过程描述注意要点
4.2 时序电路的Verilog HDL描述
4.2.6 Verilog的时钟过程描述注意点
4.2 时序电路的Verilog HDL描述
4.2.7 异步时序电路
4.2 时序电路的Verilog HDL描述
4.2.7 异步时序电路
4.3 计数器的Verilog HDL设计
4.3.1 4位二进制加法计数器及其Verilog描述
4.3 计数器的Verilog HDL设计
4.3.1 4位二进制加法计数器及其Verilog描述
4.3 计数器的Verilog HDL设计
<模块元件名>: <例化元件名> ( .例化元件端口(例化元件外接端口 名),...);
端口名 关联法
位置关联法
4.1 组合电路的Verilog HDL描述
3. 8位加法器描述
4.1 组合电路的Verilog HDL描述
3. 8位加法器描述
RTL: Register Transport Level 寄存器传输级
4.1 组合电路的Verilog HDL描述
4.1.1 4选1多路选择器及其Verilog HDL描述1 相关语法: 4. 过程语句
always @ (敏感信号列表或表达式) 包括块语句的各类顺序语句
5. 块语句
可省略 begin [:块名] 语句1;语句2;语句3;………语句n; end
4.1 组合电路的Verilog HDL描述
4-8 给出一个4选1多路选择器的Verilog描述。此器件与图4-1类似,但选通控制 端有4个输入:S0、S1、S2、S3。当且仅当S0=0时:Y=A;S1=0时:Y=B; S2=0时:Y=C;S3=0时:Y=D。


4-9 把例4-21改成一异步清0,同步时钟使能和异步数据加载型8位二进 制加法计数器。图4-27 含2选1多路选择器的模块
(1)Verilog 程序文件扩展名必须是“.v” (2)文件名和程序的模块名一致 (3) 文件名大小写敏感
4.1 组合电路的Verilog HDL描述
4.1.1 4选1多路选择器及其Verilog HDL描述1
4.1 组合电路的Verilog HDL描述
4.1.1 4选1多路选择器及其Verilog HDL描述1
4-3 阻塞赋值和非阻塞赋值有何区别?
4-4 举例说明,为什么使用条件பைடு நூலகம்述不完整的条件句能导致产生时序模块的综合 结果?
4-5 用Verilog设计一个3-8译码器,要求分别用case语句和if_else语句。比较这 两种方式。
4-6 图4-27所示的是双2选1多路 选择器构成的电路MUXK。对于其 中MUX21A,当s=0和s=1时, 分别有y=a和y=b。试在一个模块 结构中用两个过程来表达此电路。
4.1.2 4选1多路选择器及其Verilog HDL描述2
相关语法:
4.wire定义网线型变量
wire 变量名1,变量名2,. . . ; wire [msb:lsb] 变量名1,变量名2,. . . ;
例: wire [7:0] a ;
wire tmp1,tmp2; assign Y = tmp1 ^ tmp2;
•执行完赋值语句后目标变量立即获得右 侧表达式的值 •其他语句被禁止执行------阻塞
(2)非阻塞式赋值。 •块语句执行结束时才整体完成赋值操作
•可理解为块中所有赋值语句并行运行 3.数据表示方式
4.1 组合电路的Verilog HDL描述
4.1.4 4选1多路选择器及其Verilog HDL描述4
4.2 时序电路的Verilog HDL描述
4.2.1 边沿触发型D触发器及其Verilog描述
4.2 时序电路的Verilog HDL描述
4.2.1 边沿触发型D触发器及其Verilog描述
4.2 时序电路的Verilog HDL描述
4.2.2 电平触发型锁存器及其Verilog描述
4.2 时序电路的Verilog HDL描述
相关文档
最新文档