Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions blackbox_models/cell_sim_blackbox.v
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,42 @@ module DLY_SEL_DCODER (
endmodule
`endcelldefine
//
// DLY_SEL_DECODER black box model
// Address Decoder
//
// Copyright (c) 2024 Rapid Silicon, Inc. All rights reserved.
//
`celldefine
(* blackbox *)
module DLY_SEL_DECODER (
input logic DLY_LOAD,
input logic DLY_ADJ,
input logic DLY_INCDEC,
input logic [4:0] DLY_ADDR,
output reg [2:0] DLY0_CNTRL,
output reg [2:0] DLY1_CNTRL,
output reg [2:0] DLY2_CNTRL,
output reg [2:0] DLY3_CNTRL,
output reg [2:0] DLY4_CNTRL,
output reg [2:0] DLY5_CNTRL,
output reg [2:0] DLY6_CNTRL,
output reg [2:0] DLY7_CNTRL,
output reg [2:0] DLY8_CNTRL,
output reg [2:0] DLY9_CNTRL,
output reg [2:0] DLY10_CNTRL,
output reg [2:0] DLY11_CNTRL,
output reg [2:0] DLY12_CNTRL,
output reg [2:0] DLY13_CNTRL,
output reg [2:0] DLY14_CNTRL,
output reg [2:0] DLY15_CNTRL,
output reg [2:0] DLY16_CNTRL,
output reg [2:0] DLY17_CNTRL,
output reg [2:0] DLY18_CNTRL,
output reg [2:0] DLY19_CNTRL
);
endmodule
`endcelldefine
//
// DLY_VALUE_MUX black box model
// Multiplexer
//
Expand Down
4 changes: 2 additions & 2 deletions sim_models/tb/DLY_SEL_DECODER_tb.v
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

module DLY_SEL_DCODER_tb;
module DLY_SEL_DECODER_tb;

// Parameters

Expand Down Expand Up @@ -31,7 +31,7 @@ module DLY_SEL_DCODER_tb;

integer error=0;

DLY_SEL_DCODER DLY_SEL_DCODER_inst (
DLY_SEL_DECODER DLY_SEL_DECODER_inst (
.DLY_LOAD(DLY_LOAD),
.DLY_ADJ(DLY_ADJ),
.DLY_INCDEC(DLY_INCDEC),
Expand Down
89 changes: 89 additions & 0 deletions sim_models/verilog/DLY_SEL_DECODER.v
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
`timescale 1ps/1ps
`celldefine
//
// DLY_SEL_DECODER simulation model
// Address Decoder
//
// Copyright (c) 2023 Rapid Silicon, Inc. All rights reserved.
//

module DLY_SEL_DECODER (
input DLY_LOAD, // Delay load input
input DLY_ADJ, // Delay adjust input
input DLY_INCDEC, // Delay increment / decrement input
input [4:0] DLY_ADDR, // Input Address
output reg [2:0] DLY0_CNTRL, // Output Bus
output reg [2:0] DLY1_CNTRL, // Output Bus
output reg [2:0] DLY2_CNTRL, // Output Bus
output reg [2:0] DLY3_CNTRL, // Output Bus
output reg [2:0] DLY4_CNTRL, // Output Bus
output reg [2:0] DLY5_CNTRL, // Output Bus
output reg [2:0] DLY6_CNTRL, // Output Bus
output reg [2:0] DLY7_CNTRL, // Output Bus
output reg [2:0] DLY8_CNTRL, // Output Bus
output reg [2:0] DLY9_CNTRL, // Output Bus
output reg [2:0] DLY10_CNTRL, // Output Bus
output reg [2:0] DLY11_CNTRL, // Output Bus
output reg [2:0] DLY12_CNTRL, // Output Bus
output reg [2:0] DLY13_CNTRL, // Output Bus
output reg [2:0] DLY14_CNTRL, // Output Bus
output reg [2:0] DLY15_CNTRL, // Output Bus
output reg [2:0] DLY16_CNTRL, // Output Bus
output reg [2:0] DLY17_CNTRL, // Output Bus
output reg [2:0] DLY18_CNTRL, // Output Bus
output reg [2:0] DLY19_CNTRL // Output Bus
);


always @(*)
begin
DLY0_CNTRL = 3'b000;
DLY1_CNTRL = 3'b000;
DLY2_CNTRL = 3'b000;
DLY3_CNTRL = 3'b000;
DLY4_CNTRL = 3'b000;
DLY5_CNTRL = 3'b000;
DLY6_CNTRL = 3'b000;
DLY7_CNTRL = 3'b000;
DLY8_CNTRL = 3'b000;
DLY9_CNTRL = 3'b000;
DLY10_CNTRL = 3'b000;
DLY11_CNTRL = 3'b000;
DLY12_CNTRL = 3'b000;
DLY13_CNTRL = 3'b000;
DLY14_CNTRL = 3'b000;
DLY15_CNTRL = 3'b000;
DLY16_CNTRL = 3'b000;
DLY17_CNTRL = 3'b000;
DLY18_CNTRL = 3'b000;
DLY19_CNTRL = 3'b000;

case(DLY_ADDR)
5'd0: DLY0_CNTRL = {DLY_LOAD, DLY_ADJ, DLY_INCDEC};
5'd1: DLY1_CNTRL = {DLY_LOAD, DLY_ADJ, DLY_INCDEC};
5'd2: DLY2_CNTRL = {DLY_LOAD, DLY_ADJ, DLY_INCDEC};
5'd3: DLY3_CNTRL = {DLY_LOAD, DLY_ADJ, DLY_INCDEC};
5'd4: DLY4_CNTRL = {DLY_LOAD, DLY_ADJ, DLY_INCDEC};
5'd5: DLY5_CNTRL = {DLY_LOAD, DLY_ADJ, DLY_INCDEC};
5'd6: DLY6_CNTRL = {DLY_LOAD, DLY_ADJ, DLY_INCDEC};
5'd7: DLY7_CNTRL = {DLY_LOAD, DLY_ADJ, DLY_INCDEC};
5'd8: DLY8_CNTRL = {DLY_LOAD, DLY_ADJ, DLY_INCDEC};
5'd9: DLY9_CNTRL = {DLY_LOAD, DLY_ADJ, DLY_INCDEC};
5'd10: DLY10_CNTRL = {DLY_LOAD, DLY_ADJ, DLY_INCDEC};
5'd11: DLY11_CNTRL = {DLY_LOAD, DLY_ADJ, DLY_INCDEC};
5'd12: DLY12_CNTRL = {DLY_LOAD, DLY_ADJ, DLY_INCDEC};
5'd13: DLY13_CNTRL = {DLY_LOAD, DLY_ADJ, DLY_INCDEC};
5'd14: DLY14_CNTRL = {DLY_LOAD, DLY_ADJ, DLY_INCDEC};
5'd15: DLY15_CNTRL = {DLY_LOAD, DLY_ADJ, DLY_INCDEC};
5'd16: DLY16_CNTRL = {DLY_LOAD, DLY_ADJ, DLY_INCDEC};
5'd17: DLY17_CNTRL = {DLY_LOAD, DLY_ADJ, DLY_INCDEC};
5'd18: DLY18_CNTRL = {DLY_LOAD, DLY_ADJ, DLY_INCDEC};
5'd19: DLY19_CNTRL = {DLY_LOAD, DLY_ADJ, DLY_INCDEC};

endcase

end


endmodule
`endcelldefine
4 changes: 2 additions & 2 deletions tb/DLY_SEL_DECODER/DLY_SEL_DECODER_tb.v
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

module DLY_SEL_DCODER_tb;
module DLY_SEL_DECODER_tb;

// Parameters

Expand Down Expand Up @@ -31,7 +31,7 @@ module DLY_SEL_DCODER_tb;

integer error=0;

DLY_SEL_DCODER DLY_SEL_DCODER_inst (
DLY_SEL_DECODER DLY_SEL_DECODER_inst (
.DLY_LOAD(DLY_LOAD),
.DLY_ADJ(DLY_ADJ),
.DLY_INCDEC(DLY_INCDEC),
Expand Down