0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

8位宽的2对1多路复用器不起作用修复错误怎么解决呢?

OpenFPGA 来源:OpenFPGA 2023-03-09 14:27 次阅读

Problem 158-Bugs_mux2

题目说明

这个 8 位宽的 2 对 1 多路复用器不起作用。修复错误。

30a95c5e-be40-11ed-bfe3-dac502259ad0.png

模块端口声明

moduletop_module(
inputsel,
input[7:0]a,
input[7:0]b,
output[7:0]out);

题目解析

sel的位宽不够,补到8位即可。

moduletop_module(
inputlogicsel,
inputlogic[7:0]a,
inputlogic[7:0]b,
outputlogic[7:0]out);

assignout=({8{sel}}&a)|(~{8{sel}}&b);

endmodule

30b68cee-be40-11ed-bfe3-dac502259ad0.png

点击Submit,等待一会就能看到下图结果:

30c12230-be40-11ed-bfe3-dac502259ad0.png

注意图中的Ref是参考波形,Yours是你的代码生成的波形,网站会对比这两个波形,一旦这两者不匹配,仿真结果会变红。

这一题就结束了。

Problem 159-Bugs_nand3

题目说明

本题中的三输入与非门不工作了,找出并修正 BUG。

读者必须使用提供的 5 输入与门来实现这个与非门。

30e0ec50-be40-11ed-bfe3-dac502259ad0.png

模块端口声明

moduletop_module(inputa,inputb,inputc,outputout);

题目解析

原题中只使用了与门~

moduletop_module(inputlogica,
inputlogicb,
inputlogicc,
outputlogicout
);//

varlogicout_temp;
andgateinst1(.out(out_temp),
.a(a),
.b(b),
.c(c),
.d(1'd1),
.e(1'd1)
);

assignout=~out_temp;
endmodule

30f9d7f6-be40-11ed-bfe3-dac502259ad0.png

点击Submit,等待一会就能看到下图结果:

3101d53c-be40-11ed-bfe3-dac502259ad0.png

注意图中的Ref是参考波形,Yours是你的代码生成的波形,网站会对比这两个波形,一旦这两者不匹配,仿真结果会变红。

这一题就结束了。

Problem 160-Bugs_mux4

题目说明

这个 4 对 1 多路复用器不起作用。修复错误。

下面无错误的 2 对 1 多路复用器:

modulemux2(
inputsel,
input[7:0]a,
input[7:0]b,
output[7:0]out
);
31229740-be40-11ed-bfe3-dac502259ad0.png

模块端口声明

moduletop_module(
input[1:0]sel,
input[7:0]a,
input[7:0]b,
input[7:0]c,
input[7:0]d,
output[7:0]out);

题目解析

没啥大问题,还是变量位宽问题。

moduletop_module(
inputlogic[1:0]sel,
inputlogic[7:0]a,
inputlogic[7:0]b,
inputlogic[7:0]c,
inputlogic[7:0]d,
outputlogic[7:0]out
);//

varlogic[7:0]mux0,mux1;
mux2u1_mux0(sel[0],a,b,mux0);
mux2u2_mux1(sel[0],c,d,mux1);
mux2u3_mux2(sel[1],mux0,mux1,out);

endmodule

31346632-be40-11ed-bfe3-dac502259ad0.png

点击Submit,等待一会就能看到下图结果:

3146bf08-be40-11ed-bfe3-dac502259ad0.png

注意图中的Ref是参考波形,Yours是你的代码生成的波形,网站会对比这两个波形,一旦这两者不匹配,仿真结果会变红。

这一题就结束了。

Problem 161-Bugs_addsubz

题目说明

继续找BUG

314fee5c-be40-11ed-bfe3-dac502259ad0.png 图片来自HDLBits

模块端口声明

moduletop_module(
inputdo_sub,
input[7:0]a,
input[7:0]b,
outputreg[7:0]out,
outputregresult_is_zero
);

题目解析

out条件举例不足。

moduletop_module(
inputlogicdo_sub,
inputlogic[7:0]a,
inputlogic[7:0]b,
outputlogic[7:0]out,
outputlogicresult_is_zero
);

always_combbegin
case(do_sub)
0:out=a+b;
1:out=a-b;
endcase

if(out==8'd0)begin
result_is_zero=1;
end
elsebegin
result_is_zero=0;
end

end

endmodule


31658fc8-be40-11ed-bfe3-dac502259ad0.png

点击Submit,等待一会就能看到下图结果:

3172ce18-be40-11ed-bfe3-dac502259ad0.png

注意图中的Ref是参考波形,Yours是你的代码生成的波形,网站会对比这两个波形,一旦这两者不匹配,仿真结果会变红。

这一题就结束了。

Problem 162-Bugs_case

题目说明

这个组合电路应该识别键 0 到 9 的 8 位键盘扫描码。它应该指示是否识别了 10 种情况中的一种(valid),如果是,则检测到哪个键。修复错误。

318a8864-be40-11ed-bfe3-dac502259ad0.png

模块端口声明

moduletop_module(
input[7:0]code,
outputreg[3:0]out,
outputregvalid=1);

题目解析

信号定义时不能赋值,case最后一个选项位宽不对。

moduletop_module(
inputlogic[7:0]code,
outputlogic[3:0]out,
outputlogicvalid);//

always_combbegin
out=4'd0;
valid=1'd1;
case(code)
8'h45:out=4'd0;
8'h16:out=4'd1;
8'h1e:out=4'd2;
8'h26:out=4'd3;
8'h25:out=4'd4;
8'h2e:out=4'd5;
8'h36:out=4'd6;
8'h3d:out=4'd7;
8'h3e:out=4'd8;
8'h46:out=4'd9;
default:valid=1'd0;
endcase
end

endmodule

319834dc-be40-11ed-bfe3-dac502259ad0.png

点击Submit,等待一会就能看到下图结果:

31b4cbd8-be40-11ed-bfe3-dac502259ad0.png

注意图中的Ref是参考波形,Yours是你的代码生成的波形,网站会对比这两个波形,一旦这两者不匹配,仿真结果会变红。

这一题就结束了。




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 多路复用器
    +关注

    关注

    9

    文章

    869

    浏览量

    65263
  • 与非门
    +关注

    关注

    1

    文章

    122

    浏览量

    12700

原文标题:总结

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    多功能8通道多路复用器

    DN112- 多功能8通道多路复用器
    发表于 07-16 06:28

    用于视频路由和多路复用系统的单路21模拟多路复用器

    AD8170-EB,用于视频路由和多路复用系统的单路21模拟多路复用器评估板。 AD8170评估板经过精心布局和测试,可演示器件的指定高速性能
    发表于 06-17 16:47

    你真的了解的模拟多路复用器和开关的原理和应用吗?

    多路复用器和开关的原理是什么?如何设计出模拟多路复用器和开关解决方案
    发表于 03-11 07:46

    组合逻辑基础之多路复用器设计

    1、组合逻辑基础之多路复用器设计多路复用器也叫数据选择器,如下图所示,是根据选择信号Sel的值从多个数据输入中选择其中一个进行输出,是数字系统中应用非常广泛的一种逻辑电路。如下是一个典型的四选一
    发表于 08-04 17:06

    具有8:1多路复用器的通用输入/输出(GPIO)扩展功能

    1:具有8:1多路复用器的通用输入/输出(GPIO)扩展功能幸运的是,小尺寸的8:1
    发表于 11-07 07:07

    模拟开关和多路复用器的基础参数

    作者:现场应用工程师 苏智超 Rock Su 在测试测量相关应用中,模拟开关和多路复用器有着非常广泛的应用,例如运放的增益调节、ADC分时采集多路传感器信号等等。虽然它的功能很简单,但是仍然有很多
    发表于 11-08 07:02

    复用器多路复用

    复用器多路复用  多路复用
    发表于 01-07 14:27 1181次阅读

    四路 1-of-2 多路复用器/解复用器-74CBTLV3257_Q100

    四路 1-of-2 多路复用器/解复用器-74CBTLV3257_Q100
    发表于 02-07 20:27 0次下载
    四路 <b class='flag-5'>1-of-2</b> <b class='flag-5'>多路复用器</b>/解<b class='flag-5'>复用器</b>-74CBTLV3257_Q100

    四路 1-of-2多路复用器/解复用器-CBT3257A

    四路 1-of-2 多路复用器/解复用器-CBT3257A
    发表于 02-15 20:08 0次下载
    四路 <b class='flag-5'>1-of-2</b><b class='flag-5'>多路复用器</b>/解<b class='flag-5'>复用器</b>-CBT3257A

    1-of-8 FET 多路复用器/解复用器-CBT3251

    1-of-8 FET 多路复用器/解复用器-CBT3251
    发表于 02-16 21:03 0次下载
    <b class='flag-5'>1-of-8</b> FET <b class='flag-5'>多路复用器</b>/解<b class='flag-5'>复用器</b>-CBT3251

    四路 1-of-2多路复用器/解复用器-CBT3257A_Q100

    四路 1-of-2 多路复用器/解复用器-CBT3257A_Q100
    发表于 02-20 19:25 1次下载
    四路 <b class='flag-5'>1-of-2</b><b class='flag-5'>多路复用器</b>/解<b class='flag-5'>复用器</b>-CBT3257A_Q100

    四路 1-of-2多路复用器/解复用器-74CBTLV3257

    四路 1-of-2 多路复用器/解复用器-74CBTLV3257
    发表于 02-20 20:02 0次下载
    四路 <b class='flag-5'>1-of-2</b><b class='flag-5'>多路复用器</b>/解<b class='flag-5'>复用器</b>-74CBTLV3257

    具有电荷泵的421 FET 多路复用器/解复用器-74CB3Q3257_Q100

    具有电荷泵的 4 21 FET 多路复用器/解复用器-74CB3Q3257_Q100
    发表于 02-20 20:11 0次下载
    具有电荷泵的4<b class='flag-5'>位</b><b class='flag-5'>2</b>选 <b class='flag-5'>1</b> FET <b class='flag-5'>多路复用器</b>/解<b class='flag-5'>复用器</b>-74CB3Q3257_Q100

    具有电荷泵的421 FET 多路复用器/解复用器-74CB3Q3257

    具有电荷泵的 4 21 FET 多路复用器/解复用器-74CB3Q3257
    发表于 02-23 19:15 0次下载
    具有电荷泵的4<b class='flag-5'>位</b><b class='flag-5'>2</b>选 <b class='flag-5'>1</b> FET <b class='flag-5'>多路复用器</b>/解<b class='flag-5'>复用器</b>-74CB3Q3257

    TS3DV20812 2Gbps差分开关81:2多路复用器/解复用器数据表

    电子发烧友网站提供《TS3DV20812 2Gbps差分开关81:2多路复用器/解
    发表于 07-10 09:23 0次下载
    TS3DV20812 <b class='flag-5'>2</b>Gbps差分开关<b class='flag-5'>8</b><b class='flag-5'>位</b><b class='flag-5'>1</b>:<b class='flag-5'>2</b><b class='flag-5'>多路复用器</b>/解<b class='flag-5'>复用器</b>数据表