aboutsummaryrefslogtreecommitdiffstats
path: root/machxo2/synth/prims.v
diff options
context:
space:
mode:
Diffstat (limited to 'machxo2/synth/prims.v')
-rw-r--r--machxo2/synth/prims.v67
1 files changed, 0 insertions, 67 deletions
diff --git a/machxo2/synth/prims.v b/machxo2/synth/prims.v
deleted file mode 100644
index ca445e6e..00000000
--- a/machxo2/synth/prims.v
+++ /dev/null
@@ -1,67 +0,0 @@
-// LUT and DFF are combined to a GENERIC_SLICE
-
-module LUT #(
- parameter K = 4,
- parameter [2**K-1:0] INIT = 0
-) (
- input [K-1:0] I,
- output Q
-);
- wire [K-1:0] I_pd;
-
- genvar ii;
- generate
- for (ii = 0; ii < K; ii = ii + 1'b1)
- assign I_pd[ii] = (I[ii] === 1'bz) ? 1'b0 : I[ii];
- endgenerate
-
- assign Q = INIT[I_pd];
-endmodule
-
-module DFF (
- input CLK, D,
- output reg Q
-);
- initial Q = 1'b0;
- always @(posedge CLK)
- Q <= D;
-endmodule
-
-module GENERIC_SLICE #(
- parameter K = 4,
- parameter [2**K-1:0] INIT = 0,
- parameter FF_USED = 1'b0
-) (
- input CLK,
- input [K-1:0] I,
- output F,
- output Q
-);
- wire f_wire;
-
- LUT #(.K(K), .INIT(INIT)) lut_i(.I(I), .Q(f_wire));
-
- DFF dff_i(.CLK(CLK), .D(f_wire), .Q(Q));
-
- assign F = f_wire;
-endmodule
-
-module GENERIC_IOB #(
- parameter INPUT_USED = 1'b0,
- parameter OUTPUT_USED = 1'b0,
- parameter ENABLE_USED = 1'b0
-) (
- inout PAD,
- input I, EN,
- output O
-);
- generate if (OUTPUT_USED && ENABLE_USED)
- assign PAD = EN ? I : 1'bz;
- else if (OUTPUT_USED)
- assign PAD = I;
- endgenerate
-
- generate if (INPUT_USED)
- assign O = PAD;
- endgenerate
-endmodule