当前位置: 首页 > news >正文

鄂伦春网站建设徐州自助建站模板

鄂伦春网站建设,徐州自助建站模板,二维码生成器微信小程序,seo分析师HDLBits: 在线学习 SystemVerilog(二十三)-Problem 158-162(找BUG)HDLBits 是一组小型电路设计习题集,使用 Verilog/SystemVerilog 硬件描述语言 (HDL) 练习数字硬件设计~网址如下:https://hdlbits.01xz.ne…

HDLBits: 在线学习 SystemVerilog(二十三)-Problem 158-162(找BUG)

e3a4ad7f8ef7bff1034a663372ecb3f7.jpeg

HDLBits 是一组小型电路设计习题集,使用 Verilog/SystemVerilog 硬件描述语言 (HDL) 练习数字硬件设计~

网址如下:

https://hdlbits.01xz.net/

关于HDLBits的Verilog实现可以查看下面专栏:

https://www.zhihu.com/column/c_1131528588117385216

缩略词索引:

  • SV:SystemVerilog

从今天开始新的一章-时序电路,包括触发器、计数器、移位寄存器、状态机等。

Finding bugs in code 这一节中,将找出给的电路中的bug,有一双找bug的眼睛。

Problem 158-Bugs_mux2

题目说明

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

e4fa1f5f97a26842ca6e5146e4af310c.png

模块端口声明

module top_module (input sel,input [7:0] a,input [7:0] b,output [7:0] out  );

题目解析

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

module top_module (input logic sel,input logic [7:0] a,input logic [7:0] b,output logic [7:0] out  );assign out = ({8{sel}} & a) | (~{8{sel}} & b);endmodule
1de609e64fe0855fc8d4b1eeb4d5de77.png

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

80a860f4a3dce723e19b7d194dbb505a.png

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

这一题就结束了。

Problem 159-Bugs_nand3

题目说明

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

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

47c0b8601c0867ecb1625318c3c97c7a.png

模块端口声明

module top_module (input a, input b, input c, output out);

题目解析

原题中只使用了与门~

module top_module (input logic a, input logic b, input logic c, output logic out);//var logic out_temp ;andgate inst1 (.out(out_temp) ,.a(a),.b(b), .c(c),.d(1'd1),.e(1'd1));assign out = ~out_temp ;
endmodule
626ac3ca4ca6aa97324983c29b32840c.png

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

8514c385cd50f75653cf9ebb47b8ff0e.png

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

这一题就结束了。

Problem 160-Bugs_mux4

题目说明

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

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

module mux2 (input sel,input [7:0] a,input [7:0] b,output [7:0] out
);
56c94e365ab272dc0ec719d30aec1baf.png

模块端口声明

module top_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  );

题目解析

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

module top_module (input logic [1:0] sel,input logic [7:0] a,input logic [7:0] b,input logic [7:0] c,input logic [7:0] d,output logic [7:0] out  ); //var logic [7:0] mux0, mux1;mux2 u1_mux0 ( sel[0],    a,    b, mux0 );mux2 u2_mux1 ( sel[0],    c,    d, mux1 );mux2 u3_mux2 ( sel[1], mux0, mux1,  out );endmodule
c27b3325c8e90aa784ea441c0ce64351.png

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

01081f1bf2e54276542f775f3b157671.png

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

这一题就结束了。

Problem 161-Bugs_addsubz

题目说明

继续找BUG

62dfbfdc781978788ff11773746badd4.png图片来自HDLBits

模块端口声明

module top_module ( input do_sub,input [7:0] a,input [7:0] b,output reg [7:0] out,output reg result_is_zero
);

题目解析

out条件举例不足。

module top_module ( input logic do_sub,input logic [7:0] a,input logic [7:0] b,output logic [7:0] out,output logic result_is_zero
);always_comb begincase (do_sub)0: out = a+b;1: out = a-b;endcaseif (out == 8'd0) beginresult_is_zero = 1 ;endelse beginresult_is_zero = 0 ;endendendmodule
f5b2b78ca8a6a4da170e2aa7ce155ac4.png

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

339eea0e340cfdbd2f0dec54d8364d01.png

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

这一题就结束了。

Problem 162-Bugs_case

题目说明

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

d9d40a6cf7e2dce312f1623ea89ca340.png

模块端口声明

module top_module (input [7:0] code,output reg [3:0] out,output reg valid=1 );

题目解析

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

module top_module (input logic [7:0] code,output logic [3:0] out,output logic valid );//always_comb beginout = 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;endcaseendendmodule
fc569417909a50735134dd6956f9c2e1.png

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

2fb622f780a6ed2d5d146fc48f6d4936.png

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

这一题就结束了。

总结

今天的几道题就结束了,找bug开不开心~

最后我这边做题的代码也是个人理解使用,有错误欢迎大家批评指正,祝大家学习愉快~

代码链接:

https://github.com/suisuisi/SystemVerilog/tree/main/SystemVerilogHDLBits

http://www.yayakq.cn/news/808528/

相关文章:

  • 北京高端网站制作公司商城网站建设怎么样
  • 北京网站建设找华网天下哪个网站做app
  • 网站建设起到计划和指导作用网红营销活动
  • 提供网站建设设计外包猪八戒网做动漫弹幕网站
  • 苏州网站建设 网络推广公司做网站 不是计算机专业
  • 网站 建设运行情况报告dedecms做网站
  • 手机网站建设注意事项宜昌网站seo
  • 发布消息做任务的网站做行业分析的网站
  • 百度网盟推广官方网站wordpress采集文章内容
  • 课程网站开发背景和意义有创意的文创产品
  • 邢台哪儿专业做网站分销平台是什么意思
  • 网站设置在设备之间共享怎么开启网站开发课程介绍
  • 蛋品 东莞网站建设网站开发框架系统
  • 义乌建设网站制作海北高端网站建设价格
  • 江苏网站建设效果营销网站建设解决方案
  • 乐享校园网站建设策划书wordpress 获取category id
  • 小白网站建设wordpress崩了
  • 菏泽专业网站开发公司虚拟机怎么做多个网站
  • 自己做直播网站h5页面制作报价
  • 自适应平台网站模板项目管理系统软件开发
  • 罗定城乡建设局网站西安刚刚宣布
  • 如何提高网站优化住房城乡建设部网站职业资格
  • 网站建设横幅系列素材郑州网站推广优化
  • 同类色相的网站wordpress端口更改
  • 怎么在网站做谷歌广告住房与城乡建设网上办事大厅
  • asp做的网站频繁报错 参数错误企业网络管理方案
  • 微网站如何做宣传怎么做推广和宣传
  • 做网站找什么公司wordpress会员页面
  • swoole 网站开发导出wordpress文章
  • 网站开发流程中有哪几个阶段网站排名优化外包公司