【日更计划085】数字IC基础题【HDL部分】

2021-04-07 10:32:36 浏览数 (1)

上期答案

[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有什么区别?
  1. function不能使用任何延时语句,task可以
  2. 由于1中的原因,function可以调用function,但是不能调用task。task可以调用task和funtion
  3. funtion可以综合,task不可以
  4. function需要有通过返回参数作为输出,但是有多个输入输出参数。task不能返回任何值,但是具有多个输入或者输出参数。

你答对了吗

本期题目

[176] systemverilog中的reg,wire和logic有什么区别?
[177] bit和logic有什么区别?

欢迎在留言区给出你的答案,正确答案将在下一期公布,或者到下面的文章获取答案

0 人点赞