Veriog 学习小白笔记(二)

verilog HDL初学小白笔记

书目:verilog HDL 数字设计与综合第二版 夏宇闻

第四章

一、模块
1、模块有五个部分组成:变量声明、数据流语句、低层模块实例、行为语句块、任务与函数
2、数据流语句:assign 行为语句块:initial
3.除module endmodule以及模块名必须有、其余组成部分可选择使用

二、端口
1、输入端口input、输出端口output、输入输出双向端口inout
2、所有端口隐含声明为wire类型,如果需要输出类型的端口保存数值,则必须显式地声明为reg类型
3、input与inout不能声明为reg

三、端口连接规则(模块调用)
1、从模块内部看,输入端口必须为线网数据类型;从模块外部看,输入端口可以使连接到线网或reg数据类型的变量
2、从模块外部看,输入端口必须为线网数据类型;从模块内部看,输入端口可以使连接到线网或reg数据类型的变量
3、从模块内部看,输入输出端口必须为线网数据类型;从模块外部看,输入输出端口可以使连接到线网类型的变量
4、在进行模块调用时注意位宽匹配
5、可以在调用时不连接一些端口,如:D_FF dff0(clk,q)

四、端口与外部信号的连接
1、顺序端口连接
2、命名端口连接

第五章

一、门的类型
1、与门和或门 and or xor nand nor xnor,使用时可不给实例命名,端口第一个必定是输出
2、与门和或门引用 例:and a1(out,in1,In2)
3、缓冲器与非门 buf not 只能有一个输入端口,为实例端口列表最后一个
4、缓冲器与非门调用 buf b1(out1,in) buf b1_2out(out1,out2,in);也可不加实例名
5、三态门:bufif0,bufif1,notif0,notif1,例:bufif1 b1(out,in,ctrl)
6、实例数组:wire [7:0] out,in1,in2;]nand n_gate7:0相当于创建了八个与非门

二、门延迟
1、上升下降与关断延迟
2、上升延迟:门的输入发生变化,从0,x,z变化到1所需要的时间
3、下降延时:门的输出从1,x,z变化为0所需时间
4、关断延迟为输出0,1,x变为z所需时间
5、如果值变化到x,则所需时间为以上延迟中最小的那个
6、and #(delay_time)a1(out,i1,i2) 以上三中延迟均为delay_time
7、and #(rise_val,fall_val)a1(out,i1,i2) 描述了上升延迟和下降延迟,关断延迟为二者中较小那个
8、and #(rise_val,fall_val,turnoff_val)a1(out,i1,i2)描述了三种延迟
9、最小、典型、最大延迟
10、最小值:设计者预期逻辑门所具有的最小延迟
11、典型值:设计者预期逻辑门所具有的典型延迟
12、最大值:设计者预期逻辑门所具有的最大延迟

猜你喜欢

转载自blog.csdn.net/weixin_41466479/article/details/82939671