1.4位全加器
代码:
module module_full_add(
input [3:0] iv_a,iv_b,
input is_cin,
output [3:0] owv_sum,
output ows_cout
);
assign {ows_cout,owv_sum} = iv_a+iv_b+is_cin;
endmodule
RTL:
Simulation:
2.4位计数器
module module_full_add(
input reset,
input clk,
output [3:0] orv_out
);
reg [3:0] orv_out1;
always@(posedge clk)
begin
if(reset)
orv_out1 <= 4'b0;
else
orv_out1 <= orv_out1+1'b1;
end
assign orv_out=orv_out1;
endmodule
RTL:
仿真:
3.与或非
代码:
module module_full_add(A,B,C,D,F); //模块名为 AOI(端口列表 A,B,C,D,F)
input A,B,C,D; //模块的输入端口为 A,B,C,D
output F; //模块的输出端口为 F
wire A,B,C,D,F; //定义信号的数据类型
assign F= ~((A&B)|(C&D)); //逻辑功能描述
endmodule
RTL:
4.case四选一