描述
4bit超前进位加法器的逻辑表达式如下:
中间变量𝐺𝑖=𝐴𝑖𝐵𝑖,𝑃𝑖=𝐴𝑖⊕𝐵𝑖Gi=AiBi,Pi=Ai⊕Bi
和:𝑆𝑖=𝑃𝑖⊕𝐶𝑖−1Si=Pi⊕Ci−1,进位:𝐶𝑖=𝐺𝑖+𝑃𝑖𝐶𝑖−1Ci=Gi+PiCi−1
请用system Verilog语言采用门级描述方式,实现此4bit超前进位加法器,接口电路如下:
输入描述:
输入信号:
A_in[3:0],
B_in[3:0]
C_1
类型:logic
输出描述:
输出信号:
S[3:0]
CO
类型:logic
解答:
分析:
按照逻辑表达式进行编写即可。代码如下:
`timescale 1ns/1ns
module lca_4(
input logic [3:0] A_in ,
input logic [3:0] B_in ,
input logic C_1 ,
output logic CO ,
output logic [3:0] S
);
logic [3:0] G;
logic [3:0] P;
logic [3:0] C;
assign G = A_in&B_in;
assign P = A_in^B_in;
assign C = {G[3]+(P[3]&C[2]),G[2]+(P[2]&C[1]),G[1]+(P[1]&C[0]),G[0]+(P[0]&C_1)};
assign S = {P[3]^C[2],P[2]^C[1],P[1]^C[0],P[0]^C_1};
assign CO = C[3];
endmodule