mirror of
https://github.com/fpganinja/taxi.git
synced 2025-12-09 17:08:38 -08:00
io: Rework generic ODDR implementation
Signed-off-by: Alex Forencich <alex@alexforencich.com>
This commit is contained in:
@@ -112,25 +112,15 @@ end else if (!SIM && VENDOR == "ALTERA") begin
|
|||||||
end else begin
|
end else begin
|
||||||
// generic/simulation implementation (no vendor primitives)
|
// generic/simulation implementation (no vendor primitives)
|
||||||
|
|
||||||
logic [WIDTH-1:0] d_reg_1 = '0;
|
logic [WIDTH-1:0] d1_reg = '0;
|
||||||
logic [WIDTH-1:0] d_reg_2 = '0;
|
logic [WIDTH-1:0] d2_reg = '0;
|
||||||
|
|
||||||
logic [WIDTH-1:0] q_reg = '0;
|
|
||||||
|
|
||||||
always_ff @(posedge clk) begin
|
always_ff @(posedge clk) begin
|
||||||
d_reg_1 <= d1;
|
d1_reg <= d1;
|
||||||
d_reg_2 <= d2;
|
d2_reg <= d2;
|
||||||
end
|
end
|
||||||
|
|
||||||
always_ff @(posedge clk) begin
|
assign q = clk ? d1_reg : d2_reg;
|
||||||
q_reg <= d1;
|
|
||||||
end
|
|
||||||
|
|
||||||
always_ff @(negedge clk) begin
|
|
||||||
q_reg <= d_reg_2;
|
|
||||||
end
|
|
||||||
|
|
||||||
assign q = q_reg;
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user