前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >【日更计划081】数字IC基础题【HDL部分】

【日更计划081】数字IC基础题【HDL部分】

作者头像
空白的贝塔
发布2021-03-16 15:29:48
发布2021-03-16 15:29:48
30600
代码可运行
举报
文章被收录于专栏:摸鱼范式摸鱼范式
运行总次数:0
代码可运行

上期答案

[166] 编写verilog模块,使用“?:”运算符实现3:1mux
代码语言:javascript
代码运行次数:0
复制
module mux31_2(inp0,inp1,inp2,sel0,sel1, outres);
    input inp0, inp1, inp2, sel0, sel1;
    output outres;
    assign outres = sel1 ? inp2 : (sel0 ? inp1 : inp0);
endmodule
[167] 用下列两段代码进行建模,这两种代码风格有什么问题?
代码语言:javascript
代码运行次数:0
复制
always @(posedge clk or posedge reset)
    if (reset)
        X1 = 0; // reset
	else
        X1 = X2;

always @(posedge clk or posedge reset)
    if (reset)
        X2 = 1;// set
	else
        X2 = X1;

verilog仿真器并不能保证always块的执行顺序,在上面的代码中,由于使用了阻塞赋值,因此会导致竞争现象。如果我们使用不同的仿真器,always块的执行顺序不同可能会导致不同的结果。推荐使用非阻塞赋值。

你答对了吗

本期题目

[168] 同步复位和异步复位之间有什么区别?如何使用verilog进行同步复位和异步复位建模?
[169] “==”和“===”有什么区别?

欢迎在留言区给出你的答案,正确答案将在下一期公布,或者到下面的文章获取答案

END

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 摸鱼范式 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 上期答案
  • 本期题目
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档