From 456c10f16e5b535fc5aa95eacfabbe018fef2348 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Wed, 23 Mar 2016 08:12:54 +0100 Subject: [PATCH] Added GP_DFF INIT parameter --- techlibs/greenpak4/cells_sim.v | 2 ++ techlibs/greenpak4/synth_greenpak4.cc | 2 ++ 2 files changed, 4 insertions(+) diff --git a/techlibs/greenpak4/cells_sim.v b/techlibs/greenpak4/cells_sim.v index d9ddaaccf..f8593b9fb 100644 --- a/techlibs/greenpak4/cells_sim.v +++ b/techlibs/greenpak4/cells_sim.v @@ -1,4 +1,6 @@ module GP_DFF(input D, CLK, nRSTZ, nSETZ, output reg Q); + parameter [0:0] INIT = 1'bx; + initial Q = INIT; always @(posedge CLK, negedge nRSTZ, negedge nSETZ) begin if (!nRSTZ) Q <= 1'b0; diff --git a/techlibs/greenpak4/synth_greenpak4.cc b/techlibs/greenpak4/synth_greenpak4.cc index 30ed8f74c..7d43cf579 100644 --- a/techlibs/greenpak4/synth_greenpak4.cc +++ b/techlibs/greenpak4/synth_greenpak4.cc @@ -98,6 +98,7 @@ struct SynthGreenPAK4Pass : public Pass { log("\n"); log(" map_cells:\n"); log(" techmap -map +/greenpak4/cells_map.v\n"); + log(" dffinit -ff GP_DFF Q INIT\n"); log(" clean\n"); log("\n"); log(" check:\n"); @@ -205,6 +206,7 @@ struct SynthGreenPAK4Pass : public Pass { if (check_label(active, run_from, run_to, "map_cells")) { Pass::call(design, "techmap -map +/greenpak4/cells_map.v"); + Pass::call(design, "dffinit -ff GP_DFF Q INIT"); Pass::call(design, "clean"); } -- 2.30.2