首页IT科技护资刷题软件app免费(【HDLBits刷题日记】06 Basic Gates)

护资刷题软件app免费(【HDLBits刷题日记】06 Basic Gates)

时间2025-07-11 15:41:25分类IT科技浏览4012
导读:Exams/m2014 q4h Exams/m2014 q4i...

Exams/m2014 q4h

Exams/m2014 q4i

module top_module ( output out); assign out=1b0; endmodule

Exams/m2014 q4e

module top_module ( input in1, input in2, output out); assign out=!(in1|in2); endmodule

Exams/m2014 q4f

module top_module ( input in1, input in2, output out); assign out=in1&~in2; endmodule

Exams/m2014 q4g

module top_module ( input in1, input in2, input in3, output out); assign out=in3^(~(in1^in2)); endmodule

Gates

搞不懂为啥出这么多这种题.

module top_module( input a, b, output out_and, output out_or, output out_xor, output out_nand, output out_nor, output out_xnor, output out_anotb ); assign out_and=a&b; assign out_or=a|b; assign out_xor = a^b; assign out_nand=~(a&b); assign out_nor=~(a|b); assign out_xnor = ~(a^b); assign out_anotb = a&~b; endmodule

7420

module top_module ( input p1a, p1b, p1c, p1d, output p1y, input p2a, p2b, p2c, p2d, output p2y ); assign p1y=~(p1a&p1b&p1c&p1d); assign p2y=~(p2a&p2b&p2c&p2d); endmodule

Truthtable1

时钟真值表实现组合逻辑            ,这种时候电路会综合成最小项(与门)之和(或门)的形式            。我这里代码使用的是真值表                   ,答案是直接把最小项之和写了出来      ,综合出的电路应该是一样的                   。

module top_module( input x3, input x2, input x1, // three inputs output f // one output ); always@(*) begin case({x3,x2,x1}) 3b000:f=0; 3b001:f=0; 3b010:f=1; 3b011:f=1; 3b100:f=0; 3b101:f=1; 3b110:f=0; 3b111:f=1; endcase end endmodule

Mt2015 eq2

module top_module ( input [1:0] A, input [1:0] B, output z ); assign z=(A==B)?1b1:1b0; endmodule

Mt2015 q4a

module top_module (input x, input y, output z); assign z=(x^y)&x; endmodule

Mt2015 q4b

这题要求看波形得到逻辑表达式         ,显然该逻辑关系代表同或      。

module top_module ( input x, input y, output z ); assign z=~(x^y); endmodule

Mt2015 q4

根据RTL视图写代码         。

module top_module (input x, input y, output z); wire z1,z2; A IA1(x,y,z1); B IB1(x,y,z2); assign z=(z1|z2)^(z1&z2); endmodule module A (input x, input y, output z); assign z=(x^y)&x; endmodule module B ( input x, input y, output z ); assign z=~(x^y); endmodule

Ringer

这题也是只要把题目意思翻译成逻辑表达式即可                   。

module top_module ( input ring, input vibrate_mode, output ringer, // Make sound output motor // Vibrate ); assign ringer=(ring&~vibrate_mode)?1b1:1b0; assign motor=(ring&vibrate_mode)?1b1:1b0; endmodule

Thermostat

翻译题目意思即可                   ,题目给的答案更简洁:fan = heater | aircon | fan_on;heater = (mode & too_cold);aircon = (~mode & too_hot);         。

module top_module ( input too_cold, input too_hot, input mode, input fan_on, output heater, output aircon, output fan ); assign heater=(mode==1b1&&too_cold == 1b1)?1b1:1b0; assign aircon=(mode==1b0&&too_hot == 1b1)?1b1:1b0; assign fan=(heater||aircon||fan_on)?1b1:1b0; endmodule

Popcount3

我这里直接用的加法实现了         ,题目用的逻辑实现的      ,较为复杂:out[0] = (~in[2] & ~in[1] & in[0]) | (~in[2] & in[1] & ~in[0]) | (in[2] & ~in[1] & ~in[0]) | (in[2] & in[1] & in[0]);out[1] = (in[1] & in[0]) | (in[2] & in[0]) | (in[2] & in[1]);

module top_module( input [2:0] in, output [1:0] out ); assign out=in[0]+in[1]+in[2]; endmodule

Gatesv

答案的方法要简洁很多                   ,out_any = in[3:1] | in[2:0];out_both = in[2:0] & in[3:1];out_different = in ^ {in[0], in[3:1]};

module top_module( input [3:0] in, output [2:0] out_both, output [3:1] out_any, output [3:0] out_different ); assign out_both[2:0]={in[3]&in[2],in[2]&in[1],in[1]&in[0]}; assign out_any[3:1]={in[3]|in[2],in[2]|in[1],in[1]|in[0]}; assign out_different[3:0]={in[3]^in[0],in[3]^in[2],in[2]^in[1],in[1]^in[0]}; endmodule

Gatesv100

参考上一题的答案即可      。

module top_module( input [99:0] in, output [98:0] out_both, output [99:1] out_any, output [99:0] out_different ); assign out_both=in[98:0]&in[99:1]; assign out_any=in[99:1]|in[98:0]; assign out_different=in^{in[0],in[99:1]}; endmodule
声明:本站所有文章             ,如无特殊说明或标注   ,均为本站原创发布                   。任何个人或组织                  ,在未征得本站同意时                ,禁止复制             、盗用                  、采集      、发布本站内容到任何网站          、书籍等各类媒体平台             。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理   。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
日志代码怎么写(我就往代码加了一行 log 日志,结果引发了 P1 级线上事故。。大家注意!)