上期答案
[174] 写一段verilog代码,用半加器组成全加器
代码语言:javascript复制module half_adder(input_0, input_1, sum, carry);
input input_0, input_1;
output sum, carry;
assign sum = (input_0)^(input_1);
assign carry = (input_0)&(input_1);
endmodule
module full_adder(input_0, input_1, input_2, sum, carry);
input input_0, input_1, input_2;
output sum, carry;
reg sum_intermediate, carry_intermediate_0, carry_intermediate_1;
half_adder ha1(input0,input1,sum_intermediate,carry_intermediate_0);
half_adder ha2(sum_intermediate,input2,sum,carry_intermediate_1);
assign carry = (carry_intermediate_0)|(carry_intermediate_1);
endmodule
[175] verilog中的task和function有什么区别?
- function不能使用任何延时语句,task可以
- 由于1中的原因,function可以调用function,但是不能调用task。task可以调用task和funtion
- funtion可以综合,task不可以
- function需要有通过返回参数作为输出,但是有多个输入输出参数。task不能返回任何值,但是具有多个输入或者输出参数。
你答对了吗
本期题目
[176] systemverilog中的reg,wire和logic有什么区别?
[177] bit和logic有什么区别?
欢迎在留言区给出你的答案,正确答案将在下一期公布,或者到下面的文章获取答案