金牌会员
 
- 积分
- 1627
- 金钱
- 1627
- 注册时间
- 2017-7-17
- 在线时间
- 320 小时
|
本帖最后由 candylife9 于 2019-9-9 09:52 编辑
不是你对alway理解有问题,是你用软件的思维去设计硬件。综合结果是没有问题的,硬件行为也是按照你描述的去做的。就这个例子来说,你硬件描述语言被综合之后,就会生成这个锁存器,而不是在运行的时候,或者说touch改变的时候才生产的,它就是个硬件电路,就一直在那里,但是这个电路的行为是在描述语言里面定义的,硬件是没有什么运行的概念的。你这里是描述了一个锁存器的功能,就是在touch有效的时候,取反led。硬件是一直有效的,而你是把verilog当成了软件,想成了他是一条一条执行的。------------我的想法是每次检测到电平变化,就检测一次电平信号是不是高电平,如果是高的话就改变led信号变化-------------,你这个想法,很明显就是软件思维,硬件的思维是:不管touch有没有变化,led都会有输出的(不管touch有没有变化,touch的电平都会对led状态有影响,而不是变的时候才检测一次)。
重点:1.你这个例子,begin--end里面的行为就是描述了一个带使能的反相器。(alway描述的就是使能端有效或无效)
2.你没有理解硬件描述语言。
3.verilog是硬件描述语言,它描述硬件的行为,是描述,描述,描述,而不是硬件需要执行的代码,代码,代码。
|
|