verilog笔记-- 结构说明语句、$display语句注意项

1.initial语句
一个模块中可以存在多个initial语句,每个语句只能执行一次,都是并行运行的。initial语句常用于测试文件和虚拟模块的编写,用来产生仿真测试信号和设置信号记录等环境。
用initial语句对变量进行初始化的过程不需要任何仿真时间,即在0ns时间内就可完成初始化工作。

2.always语句
always #half_period areg = ~areg;
生成了一个周期为2HP的无限延续的信号波形,模拟时钟信号。
一个模块中可以有多个always块,都是i并行运行的。如果这些always块是可以综合的,则表示的是某种结构;如果不可以综合,则表示电路结构的行为。
always块的触发方式:OR事件控制、电平控制

//电平敏感时序控制
always
	wit(count_enable)
	#20 count = count+1;

2.task和function语句
这两个语句分别用来定义任务和函数,区别是:
函数只能与主模块共用一个仿真时间单位,而任务可以定义自己的仿真时间单位;
函数不能启动任务,而任务能启动其他任务和函数;
函数至少要有一个输入变量,而任务看有没有或有多个变量;
函数返回一个值,任务可以不返回值。

引用距离:

//任务
switch_bytes(old_word,new_word);
//函数
new_word = switch_byte(old_word);

3.$display语句
当输出列表中表达式的值包含不确定的值或高阻值,其结果输出遵循以下原则:
①表达式值的所有位均为不定值,则输出结果为小写的x;
②表达式值的所有位均为高阻态,则输出结果为小写的z;
③表达式值的部分位为不定值,则输出结果为大写的X;
④表达式值的部分位为高阻态,则输出结果为大写的Z;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值