verilog中,对1位reg型变量赋值是否有必要用if语句判断其当前值

对一个1位的reg型变量a,如果a的值为0则将它赋为1,如果它本身就是1则保持不变,也就是说在不知道a当前值的情况下要使它为1。那么有没有必要写成:if(a==1'b0)... 对一个1位的reg型变量a,如果a的值为0则将它赋为1,如果它本身就是1则保持不变,也就是说在不知道a当前值的情况下要使它为1。那么有没有必要写成:
if(a==1'b0) a<=1'b1; else a<=a;
还是直接写 a<=1'b1 更节省硬件资源?
展开
 我来答
本兰肥冬
2019-05-23 · TA获得超过3.7万个赞
知道小有建树答主
回答量:1.3万
采纳率:30%
帮助的人:628万
展开全部
直接写a
<=
1'b1就可以了(如果你是想让a一直有个确定的值1),如果你写成if(a==1'b0)
a<=1'b1;
else
a<=a;那么要注意当a=x的时候a是会保持x值(顺便解释下信号有四值逻辑(0,1,x,z),8种驱动强度)。节省硬件资源应该不会,因为综合的时候,综合
工具会自动优化的。
古今创造
2014-09-10 · TA获得超过354个赞
知道答主
回答量:144
采纳率:0%
帮助的人:45万
展开全部
直接写a <= 1'b1就可以了(如果你是想让a一直有个确定的值1),如果你写成if(a==1'b0) a<=1'b1; else a<=a;那么要注意当a=x的时候a是会保持x值(顺便解释下信号有四值逻辑(0,1,x,z),8种驱动强度)。节省硬件资源应该不会,因为综合的时候,综合 工具会自动优化的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hanhan0815
2014-09-09 · 超过16用户采纳过TA的回答
知道答主
回答量:55
采纳率:100%
帮助的人:16.6万
展开全部
直接写rega=1;就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式