标签:
摘要: 5.4 结构化建模具体实例对一个数字系统的设计,我们采用的是自顶向下的设计方式。可把系统划分成几个功能模块,每个功能模块再划分成下一层的子模块。每个模块的设计对应一个module ,一个module 设计成一个verilog HDL 程序文件。因此,对一个系统的顶层模块,我们采用结构化的设计,即顶层模块分别调用了各个功能模块。下面以一个实例(一个频率计数器系统)说明如何用HDL进行系统 设计。在该
5.4 结构化建模具体实例
对一个数字系统的设计,我们采用的是自顶向下的设计方式。可把系统划分成几个功能模
块,每个功能模块再划分成下一层的子模块。每个模块的设计对应一个module ,一个module 设计
成一个verilog HDL 程序文件。因此,对一个系统的顶层模块,我们采用结构化的设计,即顶层模
块分别调用了各个功能模块。下面以一个实例(一个频率计数器系统)说明如何用HDL进行系统
设计。
在该系统中,我们划分成如下三个部分:2输入与门模块,LED显示模块,4位计数器模块。系
统的层次描述如下:
TOP CNT_BCD (CNT_BCD.v)
Sub AND2 CNT_4b HEX2LED
(AND2.v) (CNT_4b.v) (HEX2LED.v)
图9 系统层次描述
顶层模块CNT_BCD,文件名CNT_BCD.v,该模块调用了低层模块 AND2、CNT_4b 和
HEX2LED 。
系统的电路结构图如下:
图10 系统电路框图
2004-08-16 第31页,共41页
版权所有,侵权必究
绝密
Verilog HDL 入门教程请输入文档编号
顶层模块CNT_BCD对应的设计文件 CNT_BCD.v 内容为:
module CNT_BCD (BCD_A,BCD_B,BCD_C,BCD_D,CLK,GATE,RESET) ;
// ------------ Port declarations --------- //
input CLK;
input GATE;
input RESET;
output [3:0] BCD_A;
output [3:0] BCD_B;
output [3:0] BCD_C;
output [3:0] BCD_D;
wire CLK;
wire GATE;
wire RESET;
wire [3:0] BCD_A;
wire [3:0] BCD_B;
wire [3:0] BCD_C;
wire [3:0] BCD_D;
// ----------- Signal declarations -------- //
wire NET104;
wire NET116;
wire NET124;
wire NET132;
wire NET80;
wire NET92;
// -------- Component instantiations -------//
CNT_4b U0(
.CLK(CLK),
.ENABLE(GATE),
.FULL(NET80),
.Q(BCD_A),
.RESET(RESET)
);
CNT_4b U1(
.CLK(CLK),
.ENABLE(NET116),
2004-08-16 第32页,共41页
版权所有,侵权必究
绝密
Verilog HDL 入门教程请输入文档编号
.FULL(NET92),
.Q(BCD_B),
.RESET(RESET)
);
CNT_4b U2(
.CLK(CLK),
.ENABLE(NET124),
.FULL(NET104),
.Q(BCD_C),
.RESET(RESET)
);
CNT_4b U3(
.CLK(CLK),
.ENABLE(NET132),
.Q(BCD_D),
.RESET(RESET)
);
AND2 U4(
.A0(NET80),
.A1(GATE),
.Y(NET116)
);
AND2 U5(
.A0(NET92),
.A1(NET116),
.Y(NET124)
);
AND2 U6(
.A0(NET104),
.A1(NET124),
.Y(NET132)
);
endmodule
2004-08-16 第33页,共41页
版权所有,侵权必究
绝密
Verilog HDL 入门教程请输入文档编号
注意:这里的AND2是为了举例说明,在实际设计中,对门级不要重新设计成一个模块,同时
对涉及保留字的(不管大小写)相类似的标识符最好不用。
下一篇:已经是最后一篇
型号 | 厂商 | 价格 |
---|---|---|
EPCOS | 爱普科斯 | / |
STM32F103RCT6 | ST | ¥461.23 |
STM32F103C8T6 | ST | ¥84 |
STM32F103VET6 | ST | ¥426.57 |
STM32F103RET6 | ST | ¥780.82 |
STM8S003F3P6 | ST | ¥10.62 |
STM32F103VCT6 | ST | ¥275.84 |
STM32F103CBT6 | ST | ¥130.66 |
STM32F030C8T6 | ST | ¥18.11 |
N76E003AT20 | NUVOTON | ¥9.67 |