ice40: Update examples to use packer/pcf
Signed-off-by: David Shah <davey1576@gmail.com>
This commit is contained in:
parent
1e314cc0ce
commit
4694c6aae7
6
ice40/blinky.pcf
Normal file
6
ice40/blinky.pcf
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
set_io led1 99
|
||||||
|
set_io led2 98
|
||||||
|
set_io led3 97
|
||||||
|
set_io led4 96
|
||||||
|
set_io led5 95
|
||||||
|
set_io clki 21
|
2
ice40/blinky.sh
Normal file → Executable file
2
ice40/blinky.sh
Normal file → Executable file
@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -ex
|
set -ex
|
||||||
yosys blinky.ys
|
yosys blinky.ys
|
||||||
../nextpnr-ice40 --json blinky.json --asc blinky.asc
|
../nextpnr-ice40 --json blinky.json --pcf blinky.pcf --asc blinky.asc
|
||||||
icepack blinky.asc blinky.bin
|
icepack blinky.asc blinky.bin
|
||||||
icebox_vlog blinky.asc > blinky_chip.v
|
icebox_vlog blinky.asc > blinky_chip.v
|
||||||
iverilog -o blinky_tb blinky_chip.v blinky_tb.v
|
iverilog -o blinky_tb blinky_chip.v blinky_tb.v
|
||||||
|
123
ice40/blinky.v
123
ice40/blinky.v
@ -1,128 +1,17 @@
|
|||||||
module blinky (
|
module blinky (
|
||||||
input clk_pin,
|
input clki,
|
||||||
output led1_pin,
|
output led1,
|
||||||
output led2_pin,
|
output led2,
|
||||||
output led3_pin,
|
output led3,
|
||||||
output led4_pin,
|
output led4,
|
||||||
output led5_pin
|
output led5
|
||||||
);
|
);
|
||||||
wire clk, clki;
|
|
||||||
|
|
||||||
SB_GB clk_gb (
|
SB_GB clk_gb (
|
||||||
.USER_SIGNAL_TO_GLOBAL_BUFFER(clki),
|
.USER_SIGNAL_TO_GLOBAL_BUFFER(clki),
|
||||||
.GLOBAL_BUFFER_OUTPUT(clk)
|
.GLOBAL_BUFFER_OUTPUT(clk)
|
||||||
);
|
);
|
||||||
|
|
||||||
wire led1, led2, led3, led4, led5;
|
|
||||||
|
|
||||||
(* BEL="13_12_io1" *)
|
|
||||||
SB_IO #(
|
|
||||||
.PIN_TYPE(6'b 0110_01),
|
|
||||||
.PULLUP(1'b0),
|
|
||||||
.NEG_TRIGGER(1'b0)
|
|
||||||
) led1_iob (
|
|
||||||
.PACKAGE_PIN(led1_pin),
|
|
||||||
.LATCH_INPUT_VALUE(),
|
|
||||||
.CLOCK_ENABLE(),
|
|
||||||
.INPUT_CLK(),
|
|
||||||
.OUTPUT_CLK(),
|
|
||||||
.OUTPUT_ENABLE(),
|
|
||||||
.D_OUT_0(led1),
|
|
||||||
.D_OUT_1(),
|
|
||||||
.D_IN_0(),
|
|
||||||
.D_IN_1()
|
|
||||||
);
|
|
||||||
|
|
||||||
(* BEL="13_12_io0" *)
|
|
||||||
SB_IO #(
|
|
||||||
.PIN_TYPE(6'b 0110_01),
|
|
||||||
.PULLUP(1'b0),
|
|
||||||
.NEG_TRIGGER(1'b0)
|
|
||||||
) led2_iob (
|
|
||||||
.PACKAGE_PIN(led2_pin),
|
|
||||||
.LATCH_INPUT_VALUE(),
|
|
||||||
.CLOCK_ENABLE(),
|
|
||||||
.INPUT_CLK(),
|
|
||||||
.OUTPUT_CLK(),
|
|
||||||
.OUTPUT_ENABLE(),
|
|
||||||
.D_OUT_0(led2),
|
|
||||||
.D_OUT_1(),
|
|
||||||
.D_IN_0(),
|
|
||||||
.D_IN_1()
|
|
||||||
);
|
|
||||||
|
|
||||||
(* BEL="13_11_io1" *)
|
|
||||||
SB_IO #(
|
|
||||||
.PIN_TYPE(6'b 0110_01),
|
|
||||||
.PULLUP(1'b0),
|
|
||||||
.NEG_TRIGGER(1'b0)
|
|
||||||
) led3_iob (
|
|
||||||
.PACKAGE_PIN(led3_pin),
|
|
||||||
.LATCH_INPUT_VALUE(),
|
|
||||||
.CLOCK_ENABLE(),
|
|
||||||
.INPUT_CLK(),
|
|
||||||
.OUTPUT_CLK(),
|
|
||||||
.OUTPUT_ENABLE(),
|
|
||||||
.D_OUT_0(led3),
|
|
||||||
.D_OUT_1(),
|
|
||||||
.D_IN_0(),
|
|
||||||
.D_IN_1()
|
|
||||||
);
|
|
||||||
|
|
||||||
(* BEL="13_11_io0" *)
|
|
||||||
SB_IO #(
|
|
||||||
.PIN_TYPE(6'b 0110_01),
|
|
||||||
.PULLUP(1'b0),
|
|
||||||
.NEG_TRIGGER(1'b0)
|
|
||||||
) led4_iob (
|
|
||||||
.PACKAGE_PIN(led4_pin),
|
|
||||||
.LATCH_INPUT_VALUE(),
|
|
||||||
.CLOCK_ENABLE(),
|
|
||||||
.INPUT_CLK(),
|
|
||||||
.OUTPUT_CLK(),
|
|
||||||
.OUTPUT_ENABLE(),
|
|
||||||
.D_OUT_0(led4),
|
|
||||||
.D_OUT_1(),
|
|
||||||
.D_IN_0(),
|
|
||||||
.D_IN_1()
|
|
||||||
);
|
|
||||||
|
|
||||||
(* BEL="13_9_io1" *)
|
|
||||||
SB_IO #(
|
|
||||||
.PIN_TYPE(6'b 0110_01),
|
|
||||||
.PULLUP(1'b0),
|
|
||||||
.NEG_TRIGGER(1'b0)
|
|
||||||
) led5_iob (
|
|
||||||
.PACKAGE_PIN(led5_pin),
|
|
||||||
.LATCH_INPUT_VALUE(),
|
|
||||||
.CLOCK_ENABLE(),
|
|
||||||
.INPUT_CLK(),
|
|
||||||
.OUTPUT_CLK(),
|
|
||||||
.OUTPUT_ENABLE(),
|
|
||||||
.D_OUT_0(led5),
|
|
||||||
.D_OUT_1(),
|
|
||||||
.D_IN_0(),
|
|
||||||
.D_IN_1()
|
|
||||||
);
|
|
||||||
|
|
||||||
(* BEL="0_8_io1" *)
|
|
||||||
SB_IO #(
|
|
||||||
.PIN_TYPE(6'b 0000_01),
|
|
||||||
.PULLUP(1'b0),
|
|
||||||
.NEG_TRIGGER(1'b0)
|
|
||||||
) clk_iob (
|
|
||||||
.PACKAGE_PIN(clk_pin),
|
|
||||||
.LATCH_INPUT_VALUE(),
|
|
||||||
.CLOCK_ENABLE(),
|
|
||||||
.INPUT_CLK(),
|
|
||||||
.OUTPUT_CLK(),
|
|
||||||
.OUTPUT_ENABLE(),
|
|
||||||
.D_OUT_0(),
|
|
||||||
.D_OUT_1(),
|
|
||||||
.D_IN_0(clki),
|
|
||||||
.D_IN_1()
|
|
||||||
);
|
|
||||||
|
|
||||||
localparam BITS = 5;
|
localparam BITS = 5;
|
||||||
localparam LOG2DELAY = 22;
|
localparam LOG2DELAY = 22;
|
||||||
|
|
||||||
|
@ -1,9 +1,3 @@
|
|||||||
read_verilog blinky.v
|
read_verilog blinky.v
|
||||||
read_verilog -lib +/ice40/cells_sim.v
|
synth_ice40 -top blinky -nocarry
|
||||||
synth -top blinky
|
|
||||||
abc -lut 4
|
|
||||||
techmap -map blinky_map.v
|
|
||||||
splitnets
|
|
||||||
opt_clean
|
|
||||||
stat
|
|
||||||
write_json blinky.json
|
write_json blinky.json
|
||||||
|
@ -1,86 +0,0 @@
|
|||||||
module \$_DFF_P_ (input D, C, output Q);
|
|
||||||
ICESTORM_LC #(
|
|
||||||
.LUT_INIT(2),
|
|
||||||
.NEG_CLK(0),
|
|
||||||
.CARRY_ENABLE(0),
|
|
||||||
.DFF_ENABLE(1),
|
|
||||||
.SET_NORESET(0),
|
|
||||||
.ASYNC_SR(0)
|
|
||||||
) _TECHMAP_REPLACE_ (
|
|
||||||
.I0(D),
|
|
||||||
.CLK(C),
|
|
||||||
.O(Q),
|
|
||||||
|
|
||||||
.I1(),
|
|
||||||
.I2(),
|
|
||||||
.I3(),
|
|
||||||
.CIN(),
|
|
||||||
.CEN(),
|
|
||||||
.SR(),
|
|
||||||
.LO(),
|
|
||||||
.COUT()
|
|
||||||
);
|
|
||||||
endmodule
|
|
||||||
|
|
||||||
module \$lut (A, Y);
|
|
||||||
parameter WIDTH = 0;
|
|
||||||
parameter LUT = 0;
|
|
||||||
|
|
||||||
input [WIDTH-1:0] A;
|
|
||||||
output Y;
|
|
||||||
|
|
||||||
generate
|
|
||||||
if (WIDTH == 1) begin
|
|
||||||
ICESTORM_LC #(
|
|
||||||
.LUT_INIT(LUT),
|
|
||||||
.NEG_CLK(0),
|
|
||||||
.CARRY_ENABLE(0),
|
|
||||||
.DFF_ENABLE(0),
|
|
||||||
.SET_NORESET(0),
|
|
||||||
.ASYNC_SR(0)
|
|
||||||
) _TECHMAP_REPLACE_ (
|
|
||||||
.I0(A[0]), .I1(), .I2(), .I3(), .O(Y),
|
|
||||||
.CLK(), .CIN(), .CEN(), .SR(), .LO(), .COUT()
|
|
||||||
);
|
|
||||||
end
|
|
||||||
if (WIDTH == 2) begin
|
|
||||||
ICESTORM_LC #(
|
|
||||||
.LUT_INIT(LUT),
|
|
||||||
.NEG_CLK(0),
|
|
||||||
.CARRY_ENABLE(0),
|
|
||||||
.DFF_ENABLE(0),
|
|
||||||
.SET_NORESET(0),
|
|
||||||
.ASYNC_SR(0)
|
|
||||||
) _TECHMAP_REPLACE_ (
|
|
||||||
.I0(A[0]), .I1(A[1]), .I2(), .I3(), .O(Y),
|
|
||||||
.CLK(), .CIN(), .CEN(), .SR(), .LO(), .COUT()
|
|
||||||
);
|
|
||||||
end
|
|
||||||
if (WIDTH == 3) begin
|
|
||||||
ICESTORM_LC #(
|
|
||||||
.LUT_INIT(LUT),
|
|
||||||
.NEG_CLK(0),
|
|
||||||
.CARRY_ENABLE(0),
|
|
||||||
.DFF_ENABLE(0),
|
|
||||||
.SET_NORESET(0),
|
|
||||||
.ASYNC_SR(0)
|
|
||||||
) _TECHMAP_REPLACE_ (
|
|
||||||
.I0(A[0]), .I1(A[1]), .I2(A[2]), .I3(), .O(Y),
|
|
||||||
.CLK(), .CIN(), .CEN(), .SR(), .LO(), .COUT()
|
|
||||||
);
|
|
||||||
end
|
|
||||||
if (WIDTH == 4) begin
|
|
||||||
ICESTORM_LC #(
|
|
||||||
.LUT_INIT(LUT),
|
|
||||||
.NEG_CLK(0),
|
|
||||||
.CARRY_ENABLE(0),
|
|
||||||
.DFF_ENABLE(0),
|
|
||||||
.SET_NORESET(0),
|
|
||||||
.ASYNC_SR(0)
|
|
||||||
) _TECHMAP_REPLACE_ (
|
|
||||||
.I0(A[0]), .I1(A[1]), .I2(A[2]), .I3(A[3]), .O(Y),
|
|
||||||
.CLK(), .CIN(), .CEN(), .SR(), .LO(), .COUT()
|
|
||||||
);
|
|
||||||
end
|
|
||||||
endgenerate
|
|
||||||
endmodule
|
|
@ -1,3 +0,0 @@
|
|||||||
read_verilog blinky.v
|
|
||||||
synth_ice40 -nocarry -top blinky
|
|
||||||
write_json blinky_nopack.json
|
|
@ -1,8 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -ex
|
|
||||||
yosys blinky_nopack.ys
|
|
||||||
../nextpnr-ice40 --json blinky_nopack.json --asc blinky.asc --pack
|
|
||||||
icepack blinky.asc blinky.bin
|
|
||||||
icebox_vlog blinky.asc > blinky_chip.v
|
|
||||||
iverilog -o blinky_tb blinky_chip.v blinky_tb.v
|
|
||||||
vvp -N ./blinky_tb
|
|
@ -410,16 +410,17 @@ packageinfo = []
|
|||||||
|
|
||||||
for package in packages:
|
for package in packages:
|
||||||
name, pins = package
|
name, pins = package
|
||||||
|
safename = re.sub("[^A-Za-z0-9]", "_", name)
|
||||||
pins_info = []
|
pins_info = []
|
||||||
for pin in pins:
|
for pin in pins:
|
||||||
pinname, x, y, z = pin
|
pinname, x, y, z = pin
|
||||||
pin_bel = "%d_%d_io%d" % (x, y, z)
|
pin_bel = "%d_%d_io%d" % (x, y, z)
|
||||||
bel_idx = bel_name.index(pin_bel)
|
bel_idx = bel_name.index(pin_bel)
|
||||||
pins_info.append('{"%s", %d}' % (pinname, bel_idx))
|
pins_info.append('{"%s", %d}' % (pinname, bel_idx))
|
||||||
print("static PackagePinPOD package_%s_pins[%d] = {" % (name, len(pins_info)))
|
print("static PackagePinPOD package_%s_pins[%d] = {" % (safename, len(pins_info)))
|
||||||
print(",\n".join(pins_info))
|
print(",\n".join(pins_info))
|
||||||
print("};")
|
print("};")
|
||||||
packageinfo.append('{"%s", %d, package_%s_pins}' % (name, len(pins_info), name))
|
packageinfo.append('{"%s", %d, package_%s_pins}' % (name, len(pins_info), safename))
|
||||||
|
|
||||||
tilegrid = []
|
tilegrid = []
|
||||||
for y in range(dev_height):
|
for y in range(dev_height):
|
||||||
|
9
ice40/icebreaker.pcf
Normal file
9
ice40/icebreaker.pcf
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
set_io led1 27
|
||||||
|
set_io led2 25
|
||||||
|
set_io led3 21
|
||||||
|
set_io led4 23
|
||||||
|
set_io led5 26
|
||||||
|
set_io clki 35
|
||||||
|
set_io btn1 20
|
||||||
|
set_io btn2 19
|
||||||
|
set_io btn3 18
|
@ -1,179 +1,16 @@
|
|||||||
module icebreaker (
|
module icebreaker (
|
||||||
input clk_pin,
|
input clki,
|
||||||
input btn1_pin,
|
input btn1,
|
||||||
input btn2_pin,
|
input btn2,
|
||||||
input btn3_pin,
|
input btn3,
|
||||||
output led1_pin,
|
output led1,
|
||||||
output led2_pin,
|
output led2,
|
||||||
output led3_pin,
|
output led3,
|
||||||
output led4_pin,
|
output led4,
|
||||||
output led5_pin
|
output led5
|
||||||
);
|
);
|
||||||
wire clk, clk_pre, led1, led2, led3, led4, led5, btn1, btn2, btn3;
|
wire clk;
|
||||||
|
SB_GB clk_gb(.USER_SIGNAL_TO_GLOBAL_BUFFER(clki), .GLOBAL_BUFFER_OUTPUT(clk));
|
||||||
(* BEL="18_31_io1" *) //27
|
|
||||||
SB_IO #(
|
|
||||||
.PIN_TYPE(6'b 0110_01),
|
|
||||||
.PULLUP(1'b0),
|
|
||||||
.NEG_TRIGGER(1'b0)
|
|
||||||
) led1_iob (
|
|
||||||
.PACKAGE_PIN(led1_pin),
|
|
||||||
.LATCH_INPUT_VALUE(),
|
|
||||||
.CLOCK_ENABLE(),
|
|
||||||
.INPUT_CLK(),
|
|
||||||
.OUTPUT_CLK(),
|
|
||||||
.OUTPUT_ENABLE(),
|
|
||||||
.D_OUT_0(led1),
|
|
||||||
.D_OUT_1(),
|
|
||||||
.D_IN_0(),
|
|
||||||
.D_IN_1()
|
|
||||||
);
|
|
||||||
|
|
||||||
(* BEL="19_31_io1" *) //25
|
|
||||||
SB_IO #(
|
|
||||||
.PIN_TYPE(6'b 0110_01),
|
|
||||||
.PULLUP(1'b0),
|
|
||||||
.NEG_TRIGGER(1'b0)
|
|
||||||
) led2_iob (
|
|
||||||
.PACKAGE_PIN(led2_pin),
|
|
||||||
.LATCH_INPUT_VALUE(),
|
|
||||||
.CLOCK_ENABLE(),
|
|
||||||
.INPUT_CLK(),
|
|
||||||
.OUTPUT_CLK(),
|
|
||||||
.OUTPUT_ENABLE(),
|
|
||||||
.D_OUT_0(led2),
|
|
||||||
.D_OUT_1(),
|
|
||||||
.D_IN_0(),
|
|
||||||
.D_IN_1()
|
|
||||||
);
|
|
||||||
|
|
||||||
(* BEL="18_0_io1" *) //21
|
|
||||||
SB_IO #(
|
|
||||||
.PIN_TYPE(6'b 0110_01),
|
|
||||||
.PULLUP(1'b0),
|
|
||||||
.NEG_TRIGGER(1'b0)
|
|
||||||
) led3_iob (
|
|
||||||
.PACKAGE_PIN(led3_pin),
|
|
||||||
.LATCH_INPUT_VALUE(),
|
|
||||||
.CLOCK_ENABLE(),
|
|
||||||
.INPUT_CLK(),
|
|
||||||
.OUTPUT_CLK(),
|
|
||||||
.OUTPUT_ENABLE(),
|
|
||||||
.D_OUT_0(led3),
|
|
||||||
.D_OUT_1(),
|
|
||||||
.D_IN_0(),
|
|
||||||
.D_IN_1()
|
|
||||||
);
|
|
||||||
|
|
||||||
(* BEL="19_31_io0" *) //23
|
|
||||||
SB_IO #(
|
|
||||||
.PIN_TYPE(6'b 0110_01),
|
|
||||||
.PULLUP(1'b0),
|
|
||||||
.NEG_TRIGGER(1'b0)
|
|
||||||
) led4_iob (
|
|
||||||
.PACKAGE_PIN(led4_pin),
|
|
||||||
.LATCH_INPUT_VALUE(),
|
|
||||||
.CLOCK_ENABLE(),
|
|
||||||
.INPUT_CLK(),
|
|
||||||
.OUTPUT_CLK(),
|
|
||||||
.OUTPUT_ENABLE(),
|
|
||||||
.D_OUT_0(led4),
|
|
||||||
.D_OUT_1(),
|
|
||||||
.D_IN_0(),
|
|
||||||
.D_IN_1()
|
|
||||||
);
|
|
||||||
|
|
||||||
(* BEL="18_31_io0" *) //26
|
|
||||||
SB_IO #(
|
|
||||||
.PIN_TYPE(6'b 0110_01),
|
|
||||||
.PULLUP(1'b0),
|
|
||||||
.NEG_TRIGGER(1'b0)
|
|
||||||
) led5_iob (
|
|
||||||
.PACKAGE_PIN(led5_pin),
|
|
||||||
.LATCH_INPUT_VALUE(),
|
|
||||||
.CLOCK_ENABLE(),
|
|
||||||
.INPUT_CLK(),
|
|
||||||
.OUTPUT_CLK(),
|
|
||||||
.OUTPUT_ENABLE(),
|
|
||||||
.D_OUT_0(led5),
|
|
||||||
.D_OUT_1(),
|
|
||||||
.D_IN_0(),
|
|
||||||
.D_IN_1()
|
|
||||||
);
|
|
||||||
|
|
||||||
(* BEL="12_31_io1" *) //35
|
|
||||||
SB_IO #(
|
|
||||||
.PIN_TYPE(6'b 0000_01),
|
|
||||||
.PULLUP(1'b0),
|
|
||||||
.NEG_TRIGGER(1'b0)
|
|
||||||
) clk_iob (
|
|
||||||
.PACKAGE_PIN(clk_pin),
|
|
||||||
.LATCH_INPUT_VALUE(),
|
|
||||||
.CLOCK_ENABLE(),
|
|
||||||
.INPUT_CLK(),
|
|
||||||
.OUTPUT_CLK(),
|
|
||||||
.OUTPUT_ENABLE(),
|
|
||||||
.D_OUT_0(),
|
|
||||||
.D_OUT_1(),
|
|
||||||
.D_IN_0(clk_pre),
|
|
||||||
.D_IN_1()
|
|
||||||
);
|
|
||||||
|
|
||||||
(* BEL="19_0_io1" *) //20
|
|
||||||
SB_IO #(
|
|
||||||
.PIN_TYPE(6'b 0000_01),
|
|
||||||
.PULLUP(1'b0),
|
|
||||||
.NEG_TRIGGER(1'b0)
|
|
||||||
) btn1_iob (
|
|
||||||
.PACKAGE_PIN(btn1_pin),
|
|
||||||
.LATCH_INPUT_VALUE(),
|
|
||||||
.CLOCK_ENABLE(),
|
|
||||||
.INPUT_CLK(),
|
|
||||||
.OUTPUT_CLK(),
|
|
||||||
.OUTPUT_ENABLE(),
|
|
||||||
.D_OUT_0(),
|
|
||||||
.D_OUT_1(),
|
|
||||||
.D_IN_0(btn1),
|
|
||||||
.D_IN_1()
|
|
||||||
);
|
|
||||||
|
|
||||||
(* BEL="21_0_io1" *) //19
|
|
||||||
SB_IO #(
|
|
||||||
.PIN_TYPE(6'b 0000_01),
|
|
||||||
.PULLUP(1'b0),
|
|
||||||
.NEG_TRIGGER(1'b0)
|
|
||||||
) btn2_iob (
|
|
||||||
.PACKAGE_PIN(btn2_pin),
|
|
||||||
.LATCH_INPUT_VALUE(),
|
|
||||||
.CLOCK_ENABLE(),
|
|
||||||
.INPUT_CLK(),
|
|
||||||
.OUTPUT_CLK(),
|
|
||||||
.OUTPUT_ENABLE(),
|
|
||||||
.D_OUT_0(),
|
|
||||||
.D_OUT_1(),
|
|
||||||
.D_IN_0(btn2),
|
|
||||||
.D_IN_1()
|
|
||||||
);
|
|
||||||
|
|
||||||
(* BEL="22_0_io1" *) //18
|
|
||||||
SB_IO #(
|
|
||||||
.PIN_TYPE(6'b 0000_01),
|
|
||||||
.PULLUP(1'b0),
|
|
||||||
.NEG_TRIGGER(1'b0)
|
|
||||||
) btn3_iob (
|
|
||||||
.PACKAGE_PIN(btn3_pin),
|
|
||||||
.LATCH_INPUT_VALUE(),
|
|
||||||
.CLOCK_ENABLE(),
|
|
||||||
.INPUT_CLK(),
|
|
||||||
.OUTPUT_CLK(),
|
|
||||||
.OUTPUT_ENABLE(),
|
|
||||||
.D_OUT_0(),
|
|
||||||
.D_OUT_1(),
|
|
||||||
.D_IN_0(btn3),
|
|
||||||
.D_IN_1()
|
|
||||||
);
|
|
||||||
|
|
||||||
SB_GB clk_gb(.USER_SIGNAL_TO_GLOBAL_BUFFER(clk_pre), .GLOBAL_BUFFER_OUTPUT(clk));
|
|
||||||
localparam BITS = 5;
|
localparam BITS = 5;
|
||||||
localparam LOG2DELAY = 22;
|
localparam LOG2DELAY = 22;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user