VerilogHDL语法疑问

[复制链接]
 楼主| sukejia 发表于 2008-6-22 20:25 | 显示全部楼层 |阅读模式
always&nbsp;@(posedge&nbsp;clk&nbsp;or&nbsp;negedge&nbsp;rst)<br />begin<br /><br />if(!rst)<br />&nbsp;&nbsp;clk_div&lt=0;<br />else<br />&nbsp;&nbsp;clk_div&lt=clk_div+1;<br />end<br /><br />可在电路上rst是接在VCC上的,按道理else是永远不会执行的??<br />我想知道为什么这么写啊??求高手帮我解释一下,非常感谢
crtled 发表于 2008-6-23 10:26 | 显示全部楼层

低电平复位,rst肯定接有按键

低电平复位,rst肯定接有按键
 楼主| sukejia 发表于 2008-6-24 11:14 | 显示全部楼层

谢谢你

是接按键了那在不按按键的时候着段程序就是不工作了是吧?<br /><br />可是如果我去掉着<br />if(!rst)<br />&nbsp;&nbsp;clk_div&lt=0;<br />段程序后,变成<br />always&nbsp;@(posedge&nbsp;clk&nbsp;or&nbsp;negedge&nbsp;rst)<br />begin<br />&nbsp;&nbsp;clk_div&lt=clk_div+1;<br />end<br />程序再运行就和以前不一样啦,着是为什么??<br />
dzcn_hh 发表于 2008-6-26 09:53 | 显示全部楼层

always语句是无限循环语句

你这样写,只要posedge&nbsp;clk&nbsp;or&nbsp;negedge&nbsp;rst这个条件符合,他就一直会执行clk_div&lt=clk_div+1;生成锁存器了
zhqinglong 发表于 2008-6-26 22:30 | 显示全部楼层

不知理解的对不对

rst接VCC,没有按键时(常态)为高(1),恰恰是在执行else语句!<br />if(!rst)&nbsp;//意为如果rst=0
jackychao 发表于 2008-8-23 22:53 | 显示全部楼层

jacky

顶5楼,一直在执行ELSE语句
shyfish 发表于 2008-8-29 15:48 | 显示全部楼层

......

如果没有if(!rst)你的初始化赋值在什么地方啊?<br />也就是你的clk_div为任意值?<br />if会发生上电复位时执行
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

30

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部