Verilog HDL门级描述,数据流描述,行为描述及逻辑功能的仿真与测试

1.1门级描述和数据流描述
这两种描述的时候,使⽤默认的wire即可。 这两种描述⽅式,本质上都是直接使⽤逻辑门门级描述是显式地使⽤了门级原语数据流描述其实是隐式地使⽤门级原语,因为他是直接描述数据在寄存器直接的流动关系,本质上,还是在阐述逻辑门的使⽤。
门级描述与数据流描述,就好⽐结绳记事和使⽤符号记事的区别,⽤⼀连串的符号标志,代替了绳⼦,减少了许多⿇烦。

门级描述是以门级原语为基⽯的描述⽅式,必须使⽤线⽹类型

数据流描述是以连续赋值语句为基⽯的描述⽅式,其左值必须是线⽹类型,右值⽆要求。
以下是四选⼀数据选择器的端⼝声明,关注output out语句
module choose_4to1(
input d0,d1,d2,d3,
input add1,add0,output out // 注意输出端⼝的设定
);
endmodule
你需要记住Verilog描述形式
需要记住,门级描述的输出和数据流描述的连续赋值语句的左值,必须是线⽹类型,所以必须使⽤默认的输出端⼝。
1.2 行为描述
⾏为级描述,输出端⼝类型应该使⽤output reg OUT,使⽤reg类型。

因为过程赋值语句的左值必须是寄存器类型
ANSI C风格的描述如下

@资料库峯2000
input d0,d1,d2,d3,

input add1,add0,

output reg out // 注意输出端⼝的设定

);

endmodule
你也可以将输出端⼝初始化output reg out = 0
另外⼀种端⼝风格,但是不推荐
module choose_4to1(d0,d1,d2,d3,add1,add0,out);
input d0,d1,d2,d3;
input add1,add0;
// 以下两条语句才能将out声明为reg类型的输出端⼝
output out;
reg out;
endmodule
2.逻辑功能的仿真与测试
下面以ModelSim软件为例进行说明。
在对一个设计块进行仿真时,需要准备一个测试模块。由于测试模块的主要任务是给设计块提供激励信号,所以也称激励块。
激励块代码如下:
激励块代码
最终的仿真输出波形如下:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值