特权同学FPGA按键消抖实验的一点疑问,求大神解答,verilog

beginif(led_ctrl[0])d1<=~d1;if(led_ctrl[1])d2<=~d2;if(led_ctrl[2])d3<=~d3;endassignle... begin
if ( led_ctrl[0] ) d1 <= ~d1;
if ( led_ctrl[1] ) d2 <= ~d2;
if ( led_ctrl[2] ) d3 <= ~d3;
end

assign led_d3 = d1 ? 1'b1 : 1'b0; //LED翻转输出
assign led_d2 = d2 ? 1'b1 : 1'b0;
assign led_d1 = d3 ? 1'b1 : 1'b0;

最后这段驱动LED的代码,
可不可以直接用寄存器变量d1,d2,d3输出驱动,
如果可以,和原代码中使用线变量led_d3驱动有何不同呢?谢谢
展开
 我来答
从前有只小冷兔
2013-10-13 · TA获得超过161个赞
知道小有建树答主
回答量:100
采纳率:0%
帮助的人:93.2万
展开全部
其实没什么不同。
这里LED_D3不是寄存器,是wire型。
而且 这个赋值等同于 LED_D3=D1,所以不包含组合逻辑。

因此这个情况下直接把D1做输出没有区别的。

如果是 LED_D3=D1?1'B0:1'B1;
这样包含了一个非的组合逻辑电路,就不能省略了。

之所以这么做应该是考虑到 共阴或共阳的区别吧。一个高电平驱动,一个低电平驱动,到时候容易修改。
意法半导体(中国)投资有限公司
2021-01-14 广告
(1)使用寿命。寿命主要指以下2方面:单片机开发产品拥有良好的稳定性和较长的使用寿命,可以长时间稳定运行10年或是20多年;与微处理器相比拥有较长的使用寿命。随着半导体技术的不断提高,MPU更新换代速度的不断提升,部分已经顺利上市,同时年龄... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
FreudXuChen
2013-10-12 · TA获得超过471个赞
知道小有建树答主
回答量:791
采纳率:0%
帮助的人:530万
展开全部
可以的,综合出来的效果是多一个buffer,体现出来的效果是增强了电路中的驱动能力,估计该led用高电平驱动吧?没有上拉,所以加了个buffer
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式