logic: add 32-bit register with parameterized preset pattern

This commit is contained in:
Yuri Tatishchev 2024-11-12 00:24:41 -08:00
parent dbc23d80e4
commit 9584db84fd
Signed by: CaZzzer
GPG Key ID: E0EBF441EA424369

24
logic.v
View File

@ -35,6 +35,30 @@ RC_ADD_SUB_32 twoscomp32_sub(.Y(Y), .A(0), .B(A), .SnA(1'b1));
endmodule
// 32-bit register with parameterized preset pattern
module REG32_PP(Q, D, LOAD, CLK, RESET);
parameter PATTERN = 32'h00000000;
output [31:0] Q;
input CLK, LOAD;
input [31:0] D;
input RESET;
wire [31:0] qbar;
genvar i;
generate
for(i=0; i<32; i=i+1)
begin : reg32_gen_loop
if (PATTERN[i] == 0)
REG1 reg_inst(.Q(Q[i]), .Qbar(qbar[i]), .D(D[i]), .L(LOAD), .C(CLK), .nP(1'b1), .nR(RESET));
else
REG1 reg_inst(.Q(Q[i]), .Qbar(qbar[i]), .D(D[i]), .L(LOAD), .C(CLK), .nP(RESET), .nR(1'b1));
end
endgenerate
endmodule
// 32-bit registere +ve edge, Reset on RESET=0
module REG32(Q, D, LOAD, CLK, RESET);
output [31:0] Q;