``verilog刷题遇到的问题
代码不是原创
Module shift8
这是正确答案,如果我把wire后面的[7:0]去掉,信号在第七段的时候就会错误
module top_module (
input clk,
input [7:0] d,
input [1:0] sel,
output [7:0] q
);
wire[7:0] q0,q1,q2;
my_dff8 ins0(.clk(clk),
.d(d),
.q(q0));
my_dff8 ins1(.clk(clk),
.d(q0),
.q(q1));
my_dff8 ins2(.clk(clk),
.d(q1),
.q(q2));
always @(*)
begin
case(sel)
0:q=d;
1:q=q0;
2:q=q1;
3:q=q2;
default: q=0;
endcase
end
endmodule
adder1
Module add
代码原创,通过
module top_module(
input [31:0] a,
input [31:0] b,
output [31:0] sum
);
wire cout0;
wire[15:0] sum0,sum1;
add16 ins0(.a(a[15:0]),.b(b[15:0]),.cin(0),.cout(cout0),.sum(sum0));
add16 ins1(.a(a[31:16]),.b(b[31:16]),.cin(cout0),.cout(),.sum(sum1));
assign sum[31:16] =sum1;
assign sum[15:0] =sum0;
endmodule