verilog | 四、数据流建模

-数据流建模:根据数据在寄存器之间的流动和处理过程对电路进行描述,而不是直接对电路的逻辑门进行实例引用。

-连续赋值语句:Verilog数据流建模的基本语句,用于对线网进行赋值。

驱动强度是可选项,默认值为strong1和strong0;

延迟值是可选项;

1、连续赋值语句左值必须是一个标量或是向量线网,或是两者拼接。

2、连续赋值语句总是处于激活状态。

3、操作数可以是标量、向量线网、寄存器、函数调用。

4、赋值延迟类似于门延迟,用于控制对线网赋予新值的时间。

e.g.:

 assign out = i1 & i2;

 assign addr[15:0] =  addr1_bits[15:0] ^ addr2_bits[15:0];

-隐式连续赋值:在线网声明的同时对其进行赋值。

-隐式线网声明:

1、如果一个信号名被用在连续赋值语句的左侧,那么Verilog编译器默认该信号是一个隐式声明的线网;

2、如果线网被连接到模块的端口上,则Verilog编译器认为隐式声明线网的宽度等于模块端口的宽度;

-延迟:用于控制任一操作数发生变化到语句左值被赋予新值的时间间隔。

-普通赋值延迟:在连续赋值的语句中说明延迟值,延迟值位于关键字assign之后。若在延迟时间范围内,即在左值获得新值之前,输入值发生变化,那么在计算表达式的新值时会取输入值的当前值,称为惯性延迟,即脉冲宽度小于赋值延迟的输入变化不会对输出产生影响。

 assign #10 out = in1 & iin2;

-隐式连续赋值延迟:

-线网声明延迟:在声明线网时指定一个延迟。

-表达式、操作符、操作数:

-表达式:操作符与操作数构成,同C;

-操作数:可以是常数、整数、实数、线网、寄存器、时间、位选、域选、存储器、函数调用。

-操作符:见下一篇中操作符

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值