mirror of https://github.com/YosysHQ/yosys.git
add script for blackbox extraction
This commit is contained in:
parent
ea50d96135
commit
541c1ab567
File diff suppressed because it is too large
Load Diff
|
@ -1,81 +1,430 @@
|
|||
(* blackbox *)
|
||||
module DP8KC(
|
||||
input DIA8, DIA7, DIA6, DIA5, DIA4, DIA3, DIA2, DIA1, DIA0,
|
||||
input ADA12, ADA11, ADA10, ADA9, ADA8, ADA7, ADA6, ADA5, ADA4, ADA3, ADA2, ADA1, ADA0,
|
||||
input CEA, OCEA, CLKA, WEA, RSTA,
|
||||
input CSA2, CSA1, CSA0,
|
||||
output DOA8, DOA7, DOA6, DOA5, DOA4, DOA3, DOA2, DOA1, DOA0,
|
||||
// Created by cells_xtra.py from Lattice models
|
||||
|
||||
input DIB8, DIB7, DIB6, DIB5, DIB4, DIB3, DIB2, DIB1, DIB0,
|
||||
input ADB12, ADB11, ADB10, ADB9, ADB8, ADB7, ADB6, ADB5, ADB4, ADB3, ADB2, ADB1, ADB0,
|
||||
input CEB, OCEB, CLKB, WEB, RSTB,
|
||||
input CSB2, CSB1, CSB0,
|
||||
output DOB8, DOB7, DOB6, DOB5, DOB4, DOB3, DOB2, DOB1, DOB0
|
||||
);
|
||||
parameter DATA_WIDTH_A = 9;
|
||||
parameter DATA_WIDTH_B = 9;
|
||||
(* blackbox *) (* keep *)
|
||||
module GSR (...);
|
||||
input GSR;
|
||||
endmodule
|
||||
|
||||
parameter REGMODE_A = "NOREG";
|
||||
parameter REGMODE_B = "NOREG";
|
||||
|
||||
parameter RESETMODE = "SYNC";
|
||||
parameter ASYNC_RESET_RELEASE = "SYNC";
|
||||
|
||||
parameter CSDECODE_A = "0b000";
|
||||
parameter CSDECODE_B = "0b000";
|
||||
|
||||
parameter WRITEMODE_A = "NORMAL";
|
||||
parameter WRITEMODE_B = "NORMAL";
|
||||
|
||||
parameter GSR = "ENABLED";
|
||||
parameter INIT_DATA = "STATIC";
|
||||
|
||||
parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
(* blackbox *) (* keep *)
|
||||
module SGSR (...);
|
||||
input GSR;
|
||||
input CLK;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module EHXPLLJ (
|
||||
input CLKI, CLKFB,
|
||||
input PHASESEL1, PHASESEL0, PHASEDIR, PHASESTEP,
|
||||
input LOADREG, STDBY, PLLWAKESYNC, RST, RESETM, RESETC, RESETD,
|
||||
input ENCLKOP, ENCLKOS, ENCLKOS2, ENCLKOS3, PLLCLK, PLLRST, PLLSTB, PLLWE,
|
||||
input PLLDATI7, PLLDATI6, PLLDATI5, PLLDATI4, PLLDATI3, PLLDATI2, PLLDATI1, PLLDATI0,
|
||||
input PLLADDR4, PLLADDR3, PLLADDR2, PLLADDR1, PLLADDR0,
|
||||
output CLKOP, CLKOS, CLKOS2, CLKOS3, LOCK, INTLOCK, REFCLK,
|
||||
output PLLDATO7, PLLDATO6, PLLDATO5, PLLDATO4, PLLDATO3, PLLDATO2, PLLDATO1, PLLDATO0, PLLACK,
|
||||
output DPHSRC, CLKINTFB
|
||||
);
|
||||
module DP8KC (...);
|
||||
parameter DATA_WIDTH_A = 9;
|
||||
parameter DATA_WIDTH_B = 9;
|
||||
parameter REGMODE_A = "NOREG";
|
||||
parameter REGMODE_B = "NOREG";
|
||||
parameter CSDECODE_A = "0b000";
|
||||
parameter CSDECODE_B = "0b000";
|
||||
parameter WRITEMODE_A = "NORMAL";
|
||||
parameter WRITEMODE_B = "NORMAL";
|
||||
parameter GSR = "ENABLED";
|
||||
parameter RESETMODE = "SYNC";
|
||||
parameter ASYNC_RESET_RELEASE = "SYNC";
|
||||
parameter INIT_DATA = "STATIC";
|
||||
parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
input DIA8;
|
||||
input DIA7;
|
||||
input DIA6;
|
||||
input DIA5;
|
||||
input DIA4;
|
||||
input DIA3;
|
||||
input DIA2;
|
||||
input DIA1;
|
||||
input DIA0;
|
||||
input ADA12;
|
||||
input ADA11;
|
||||
input ADA10;
|
||||
input ADA9;
|
||||
input ADA8;
|
||||
input ADA7;
|
||||
input ADA6;
|
||||
input ADA5;
|
||||
input ADA4;
|
||||
input ADA3;
|
||||
input ADA2;
|
||||
input ADA1;
|
||||
input ADA0;
|
||||
input CEA;
|
||||
input OCEA;
|
||||
input CLKA;
|
||||
input WEA;
|
||||
input CSA2;
|
||||
input CSA1;
|
||||
input CSA0;
|
||||
input RSTA;
|
||||
input DIB8;
|
||||
input DIB7;
|
||||
input DIB6;
|
||||
input DIB5;
|
||||
input DIB4;
|
||||
input DIB3;
|
||||
input DIB2;
|
||||
input DIB1;
|
||||
input DIB0;
|
||||
input ADB12;
|
||||
input ADB11;
|
||||
input ADB10;
|
||||
input ADB9;
|
||||
input ADB8;
|
||||
input ADB7;
|
||||
input ADB6;
|
||||
input ADB5;
|
||||
input ADB4;
|
||||
input ADB3;
|
||||
input ADB2;
|
||||
input ADB1;
|
||||
input ADB0;
|
||||
input CEB;
|
||||
input OCEB;
|
||||
input CLKB;
|
||||
input WEB;
|
||||
input CSB2;
|
||||
input CSB1;
|
||||
input CSB0;
|
||||
input RSTB;
|
||||
output DOA8;
|
||||
output DOA7;
|
||||
output DOA6;
|
||||
output DOA5;
|
||||
output DOA4;
|
||||
output DOA3;
|
||||
output DOA2;
|
||||
output DOA1;
|
||||
output DOA0;
|
||||
output DOB8;
|
||||
output DOB7;
|
||||
output DOB6;
|
||||
output DOB5;
|
||||
output DOB4;
|
||||
output DOB3;
|
||||
output DOB2;
|
||||
output DOB1;
|
||||
output DOB0;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module PDPW8KC (...);
|
||||
parameter DATA_WIDTH_W = 18;
|
||||
parameter DATA_WIDTH_R = 9;
|
||||
parameter REGMODE = "NOREG";
|
||||
parameter CSDECODE_W = "0b000";
|
||||
parameter CSDECODE_R = "0b000";
|
||||
parameter GSR = "ENABLED";
|
||||
parameter RESETMODE = "SYNC";
|
||||
parameter ASYNC_RESET_RELEASE = "SYNC";
|
||||
parameter INIT_DATA = "STATIC";
|
||||
parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
input DI17;
|
||||
input DI16;
|
||||
input DI15;
|
||||
input DI14;
|
||||
input DI13;
|
||||
input DI12;
|
||||
input DI11;
|
||||
input DI10;
|
||||
input DI9;
|
||||
input DI8;
|
||||
input DI7;
|
||||
input DI6;
|
||||
input DI5;
|
||||
input DI4;
|
||||
input DI3;
|
||||
input DI2;
|
||||
input DI1;
|
||||
input DI0;
|
||||
input ADW8;
|
||||
input ADW7;
|
||||
input ADW6;
|
||||
input ADW5;
|
||||
input ADW4;
|
||||
input ADW3;
|
||||
input ADW2;
|
||||
input ADW1;
|
||||
input ADW0;
|
||||
input BE1;
|
||||
input BE0;
|
||||
input CEW;
|
||||
input CLKW;
|
||||
input CSW2;
|
||||
input CSW1;
|
||||
input CSW0;
|
||||
input ADR12;
|
||||
input ADR11;
|
||||
input ADR10;
|
||||
input ADR9;
|
||||
input ADR8;
|
||||
input ADR7;
|
||||
input ADR6;
|
||||
input ADR5;
|
||||
input ADR4;
|
||||
input ADR3;
|
||||
input ADR2;
|
||||
input ADR1;
|
||||
input ADR0;
|
||||
input CER;
|
||||
input OCER;
|
||||
input CLKR;
|
||||
input CSR2;
|
||||
input CSR1;
|
||||
input CSR0;
|
||||
input RST;
|
||||
output DO17;
|
||||
output DO16;
|
||||
output DO15;
|
||||
output DO14;
|
||||
output DO13;
|
||||
output DO12;
|
||||
output DO11;
|
||||
output DO10;
|
||||
output DO9;
|
||||
output DO8;
|
||||
output DO7;
|
||||
output DO6;
|
||||
output DO5;
|
||||
output DO4;
|
||||
output DO3;
|
||||
output DO2;
|
||||
output DO1;
|
||||
output DO0;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module SP8KC (...);
|
||||
parameter DATA_WIDTH = 9;
|
||||
parameter REGMODE = "NOREG";
|
||||
parameter CSDECODE = "0b000";
|
||||
parameter WRITEMODE = "NORMAL";
|
||||
parameter GSR = "ENABLED";
|
||||
parameter RESETMODE = "SYNC";
|
||||
parameter ASYNC_RESET_RELEASE = "SYNC";
|
||||
parameter INIT_DATA = "STATIC";
|
||||
parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
input DI8;
|
||||
input DI7;
|
||||
input DI6;
|
||||
input DI5;
|
||||
input DI4;
|
||||
input DI3;
|
||||
input DI2;
|
||||
input DI1;
|
||||
input DI0;
|
||||
input AD12;
|
||||
input AD11;
|
||||
input AD10;
|
||||
input AD9;
|
||||
input AD8;
|
||||
input AD7;
|
||||
input AD6;
|
||||
input AD5;
|
||||
input AD4;
|
||||
input AD3;
|
||||
input AD2;
|
||||
input AD1;
|
||||
input AD0;
|
||||
input CE;
|
||||
input OCE;
|
||||
input CLK;
|
||||
input WE;
|
||||
input CS2;
|
||||
input CS1;
|
||||
input CS0;
|
||||
input RST;
|
||||
output DO8;
|
||||
output DO7;
|
||||
output DO6;
|
||||
output DO5;
|
||||
output DO4;
|
||||
output DO3;
|
||||
output DO2;
|
||||
output DO1;
|
||||
output DO0;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module FIFO8KB (...);
|
||||
parameter DATA_WIDTH_W = 18;
|
||||
parameter DATA_WIDTH_R = 18;
|
||||
parameter REGMODE = "NOREG";
|
||||
parameter RESETMODE = "ASYNC";
|
||||
parameter ASYNC_RESET_RELEASE = "SYNC";
|
||||
parameter CSDECODE_W = "0b00";
|
||||
parameter CSDECODE_R = "0b00";
|
||||
parameter AEPOINTER = "0b00000000000000";
|
||||
parameter AEPOINTER1 = "0b00000000000000";
|
||||
parameter AFPOINTER = "0b00000000000000";
|
||||
parameter AFPOINTER1 = "0b00000000000000";
|
||||
parameter FULLPOINTER = "0b00000000000000";
|
||||
parameter FULLPOINTER1 = "0b00000000000000";
|
||||
parameter GSR = "DISABLED";
|
||||
input DI0;
|
||||
input DI1;
|
||||
input DI2;
|
||||
input DI3;
|
||||
input DI4;
|
||||
input DI5;
|
||||
input DI6;
|
||||
input DI7;
|
||||
input DI8;
|
||||
input DI9;
|
||||
input DI10;
|
||||
input DI11;
|
||||
input DI12;
|
||||
input DI13;
|
||||
input DI14;
|
||||
input DI15;
|
||||
input DI16;
|
||||
input DI17;
|
||||
input CSW0;
|
||||
input CSW1;
|
||||
input CSR0;
|
||||
input CSR1;
|
||||
input WE;
|
||||
input RE;
|
||||
input ORE;
|
||||
input CLKW;
|
||||
input CLKR;
|
||||
input RST;
|
||||
input RPRST;
|
||||
input FULLI;
|
||||
input EMPTYI;
|
||||
output DO0;
|
||||
output DO1;
|
||||
output DO2;
|
||||
output DO3;
|
||||
output DO4;
|
||||
output DO5;
|
||||
output DO6;
|
||||
output DO7;
|
||||
output DO8;
|
||||
output DO9;
|
||||
output DO10;
|
||||
output DO11;
|
||||
output DO12;
|
||||
output DO13;
|
||||
output DO14;
|
||||
output DO15;
|
||||
output DO16;
|
||||
output DO17;
|
||||
output EF;
|
||||
output AEF;
|
||||
output AFF;
|
||||
output FF;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module DCMA (...);
|
||||
input CLK0;
|
||||
input CLK1;
|
||||
input SEL;
|
||||
output DCMOUT;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module DCCA (...);
|
||||
input CLKI;
|
||||
input CE;
|
||||
output CLKO;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module EHXPLLJ (...);
|
||||
parameter CLKI_DIV = 1;
|
||||
parameter CLKFB_DIV = 1;
|
||||
parameter CLKOP_DIV = 8;
|
||||
|
@ -122,172 +471,65 @@ module EHXPLLJ (
|
|||
parameter DCRST_ENA = "DISABLED";
|
||||
parameter DDRST_ENA = "DISABLED";
|
||||
parameter INTFB_WAKE = "DISABLED";
|
||||
input CLKI;
|
||||
input CLKFB;
|
||||
input PHASESEL1;
|
||||
input PHASESEL0;
|
||||
input PHASEDIR;
|
||||
input PHASESTEP;
|
||||
input LOADREG;
|
||||
input STDBY;
|
||||
input PLLWAKESYNC;
|
||||
input RST;
|
||||
input RESETM;
|
||||
input RESETC;
|
||||
input RESETD;
|
||||
input ENCLKOP;
|
||||
input ENCLKOS;
|
||||
input ENCLKOS2;
|
||||
input ENCLKOS3;
|
||||
input PLLCLK;
|
||||
input PLLRST;
|
||||
input PLLSTB;
|
||||
input PLLWE;
|
||||
input PLLDATI7;
|
||||
input PLLDATI6;
|
||||
input PLLDATI5;
|
||||
input PLLDATI4;
|
||||
input PLLDATI3;
|
||||
input PLLDATI2;
|
||||
input PLLDATI1;
|
||||
input PLLDATI0;
|
||||
input PLLADDR4;
|
||||
input PLLADDR3;
|
||||
input PLLADDR2;
|
||||
input PLLADDR1;
|
||||
input PLLADDR0;
|
||||
output CLKOP;
|
||||
output CLKOS;
|
||||
output CLKOS2;
|
||||
output CLKOS3;
|
||||
output LOCK;
|
||||
output INTLOCK;
|
||||
output REFCLK;
|
||||
output PLLDATO7;
|
||||
output PLLDATO6;
|
||||
output PLLDATO5;
|
||||
output PLLDATO4;
|
||||
output PLLDATO3;
|
||||
output PLLDATO2;
|
||||
output PLLDATO1;
|
||||
output PLLDATO0;
|
||||
output PLLACK;
|
||||
output DPHSRC;
|
||||
output CLKINTFB;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module OSCH #(
|
||||
parameter NOM_FREQ = "2.08"
|
||||
) (
|
||||
input STDBY,
|
||||
output OSC,
|
||||
output SEDSTDBY
|
||||
);
|
||||
module OSCH (...);
|
||||
parameter NOM_FREQ = "2.08";
|
||||
input STDBY;
|
||||
output OSC;
|
||||
output SEDSTDBY;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module DCCA (
|
||||
input CLKI,
|
||||
input CE,
|
||||
output CLKO
|
||||
);
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module DCMA (
|
||||
input CLK0,
|
||||
input CLK1,
|
||||
input SEL,
|
||||
output DCMOUT
|
||||
);
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module PDPW8KC (
|
||||
input DI17, DI16, DI15, DI14, DI13, DI12, DI11, DI10, DI9, DI8, DI7, DI6, DI5, DI4, DI3, DI2, DI1, DI0,
|
||||
input ADW8, ADW7, ADW6, ADW5, ADW4, ADW3, ADW2, ADW1, ADW0,
|
||||
input BE1, BE0,
|
||||
input CEW, CLKW, CSW2, CSW1, CSW0,
|
||||
input ADR12, ADR11, ADR10, ADR9, ADR8, ADR7, ADR6, ADR5, ADR4, ADR3, ADR2, ADR1, ADR0,
|
||||
input CER, OCER, CLKR, CSR2, CSR1, CSR0, RST,
|
||||
output DO17, DO16, DO15, DO14, DO13, DO12, DO11, DO10, DO9, DO8, DO7, DO6, DO5, DO4, DO3, DO2, DO1, DO0
|
||||
);
|
||||
parameter DATA_WIDTH_W = 18;
|
||||
parameter DATA_WIDTH_R = 9;
|
||||
|
||||
parameter GSR = "ENABLED";
|
||||
|
||||
parameter REGMODE = "NOREG";
|
||||
|
||||
parameter RESETMODE = "SYNC";
|
||||
parameter ASYNC_RESET_RELEASE = "SYNC";
|
||||
|
||||
parameter CSDECODE_W = "0b000";
|
||||
parameter CSDECODE_R = "0b000";
|
||||
|
||||
parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INIT_DATA = "STATIC";
|
||||
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module SP8KC (
|
||||
input DI8, DI7, DI6, DI5, DI4, DI3, DI2, DI1, DI0,
|
||||
input AD12, AD11, AD10, AD9, AD8, AD7, AD6, AD5, AD4, AD3, AD2, AD1, AD0,
|
||||
input CE, OCE, CLK, WE, CS2, CS1, CS0, RST,
|
||||
output DO8, DO7, DO6, DO5, DO4, DO3, DO2, DO1, DO0
|
||||
);
|
||||
parameter DATA_WIDTH = 9;
|
||||
parameter GSR = "ENABLED";
|
||||
|
||||
parameter REGMODE = "NOREG";
|
||||
|
||||
parameter RESETMODE = "SYNC";
|
||||
parameter ASYNC_RESET_RELEASE = "SYNC";
|
||||
|
||||
parameter CSDECODE = "0b000";
|
||||
|
||||
parameter WRITEMODE = "NORMAL";
|
||||
|
||||
parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INIT_DATA = "STATIC";
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module FIFO8KB (
|
||||
input DI0, DI1, DI2, DI3, DI4, DI5, DI6, DI7, DI8, DI9, DI10, DI11, DI12, DI13, DI14, DI15, DI16, DI17,
|
||||
input CSW0, CSW1, CSR0, CSR1, WE, RE, ORE, CLKW, CLKR, RST, RPRST, FULLI, EMPTYI,
|
||||
output DO0, DO1, DO2, DO3, DO4, DO5, DO6, DO7, DO8, DO9, DO10, DO11, DO12, DO13, DO14, DO15, DO16, DO17,
|
||||
input EF, AEF, AFF, FF
|
||||
);
|
||||
parameter DATA_WIDTH_W = 18;
|
||||
parameter DATA_WIDTH_R = 18;
|
||||
|
||||
parameter GSR = "DISABLED";
|
||||
|
||||
parameter REGMODE = "NOREG";
|
||||
|
||||
parameter RESETMODE = "ASYNC";
|
||||
parameter ASYNC_RESET_RELEASE = "SYNC";
|
||||
|
||||
parameter CSDECODE_W = "0b00";
|
||||
parameter CSDECODE_R = "0b00";
|
||||
|
||||
parameter AEPOINTER = "0b00000000000000";
|
||||
parameter AEPOINTER1 = "0b00000000000000";
|
||||
parameter AFPOINTER = "0b00000000000000";
|
||||
parameter AFPOINTER1 = "0b00000000000000";
|
||||
parameter FULLPOINTER = "0b00000000000000";
|
||||
parameter FULLPOINTER1 = "0b00000000000000";
|
||||
endmodule
|
||||
|
|
|
@ -1,81 +1,430 @@
|
|||
(* blackbox *)
|
||||
module DP8KC(
|
||||
input DIA8, DIA7, DIA6, DIA5, DIA4, DIA3, DIA2, DIA1, DIA0,
|
||||
input ADA12, ADA11, ADA10, ADA9, ADA8, ADA7, ADA6, ADA5, ADA4, ADA3, ADA2, ADA1, ADA0,
|
||||
input CEA, OCEA, CLKA, WEA, RSTA,
|
||||
input CSA2, CSA1, CSA0,
|
||||
output DOA8, DOA7, DOA6, DOA5, DOA4, DOA3, DOA2, DOA1, DOA0,
|
||||
// Created by cells_xtra.py from Lattice models
|
||||
|
||||
input DIB8, DIB7, DIB6, DIB5, DIB4, DIB3, DIB2, DIB1, DIB0,
|
||||
input ADB12, ADB11, ADB10, ADB9, ADB8, ADB7, ADB6, ADB5, ADB4, ADB3, ADB2, ADB1, ADB0,
|
||||
input CEB, OCEB, CLKB, WEB, RSTB,
|
||||
input CSB2, CSB1, CSB0,
|
||||
output DOB8, DOB7, DOB6, DOB5, DOB4, DOB3, DOB2, DOB1, DOB0
|
||||
);
|
||||
parameter DATA_WIDTH_A = 9;
|
||||
parameter DATA_WIDTH_B = 9;
|
||||
(* blackbox *) (* keep *)
|
||||
module GSR (...);
|
||||
input GSR;
|
||||
endmodule
|
||||
|
||||
parameter REGMODE_A = "NOREG";
|
||||
parameter REGMODE_B = "NOREG";
|
||||
|
||||
parameter RESETMODE = "SYNC";
|
||||
parameter ASYNC_RESET_RELEASE = "SYNC";
|
||||
|
||||
parameter CSDECODE_A = "0b000";
|
||||
parameter CSDECODE_B = "0b000";
|
||||
|
||||
parameter WRITEMODE_A = "NORMAL";
|
||||
parameter WRITEMODE_B = "NORMAL";
|
||||
|
||||
parameter GSR = "ENABLED";
|
||||
parameter INIT_DATA = "STATIC";
|
||||
|
||||
parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
(* blackbox *) (* keep *)
|
||||
module SGSR (...);
|
||||
input GSR;
|
||||
input CLK;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module EHXPLLJ (
|
||||
input CLKI, CLKFB,
|
||||
input PHASESEL1, PHASESEL0, PHASEDIR, PHASESTEP,
|
||||
input LOADREG, STDBY, PLLWAKESYNC, RST, RESETM, RESETC, RESETD,
|
||||
input ENCLKOP, ENCLKOS, ENCLKOS2, ENCLKOS3, PLLCLK, PLLRST, PLLSTB, PLLWE,
|
||||
input PLLDATI7, PLLDATI6, PLLDATI5, PLLDATI4, PLLDATI3, PLLDATI2, PLLDATI1, PLLDATI0,
|
||||
input PLLADDR4, PLLADDR3, PLLADDR2, PLLADDR1, PLLADDR0,
|
||||
output CLKOP, CLKOS, CLKOS2, CLKOS3, LOCK, INTLOCK, REFCLK,
|
||||
output PLLDATO7, PLLDATO6, PLLDATO5, PLLDATO4, PLLDATO3, PLLDATO2, PLLDATO1, PLLDATO0, PLLACK,
|
||||
output DPHSRC, CLKINTFB
|
||||
);
|
||||
module DP8KC (...);
|
||||
parameter DATA_WIDTH_A = 9;
|
||||
parameter DATA_WIDTH_B = 9;
|
||||
parameter REGMODE_A = "NOREG";
|
||||
parameter REGMODE_B = "NOREG";
|
||||
parameter CSDECODE_A = "0b000";
|
||||
parameter CSDECODE_B = "0b000";
|
||||
parameter WRITEMODE_A = "NORMAL";
|
||||
parameter WRITEMODE_B = "NORMAL";
|
||||
parameter GSR = "ENABLED";
|
||||
parameter RESETMODE = "SYNC";
|
||||
parameter ASYNC_RESET_RELEASE = "SYNC";
|
||||
parameter INIT_DATA = "STATIC";
|
||||
parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
input DIA8;
|
||||
input DIA7;
|
||||
input DIA6;
|
||||
input DIA5;
|
||||
input DIA4;
|
||||
input DIA3;
|
||||
input DIA2;
|
||||
input DIA1;
|
||||
input DIA0;
|
||||
input ADA12;
|
||||
input ADA11;
|
||||
input ADA10;
|
||||
input ADA9;
|
||||
input ADA8;
|
||||
input ADA7;
|
||||
input ADA6;
|
||||
input ADA5;
|
||||
input ADA4;
|
||||
input ADA3;
|
||||
input ADA2;
|
||||
input ADA1;
|
||||
input ADA0;
|
||||
input CEA;
|
||||
input OCEA;
|
||||
input CLKA;
|
||||
input WEA;
|
||||
input CSA2;
|
||||
input CSA1;
|
||||
input CSA0;
|
||||
input RSTA;
|
||||
input DIB8;
|
||||
input DIB7;
|
||||
input DIB6;
|
||||
input DIB5;
|
||||
input DIB4;
|
||||
input DIB3;
|
||||
input DIB2;
|
||||
input DIB1;
|
||||
input DIB0;
|
||||
input ADB12;
|
||||
input ADB11;
|
||||
input ADB10;
|
||||
input ADB9;
|
||||
input ADB8;
|
||||
input ADB7;
|
||||
input ADB6;
|
||||
input ADB5;
|
||||
input ADB4;
|
||||
input ADB3;
|
||||
input ADB2;
|
||||
input ADB1;
|
||||
input ADB0;
|
||||
input CEB;
|
||||
input OCEB;
|
||||
input CLKB;
|
||||
input WEB;
|
||||
input CSB2;
|
||||
input CSB1;
|
||||
input CSB0;
|
||||
input RSTB;
|
||||
output DOA8;
|
||||
output DOA7;
|
||||
output DOA6;
|
||||
output DOA5;
|
||||
output DOA4;
|
||||
output DOA3;
|
||||
output DOA2;
|
||||
output DOA1;
|
||||
output DOA0;
|
||||
output DOB8;
|
||||
output DOB7;
|
||||
output DOB6;
|
||||
output DOB5;
|
||||
output DOB4;
|
||||
output DOB3;
|
||||
output DOB2;
|
||||
output DOB1;
|
||||
output DOB0;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module PDPW8KC (...);
|
||||
parameter DATA_WIDTH_W = 18;
|
||||
parameter DATA_WIDTH_R = 9;
|
||||
parameter REGMODE = "NOREG";
|
||||
parameter CSDECODE_W = "0b000";
|
||||
parameter CSDECODE_R = "0b000";
|
||||
parameter GSR = "ENABLED";
|
||||
parameter RESETMODE = "SYNC";
|
||||
parameter ASYNC_RESET_RELEASE = "SYNC";
|
||||
parameter INIT_DATA = "STATIC";
|
||||
parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
input DI17;
|
||||
input DI16;
|
||||
input DI15;
|
||||
input DI14;
|
||||
input DI13;
|
||||
input DI12;
|
||||
input DI11;
|
||||
input DI10;
|
||||
input DI9;
|
||||
input DI8;
|
||||
input DI7;
|
||||
input DI6;
|
||||
input DI5;
|
||||
input DI4;
|
||||
input DI3;
|
||||
input DI2;
|
||||
input DI1;
|
||||
input DI0;
|
||||
input ADW8;
|
||||
input ADW7;
|
||||
input ADW6;
|
||||
input ADW5;
|
||||
input ADW4;
|
||||
input ADW3;
|
||||
input ADW2;
|
||||
input ADW1;
|
||||
input ADW0;
|
||||
input BE1;
|
||||
input BE0;
|
||||
input CEW;
|
||||
input CLKW;
|
||||
input CSW2;
|
||||
input CSW1;
|
||||
input CSW0;
|
||||
input ADR12;
|
||||
input ADR11;
|
||||
input ADR10;
|
||||
input ADR9;
|
||||
input ADR8;
|
||||
input ADR7;
|
||||
input ADR6;
|
||||
input ADR5;
|
||||
input ADR4;
|
||||
input ADR3;
|
||||
input ADR2;
|
||||
input ADR1;
|
||||
input ADR0;
|
||||
input CER;
|
||||
input OCER;
|
||||
input CLKR;
|
||||
input CSR2;
|
||||
input CSR1;
|
||||
input CSR0;
|
||||
input RST;
|
||||
output DO17;
|
||||
output DO16;
|
||||
output DO15;
|
||||
output DO14;
|
||||
output DO13;
|
||||
output DO12;
|
||||
output DO11;
|
||||
output DO10;
|
||||
output DO9;
|
||||
output DO8;
|
||||
output DO7;
|
||||
output DO6;
|
||||
output DO5;
|
||||
output DO4;
|
||||
output DO3;
|
||||
output DO2;
|
||||
output DO1;
|
||||
output DO0;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module SP8KC (...);
|
||||
parameter DATA_WIDTH = 9;
|
||||
parameter REGMODE = "NOREG";
|
||||
parameter CSDECODE = "0b000";
|
||||
parameter WRITEMODE = "NORMAL";
|
||||
parameter GSR = "ENABLED";
|
||||
parameter RESETMODE = "SYNC";
|
||||
parameter ASYNC_RESET_RELEASE = "SYNC";
|
||||
parameter INIT_DATA = "STATIC";
|
||||
parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
input DI8;
|
||||
input DI7;
|
||||
input DI6;
|
||||
input DI5;
|
||||
input DI4;
|
||||
input DI3;
|
||||
input DI2;
|
||||
input DI1;
|
||||
input DI0;
|
||||
input AD12;
|
||||
input AD11;
|
||||
input AD10;
|
||||
input AD9;
|
||||
input AD8;
|
||||
input AD7;
|
||||
input AD6;
|
||||
input AD5;
|
||||
input AD4;
|
||||
input AD3;
|
||||
input AD2;
|
||||
input AD1;
|
||||
input AD0;
|
||||
input CE;
|
||||
input OCE;
|
||||
input CLK;
|
||||
input WE;
|
||||
input CS2;
|
||||
input CS1;
|
||||
input CS0;
|
||||
input RST;
|
||||
output DO8;
|
||||
output DO7;
|
||||
output DO6;
|
||||
output DO5;
|
||||
output DO4;
|
||||
output DO3;
|
||||
output DO2;
|
||||
output DO1;
|
||||
output DO0;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module FIFO8KB (...);
|
||||
parameter DATA_WIDTH_W = 18;
|
||||
parameter DATA_WIDTH_R = 18;
|
||||
parameter REGMODE = "NOREG";
|
||||
parameter RESETMODE = "ASYNC";
|
||||
parameter ASYNC_RESET_RELEASE = "SYNC";
|
||||
parameter CSDECODE_W = "0b00";
|
||||
parameter CSDECODE_R = "0b00";
|
||||
parameter AEPOINTER = "0b00000000000000";
|
||||
parameter AEPOINTER1 = "0b00000000000000";
|
||||
parameter AFPOINTER = "0b00000000000000";
|
||||
parameter AFPOINTER1 = "0b00000000000000";
|
||||
parameter FULLPOINTER = "0b00000000000000";
|
||||
parameter FULLPOINTER1 = "0b00000000000000";
|
||||
parameter GSR = "DISABLED";
|
||||
input DI0;
|
||||
input DI1;
|
||||
input DI2;
|
||||
input DI3;
|
||||
input DI4;
|
||||
input DI5;
|
||||
input DI6;
|
||||
input DI7;
|
||||
input DI8;
|
||||
input DI9;
|
||||
input DI10;
|
||||
input DI11;
|
||||
input DI12;
|
||||
input DI13;
|
||||
input DI14;
|
||||
input DI15;
|
||||
input DI16;
|
||||
input DI17;
|
||||
input CSW0;
|
||||
input CSW1;
|
||||
input CSR0;
|
||||
input CSR1;
|
||||
input WE;
|
||||
input RE;
|
||||
input ORE;
|
||||
input CLKW;
|
||||
input CLKR;
|
||||
input RST;
|
||||
input RPRST;
|
||||
input FULLI;
|
||||
input EMPTYI;
|
||||
output DO0;
|
||||
output DO1;
|
||||
output DO2;
|
||||
output DO3;
|
||||
output DO4;
|
||||
output DO5;
|
||||
output DO6;
|
||||
output DO7;
|
||||
output DO8;
|
||||
output DO9;
|
||||
output DO10;
|
||||
output DO11;
|
||||
output DO12;
|
||||
output DO13;
|
||||
output DO14;
|
||||
output DO15;
|
||||
output DO16;
|
||||
output DO17;
|
||||
output EF;
|
||||
output AEF;
|
||||
output AFF;
|
||||
output FF;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module DCMA (...);
|
||||
input CLK0;
|
||||
input CLK1;
|
||||
input SEL;
|
||||
output DCMOUT;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module DCCA (...);
|
||||
input CLKI;
|
||||
input CE;
|
||||
output CLKO;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module EHXPLLJ (...);
|
||||
parameter CLKI_DIV = 1;
|
||||
parameter CLKFB_DIV = 1;
|
||||
parameter CLKOP_DIV = 8;
|
||||
|
@ -122,172 +471,65 @@ module EHXPLLJ (
|
|||
parameter DCRST_ENA = "DISABLED";
|
||||
parameter DDRST_ENA = "DISABLED";
|
||||
parameter INTFB_WAKE = "DISABLED";
|
||||
input CLKI;
|
||||
input CLKFB;
|
||||
input PHASESEL1;
|
||||
input PHASESEL0;
|
||||
input PHASEDIR;
|
||||
input PHASESTEP;
|
||||
input LOADREG;
|
||||
input STDBY;
|
||||
input PLLWAKESYNC;
|
||||
input RST;
|
||||
input RESETM;
|
||||
input RESETC;
|
||||
input RESETD;
|
||||
input ENCLKOP;
|
||||
input ENCLKOS;
|
||||
input ENCLKOS2;
|
||||
input ENCLKOS3;
|
||||
input PLLCLK;
|
||||
input PLLRST;
|
||||
input PLLSTB;
|
||||
input PLLWE;
|
||||
input PLLDATI7;
|
||||
input PLLDATI6;
|
||||
input PLLDATI5;
|
||||
input PLLDATI4;
|
||||
input PLLDATI3;
|
||||
input PLLDATI2;
|
||||
input PLLDATI1;
|
||||
input PLLDATI0;
|
||||
input PLLADDR4;
|
||||
input PLLADDR3;
|
||||
input PLLADDR2;
|
||||
input PLLADDR1;
|
||||
input PLLADDR0;
|
||||
output CLKOP;
|
||||
output CLKOS;
|
||||
output CLKOS2;
|
||||
output CLKOS3;
|
||||
output LOCK;
|
||||
output INTLOCK;
|
||||
output REFCLK;
|
||||
output PLLDATO7;
|
||||
output PLLDATO6;
|
||||
output PLLDATO5;
|
||||
output PLLDATO4;
|
||||
output PLLDATO3;
|
||||
output PLLDATO2;
|
||||
output PLLDATO1;
|
||||
output PLLDATO0;
|
||||
output PLLACK;
|
||||
output DPHSRC;
|
||||
output CLKINTFB;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module OSCH #(
|
||||
parameter NOM_FREQ = "2.08"
|
||||
) (
|
||||
input STDBY,
|
||||
output OSC,
|
||||
output SEDSTDBY
|
||||
);
|
||||
module OSCH (...);
|
||||
parameter NOM_FREQ = "2.08";
|
||||
input STDBY;
|
||||
output OSC;
|
||||
output SEDSTDBY;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module DCCA (
|
||||
input CLKI,
|
||||
input CE,
|
||||
output CLKO
|
||||
);
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module DCMA (
|
||||
input CLK0,
|
||||
input CLK1,
|
||||
input SEL,
|
||||
output DCMOUT
|
||||
);
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module PDPW8KC (
|
||||
input DI17, DI16, DI15, DI14, DI13, DI12, DI11, DI10, DI9, DI8, DI7, DI6, DI5, DI4, DI3, DI2, DI1, DI0,
|
||||
input ADW8, ADW7, ADW6, ADW5, ADW4, ADW3, ADW2, ADW1, ADW0,
|
||||
input BE1, BE0,
|
||||
input CEW, CLKW, CSW2, CSW1, CSW0,
|
||||
input ADR12, ADR11, ADR10, ADR9, ADR8, ADR7, ADR6, ADR5, ADR4, ADR3, ADR2, ADR1, ADR0,
|
||||
input CER, OCER, CLKR, CSR2, CSR1, CSR0, RST,
|
||||
output DO17, DO16, DO15, DO14, DO13, DO12, DO11, DO10, DO9, DO8, DO7, DO6, DO5, DO4, DO3, DO2, DO1, DO0
|
||||
);
|
||||
parameter DATA_WIDTH_W = 18;
|
||||
parameter DATA_WIDTH_R = 9;
|
||||
|
||||
parameter GSR = "ENABLED";
|
||||
|
||||
parameter REGMODE = "NOREG";
|
||||
|
||||
parameter RESETMODE = "SYNC";
|
||||
parameter ASYNC_RESET_RELEASE = "SYNC";
|
||||
|
||||
parameter CSDECODE_W = "0b000";
|
||||
parameter CSDECODE_R = "0b000";
|
||||
|
||||
parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INIT_DATA = "STATIC";
|
||||
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module SP8KC (
|
||||
input DI8, DI7, DI6, DI5, DI4, DI3, DI2, DI1, DI0,
|
||||
input AD12, AD11, AD10, AD9, AD8, AD7, AD6, AD5, AD4, AD3, AD2, AD1, AD0,
|
||||
input CE, OCE, CLK, WE, CS2, CS1, CS0, RST,
|
||||
output DO8, DO7, DO6, DO5, DO4, DO3, DO2, DO1, DO0
|
||||
);
|
||||
parameter DATA_WIDTH = 9;
|
||||
parameter GSR = "ENABLED";
|
||||
|
||||
parameter REGMODE = "NOREG";
|
||||
|
||||
parameter RESETMODE = "SYNC";
|
||||
parameter ASYNC_RESET_RELEASE = "SYNC";
|
||||
|
||||
parameter CSDECODE = "0b000";
|
||||
|
||||
parameter WRITEMODE = "NORMAL";
|
||||
|
||||
parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INIT_DATA = "STATIC";
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module FIFO8KB (
|
||||
input DI0, DI1, DI2, DI3, DI4, DI5, DI6, DI7, DI8, DI9, DI10, DI11, DI12, DI13, DI14, DI15, DI16, DI17,
|
||||
input CSW0, CSW1, CSR0, CSR1, WE, RE, ORE, CLKW, CLKR, RST, RPRST, FULLI, EMPTYI,
|
||||
output DO0, DO1, DO2, DO3, DO4, DO5, DO6, DO7, DO8, DO9, DO10, DO11, DO12, DO13, DO14, DO15, DO16, DO17,
|
||||
input EF, AEF, AFF, FF
|
||||
);
|
||||
parameter DATA_WIDTH_W = 18;
|
||||
parameter DATA_WIDTH_R = 18;
|
||||
|
||||
parameter GSR = "DISABLED";
|
||||
|
||||
parameter REGMODE = "NOREG";
|
||||
|
||||
parameter RESETMODE = "ASYNC";
|
||||
parameter ASYNC_RESET_RELEASE = "SYNC";
|
||||
|
||||
parameter CSDECODE_W = "0b00";
|
||||
parameter CSDECODE_R = "0b00";
|
||||
|
||||
parameter AEPOINTER = "0b00000000000000";
|
||||
parameter AEPOINTER1 = "0b00000000000000";
|
||||
parameter AFPOINTER = "0b00000000000000";
|
||||
parameter AFPOINTER1 = "0b00000000000000";
|
||||
parameter FULLPOINTER = "0b00000000000000";
|
||||
parameter FULLPOINTER1 = "0b00000000000000";
|
||||
endmodule
|
||||
|
|
|
@ -1,81 +1,430 @@
|
|||
(* blackbox *)
|
||||
module DP8KC(
|
||||
input DIA8, DIA7, DIA6, DIA5, DIA4, DIA3, DIA2, DIA1, DIA0,
|
||||
input ADA12, ADA11, ADA10, ADA9, ADA8, ADA7, ADA6, ADA5, ADA4, ADA3, ADA2, ADA1, ADA0,
|
||||
input CEA, OCEA, CLKA, WEA, RSTA,
|
||||
input CSA2, CSA1, CSA0,
|
||||
output DOA8, DOA7, DOA6, DOA5, DOA4, DOA3, DOA2, DOA1, DOA0,
|
||||
// Created by cells_xtra.py from Lattice models
|
||||
|
||||
input DIB8, DIB7, DIB6, DIB5, DIB4, DIB3, DIB2, DIB1, DIB0,
|
||||
input ADB12, ADB11, ADB10, ADB9, ADB8, ADB7, ADB6, ADB5, ADB4, ADB3, ADB2, ADB1, ADB0,
|
||||
input CEB, OCEB, CLKB, WEB, RSTB,
|
||||
input CSB2, CSB1, CSB0,
|
||||
output DOB8, DOB7, DOB6, DOB5, DOB4, DOB3, DOB2, DOB1, DOB0
|
||||
);
|
||||
parameter DATA_WIDTH_A = 9;
|
||||
parameter DATA_WIDTH_B = 9;
|
||||
(* blackbox *) (* keep *)
|
||||
module GSR (...);
|
||||
input GSR;
|
||||
endmodule
|
||||
|
||||
parameter REGMODE_A = "NOREG";
|
||||
parameter REGMODE_B = "NOREG";
|
||||
|
||||
parameter RESETMODE = "SYNC";
|
||||
parameter ASYNC_RESET_RELEASE = "SYNC";
|
||||
|
||||
parameter CSDECODE_A = "0b000";
|
||||
parameter CSDECODE_B = "0b000";
|
||||
|
||||
parameter WRITEMODE_A = "NORMAL";
|
||||
parameter WRITEMODE_B = "NORMAL";
|
||||
|
||||
parameter GSR = "ENABLED";
|
||||
parameter INIT_DATA = "STATIC";
|
||||
|
||||
parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
(* blackbox *) (* keep *)
|
||||
module SGSR (...);
|
||||
input GSR;
|
||||
input CLK;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module EHXPLLJ (
|
||||
input CLKI, CLKFB,
|
||||
input PHASESEL1, PHASESEL0, PHASEDIR, PHASESTEP,
|
||||
input LOADREG, STDBY, PLLWAKESYNC, RST, RESETM, RESETC, RESETD,
|
||||
input ENCLKOP, ENCLKOS, ENCLKOS2, ENCLKOS3, PLLCLK, PLLRST, PLLSTB, PLLWE,
|
||||
input PLLDATI7, PLLDATI6, PLLDATI5, PLLDATI4, PLLDATI3, PLLDATI2, PLLDATI1, PLLDATI0,
|
||||
input PLLADDR4, PLLADDR3, PLLADDR2, PLLADDR1, PLLADDR0,
|
||||
output CLKOP, CLKOS, CLKOS2, CLKOS3, LOCK, INTLOCK, REFCLK,
|
||||
output PLLDATO7, PLLDATO6, PLLDATO5, PLLDATO4, PLLDATO3, PLLDATO2, PLLDATO1, PLLDATO0, PLLACK,
|
||||
output DPHSRC, CLKINTFB
|
||||
);
|
||||
module DP8KC (...);
|
||||
parameter DATA_WIDTH_A = 9;
|
||||
parameter DATA_WIDTH_B = 9;
|
||||
parameter REGMODE_A = "NOREG";
|
||||
parameter REGMODE_B = "NOREG";
|
||||
parameter CSDECODE_A = "0b000";
|
||||
parameter CSDECODE_B = "0b000";
|
||||
parameter WRITEMODE_A = "NORMAL";
|
||||
parameter WRITEMODE_B = "NORMAL";
|
||||
parameter GSR = "ENABLED";
|
||||
parameter RESETMODE = "SYNC";
|
||||
parameter ASYNC_RESET_RELEASE = "SYNC";
|
||||
parameter INIT_DATA = "STATIC";
|
||||
parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
input DIA8;
|
||||
input DIA7;
|
||||
input DIA6;
|
||||
input DIA5;
|
||||
input DIA4;
|
||||
input DIA3;
|
||||
input DIA2;
|
||||
input DIA1;
|
||||
input DIA0;
|
||||
input ADA12;
|
||||
input ADA11;
|
||||
input ADA10;
|
||||
input ADA9;
|
||||
input ADA8;
|
||||
input ADA7;
|
||||
input ADA6;
|
||||
input ADA5;
|
||||
input ADA4;
|
||||
input ADA3;
|
||||
input ADA2;
|
||||
input ADA1;
|
||||
input ADA0;
|
||||
input CEA;
|
||||
input OCEA;
|
||||
input CLKA;
|
||||
input WEA;
|
||||
input CSA2;
|
||||
input CSA1;
|
||||
input CSA0;
|
||||
input RSTA;
|
||||
input DIB8;
|
||||
input DIB7;
|
||||
input DIB6;
|
||||
input DIB5;
|
||||
input DIB4;
|
||||
input DIB3;
|
||||
input DIB2;
|
||||
input DIB1;
|
||||
input DIB0;
|
||||
input ADB12;
|
||||
input ADB11;
|
||||
input ADB10;
|
||||
input ADB9;
|
||||
input ADB8;
|
||||
input ADB7;
|
||||
input ADB6;
|
||||
input ADB5;
|
||||
input ADB4;
|
||||
input ADB3;
|
||||
input ADB2;
|
||||
input ADB1;
|
||||
input ADB0;
|
||||
input CEB;
|
||||
input OCEB;
|
||||
input CLKB;
|
||||
input WEB;
|
||||
input CSB2;
|
||||
input CSB1;
|
||||
input CSB0;
|
||||
input RSTB;
|
||||
output DOA8;
|
||||
output DOA7;
|
||||
output DOA6;
|
||||
output DOA5;
|
||||
output DOA4;
|
||||
output DOA3;
|
||||
output DOA2;
|
||||
output DOA1;
|
||||
output DOA0;
|
||||
output DOB8;
|
||||
output DOB7;
|
||||
output DOB6;
|
||||
output DOB5;
|
||||
output DOB4;
|
||||
output DOB3;
|
||||
output DOB2;
|
||||
output DOB1;
|
||||
output DOB0;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module PDPW8KC (...);
|
||||
parameter DATA_WIDTH_W = 18;
|
||||
parameter DATA_WIDTH_R = 9;
|
||||
parameter REGMODE = "NOREG";
|
||||
parameter CSDECODE_W = "0b000";
|
||||
parameter CSDECODE_R = "0b000";
|
||||
parameter GSR = "ENABLED";
|
||||
parameter RESETMODE = "SYNC";
|
||||
parameter ASYNC_RESET_RELEASE = "SYNC";
|
||||
parameter INIT_DATA = "STATIC";
|
||||
parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
input DI17;
|
||||
input DI16;
|
||||
input DI15;
|
||||
input DI14;
|
||||
input DI13;
|
||||
input DI12;
|
||||
input DI11;
|
||||
input DI10;
|
||||
input DI9;
|
||||
input DI8;
|
||||
input DI7;
|
||||
input DI6;
|
||||
input DI5;
|
||||
input DI4;
|
||||
input DI3;
|
||||
input DI2;
|
||||
input DI1;
|
||||
input DI0;
|
||||
input ADW8;
|
||||
input ADW7;
|
||||
input ADW6;
|
||||
input ADW5;
|
||||
input ADW4;
|
||||
input ADW3;
|
||||
input ADW2;
|
||||
input ADW1;
|
||||
input ADW0;
|
||||
input BE1;
|
||||
input BE0;
|
||||
input CEW;
|
||||
input CLKW;
|
||||
input CSW2;
|
||||
input CSW1;
|
||||
input CSW0;
|
||||
input ADR12;
|
||||
input ADR11;
|
||||
input ADR10;
|
||||
input ADR9;
|
||||
input ADR8;
|
||||
input ADR7;
|
||||
input ADR6;
|
||||
input ADR5;
|
||||
input ADR4;
|
||||
input ADR3;
|
||||
input ADR2;
|
||||
input ADR1;
|
||||
input ADR0;
|
||||
input CER;
|
||||
input OCER;
|
||||
input CLKR;
|
||||
input CSR2;
|
||||
input CSR1;
|
||||
input CSR0;
|
||||
input RST;
|
||||
output DO17;
|
||||
output DO16;
|
||||
output DO15;
|
||||
output DO14;
|
||||
output DO13;
|
||||
output DO12;
|
||||
output DO11;
|
||||
output DO10;
|
||||
output DO9;
|
||||
output DO8;
|
||||
output DO7;
|
||||
output DO6;
|
||||
output DO5;
|
||||
output DO4;
|
||||
output DO3;
|
||||
output DO2;
|
||||
output DO1;
|
||||
output DO0;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module SP8KC (...);
|
||||
parameter DATA_WIDTH = 9;
|
||||
parameter REGMODE = "NOREG";
|
||||
parameter CSDECODE = "0b000";
|
||||
parameter WRITEMODE = "NORMAL";
|
||||
parameter GSR = "ENABLED";
|
||||
parameter RESETMODE = "SYNC";
|
||||
parameter ASYNC_RESET_RELEASE = "SYNC";
|
||||
parameter INIT_DATA = "STATIC";
|
||||
parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
input DI8;
|
||||
input DI7;
|
||||
input DI6;
|
||||
input DI5;
|
||||
input DI4;
|
||||
input DI3;
|
||||
input DI2;
|
||||
input DI1;
|
||||
input DI0;
|
||||
input AD12;
|
||||
input AD11;
|
||||
input AD10;
|
||||
input AD9;
|
||||
input AD8;
|
||||
input AD7;
|
||||
input AD6;
|
||||
input AD5;
|
||||
input AD4;
|
||||
input AD3;
|
||||
input AD2;
|
||||
input AD1;
|
||||
input AD0;
|
||||
input CE;
|
||||
input OCE;
|
||||
input CLK;
|
||||
input WE;
|
||||
input CS2;
|
||||
input CS1;
|
||||
input CS0;
|
||||
input RST;
|
||||
output DO8;
|
||||
output DO7;
|
||||
output DO6;
|
||||
output DO5;
|
||||
output DO4;
|
||||
output DO3;
|
||||
output DO2;
|
||||
output DO1;
|
||||
output DO0;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module FIFO8KB (...);
|
||||
parameter DATA_WIDTH_W = 18;
|
||||
parameter DATA_WIDTH_R = 18;
|
||||
parameter REGMODE = "NOREG";
|
||||
parameter RESETMODE = "ASYNC";
|
||||
parameter ASYNC_RESET_RELEASE = "SYNC";
|
||||
parameter CSDECODE_W = "0b00";
|
||||
parameter CSDECODE_R = "0b00";
|
||||
parameter AEPOINTER = "0b00000000000000";
|
||||
parameter AEPOINTER1 = "0b00000000000000";
|
||||
parameter AFPOINTER = "0b00000000000000";
|
||||
parameter AFPOINTER1 = "0b00000000000000";
|
||||
parameter FULLPOINTER = "0b00000000000000";
|
||||
parameter FULLPOINTER1 = "0b00000000000000";
|
||||
parameter GSR = "DISABLED";
|
||||
input DI0;
|
||||
input DI1;
|
||||
input DI2;
|
||||
input DI3;
|
||||
input DI4;
|
||||
input DI5;
|
||||
input DI6;
|
||||
input DI7;
|
||||
input DI8;
|
||||
input DI9;
|
||||
input DI10;
|
||||
input DI11;
|
||||
input DI12;
|
||||
input DI13;
|
||||
input DI14;
|
||||
input DI15;
|
||||
input DI16;
|
||||
input DI17;
|
||||
input CSW0;
|
||||
input CSW1;
|
||||
input CSR0;
|
||||
input CSR1;
|
||||
input WE;
|
||||
input RE;
|
||||
input ORE;
|
||||
input CLKW;
|
||||
input CLKR;
|
||||
input RST;
|
||||
input RPRST;
|
||||
input FULLI;
|
||||
input EMPTYI;
|
||||
output DO0;
|
||||
output DO1;
|
||||
output DO2;
|
||||
output DO3;
|
||||
output DO4;
|
||||
output DO5;
|
||||
output DO6;
|
||||
output DO7;
|
||||
output DO8;
|
||||
output DO9;
|
||||
output DO10;
|
||||
output DO11;
|
||||
output DO12;
|
||||
output DO13;
|
||||
output DO14;
|
||||
output DO15;
|
||||
output DO16;
|
||||
output DO17;
|
||||
output EF;
|
||||
output AEF;
|
||||
output AFF;
|
||||
output FF;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module DCMA (...);
|
||||
input CLK0;
|
||||
input CLK1;
|
||||
input SEL;
|
||||
output DCMOUT;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module DCCA (...);
|
||||
input CLKI;
|
||||
input CE;
|
||||
output CLKO;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module EHXPLLJ (...);
|
||||
parameter CLKI_DIV = 1;
|
||||
parameter CLKFB_DIV = 1;
|
||||
parameter CLKOP_DIV = 8;
|
||||
|
@ -122,172 +471,66 @@ module EHXPLLJ (
|
|||
parameter DCRST_ENA = "DISABLED";
|
||||
parameter DDRST_ENA = "DISABLED";
|
||||
parameter INTFB_WAKE = "DISABLED";
|
||||
input CLKI;
|
||||
input CLKFB;
|
||||
input PHASESEL1;
|
||||
input PHASESEL0;
|
||||
input PHASEDIR;
|
||||
input PHASESTEP;
|
||||
input LOADREG;
|
||||
input STDBY;
|
||||
input PLLWAKESYNC;
|
||||
input RST;
|
||||
input RESETM;
|
||||
input RESETC;
|
||||
input RESETD;
|
||||
input ENCLKOP;
|
||||
input ENCLKOS;
|
||||
input ENCLKOS2;
|
||||
input ENCLKOS3;
|
||||
input PLLCLK;
|
||||
input PLLRST;
|
||||
input PLLSTB;
|
||||
input PLLWE;
|
||||
input PLLDATI7;
|
||||
input PLLDATI6;
|
||||
input PLLDATI5;
|
||||
input PLLDATI4;
|
||||
input PLLDATI3;
|
||||
input PLLDATI2;
|
||||
input PLLDATI1;
|
||||
input PLLDATI0;
|
||||
input PLLADDR4;
|
||||
input PLLADDR3;
|
||||
input PLLADDR2;
|
||||
input PLLADDR1;
|
||||
input PLLADDR0;
|
||||
output CLKOP;
|
||||
output CLKOS;
|
||||
output CLKOS2;
|
||||
output CLKOS3;
|
||||
output LOCK;
|
||||
output INTLOCK;
|
||||
output REFCLK;
|
||||
output PLLDATO7;
|
||||
output PLLDATO6;
|
||||
output PLLDATO5;
|
||||
output PLLDATO4;
|
||||
output PLLDATO3;
|
||||
output PLLDATO2;
|
||||
output PLLDATO1;
|
||||
output PLLDATO0;
|
||||
output PLLACK;
|
||||
output DPHSRC;
|
||||
output CLKINTFB;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module OSCH #(
|
||||
parameter NOM_FREQ = "2.08"
|
||||
) (
|
||||
input STDBY,
|
||||
output OSC,
|
||||
output SEDSTDBY
|
||||
);
|
||||
module OSCJ (...);
|
||||
parameter NOM_FREQ = "2.08";
|
||||
input STDBY;
|
||||
output OSC;
|
||||
output SEDSTDBY;
|
||||
output OSCESB;
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module DCCA (
|
||||
input CLKI,
|
||||
input CE,
|
||||
output CLKO
|
||||
);
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module DCMA (
|
||||
input CLK0,
|
||||
input CLK1,
|
||||
input SEL,
|
||||
output DCMOUT
|
||||
);
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module PDPW8KC (
|
||||
input DI17, DI16, DI15, DI14, DI13, DI12, DI11, DI10, DI9, DI8, DI7, DI6, DI5, DI4, DI3, DI2, DI1, DI0,
|
||||
input ADW8, ADW7, ADW6, ADW5, ADW4, ADW3, ADW2, ADW1, ADW0,
|
||||
input BE1, BE0,
|
||||
input CEW, CLKW, CSW2, CSW1, CSW0,
|
||||
input ADR12, ADR11, ADR10, ADR9, ADR8, ADR7, ADR6, ADR5, ADR4, ADR3, ADR2, ADR1, ADR0,
|
||||
input CER, OCER, CLKR, CSR2, CSR1, CSR0, RST,
|
||||
output DO17, DO16, DO15, DO14, DO13, DO12, DO11, DO10, DO9, DO8, DO7, DO6, DO5, DO4, DO3, DO2, DO1, DO0
|
||||
);
|
||||
parameter DATA_WIDTH_W = 18;
|
||||
parameter DATA_WIDTH_R = 9;
|
||||
|
||||
parameter GSR = "ENABLED";
|
||||
|
||||
parameter REGMODE = "NOREG";
|
||||
|
||||
parameter RESETMODE = "SYNC";
|
||||
parameter ASYNC_RESET_RELEASE = "SYNC";
|
||||
|
||||
parameter CSDECODE_W = "0b000";
|
||||
parameter CSDECODE_R = "0b000";
|
||||
|
||||
parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INIT_DATA = "STATIC";
|
||||
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module SP8KC (
|
||||
input DI8, DI7, DI6, DI5, DI4, DI3, DI2, DI1, DI0,
|
||||
input AD12, AD11, AD10, AD9, AD8, AD7, AD6, AD5, AD4, AD3, AD2, AD1, AD0,
|
||||
input CE, OCE, CLK, WE, CS2, CS1, CS0, RST,
|
||||
output DO8, DO7, DO6, DO5, DO4, DO3, DO2, DO1, DO0
|
||||
);
|
||||
parameter DATA_WIDTH = 9;
|
||||
parameter GSR = "ENABLED";
|
||||
|
||||
parameter REGMODE = "NOREG";
|
||||
|
||||
parameter RESETMODE = "SYNC";
|
||||
parameter ASYNC_RESET_RELEASE = "SYNC";
|
||||
|
||||
parameter CSDECODE = "0b000";
|
||||
|
||||
parameter WRITEMODE = "NORMAL";
|
||||
|
||||
parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
||||
parameter INIT_DATA = "STATIC";
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module FIFO8KB (
|
||||
input DI0, DI1, DI2, DI3, DI4, DI5, DI6, DI7, DI8, DI9, DI10, DI11, DI12, DI13, DI14, DI15, DI16, DI17,
|
||||
input CSW0, CSW1, CSR0, CSR1, WE, RE, ORE, CLKW, CLKR, RST, RPRST, FULLI, EMPTYI,
|
||||
output DO0, DO1, DO2, DO3, DO4, DO5, DO6, DO7, DO8, DO9, DO10, DO11, DO12, DO13, DO14, DO15, DO16, DO17,
|
||||
input EF, AEF, AFF, FF
|
||||
);
|
||||
parameter DATA_WIDTH_W = 18;
|
||||
parameter DATA_WIDTH_R = 18;
|
||||
|
||||
parameter GSR = "DISABLED";
|
||||
|
||||
parameter REGMODE = "NOREG";
|
||||
|
||||
parameter RESETMODE = "ASYNC";
|
||||
parameter ASYNC_RESET_RELEASE = "SYNC";
|
||||
|
||||
parameter CSDECODE_W = "0b00";
|
||||
parameter CSDECODE_R = "0b00";
|
||||
|
||||
parameter AEPOINTER = "0b00000000000000";
|
||||
parameter AEPOINTER1 = "0b00000000000000";
|
||||
parameter AFPOINTER = "0b00000000000000";
|
||||
parameter AFPOINTER1 = "0b00000000000000";
|
||||
parameter FULLPOINTER = "0b00000000000000";
|
||||
parameter FULLPOINTER1 = "0b00000000000000";
|
||||
endmodule
|
||||
|
|
|
@ -0,0 +1,854 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
# Based on Xilinx cells_xtra.py; modified for Lattice's structure
|
||||
|
||||
from argparse import ArgumentParser
|
||||
from io import StringIO
|
||||
from enum import Enum, auto
|
||||
import os.path
|
||||
import sys
|
||||
import re
|
||||
|
||||
|
||||
class Cell:
|
||||
def __init__(self, name, keep=False, port_attrs={}):
|
||||
self.name = name
|
||||
self.keep = keep
|
||||
self.port_attrs = port_attrs
|
||||
self.found = False
|
||||
|
||||
class State(Enum):
|
||||
OUTSIDE = auto()
|
||||
IN_MODULE = auto()
|
||||
IN_OTHER_MODULE = auto()
|
||||
IN_FUNCTION = auto()
|
||||
IN_TASK = auto()
|
||||
|
||||
devices = [
|
||||
("cells_bb_ecp5.v", "ecp5u", [
|
||||
#Cell("AND2"),
|
||||
#Cell("AND3"),
|
||||
#Cell("AND4"),
|
||||
#Cell("AND5"),
|
||||
#Cell("BB"),
|
||||
#Cell("BBPD"),
|
||||
#Cell("BBPU"),
|
||||
#Cell("CCU2C"),
|
||||
#Cell("FD1P3AX"),
|
||||
#Cell("FD1P3AY"),
|
||||
#Cell("FD1P3BX"),
|
||||
#Cell("FD1P3DX"),
|
||||
#Cell("FD1P3IX"),
|
||||
#Cell("FD1P3JX"),
|
||||
#Cell("FD1S3AX"),
|
||||
#Cell("FD1S3AY"),
|
||||
#Cell("FD1S3BX"),
|
||||
#Cell("FD1S3DX"),
|
||||
#Cell("FD1S3IX"),
|
||||
#Cell("FD1S3JX"),
|
||||
#Cell("FL1P3AY"),
|
||||
#Cell("FL1P3AZ"),
|
||||
#Cell("FL1P3BX"),
|
||||
#Cell("FL1P3DX"),
|
||||
#Cell("FL1P3IY"),
|
||||
#Cell("FL1P3JY"),
|
||||
#Cell("FL1S3AX"),
|
||||
#Cell("FL1S3AY"),
|
||||
Cell("GSR", True),
|
||||
#Cell("IB"),
|
||||
#Cell("IBPD"),
|
||||
#Cell("IBPU"),
|
||||
#Cell("IFS1P3BX"),
|
||||
#Cell("IFS1P3DX"),
|
||||
#Cell("IFS1P3IX"),
|
||||
#Cell("IFS1P3JX"),
|
||||
#Cell("IFS1S1B"),
|
||||
#Cell("IFS1S1D"),
|
||||
#Cell("IFS1S1I"),
|
||||
#Cell("IFS1S1J"),
|
||||
#Cell("ILVDS"),
|
||||
#Cell("INV"),
|
||||
#Cell("L6MUX21"),
|
||||
#Cell("LUT4"),
|
||||
#Cell("LUT5"),
|
||||
#Cell("LUT6"),
|
||||
#Cell("LUT7"),
|
||||
#Cell("LUT8"),
|
||||
#Cell("MUX161"),
|
||||
#Cell("MUX21"),
|
||||
#Cell("MUX321"),
|
||||
#Cell("MUX41"),
|
||||
#Cell("MUX81"),
|
||||
#Cell("ND2"),
|
||||
#Cell("ND3"),
|
||||
#Cell("ND4"),
|
||||
#Cell("ND5"),
|
||||
#Cell("NR2"),
|
||||
#Cell("NR3"),
|
||||
#Cell("NR4"),
|
||||
#Cell("NR5"),
|
||||
#Cell("OB"),
|
||||
#Cell("OBCO"),
|
||||
#Cell("OBZ"),
|
||||
#Cell("OBZPU"),
|
||||
#Cell("OFS1P3BX"),
|
||||
#Cell("OFS1P3DX"),
|
||||
#Cell("OFS1P3IX"),
|
||||
#Cell("OFS1P3JX"),
|
||||
#Cell("OLVDS"),
|
||||
#Cell("OR2"),
|
||||
#Cell("OR3"),
|
||||
#Cell("OR4"),
|
||||
#Cell("OR5"),
|
||||
#Cell("PFUMX"),
|
||||
Cell("PUR"),
|
||||
#Cell("ROM128X1A"),
|
||||
#Cell("ROM16X1A"),
|
||||
#Cell("ROM256X1A"),
|
||||
#Cell("ROM32X1A"),
|
||||
#Cell("ROM64X1A"),
|
||||
Cell("SGSR", True),
|
||||
#Cell("VHI"),
|
||||
#Cell("VLO"),
|
||||
#Cell("XNOR2"),
|
||||
#Cell("XNOR3"),
|
||||
#Cell("XNOR4"),
|
||||
#Cell("XNOR5"),
|
||||
#Cell("XOR11"),
|
||||
#Cell("XOR2"),
|
||||
#Cell("XOR21"),
|
||||
#Cell("XOR3"),
|
||||
#Cell("XOR4"),
|
||||
#Cell("XOR5"),
|
||||
Cell("DP16KD"),
|
||||
Cell("PDPW16KD"),
|
||||
#Cell("DPR16X4C"),
|
||||
#Cell("SPR16X4C"),
|
||||
#Cell("LVDSOB"),
|
||||
#Cell("IMIPI"),
|
||||
#Cell("MULT9X9C"),
|
||||
#Cell("MULT9X9D"),
|
||||
#Cell("MULT18X18C"),
|
||||
Cell("MULT18X18D"),
|
||||
#Cell("ALU24A"),
|
||||
#Cell("ALU54A"),
|
||||
#Cell("ALU24B"),
|
||||
Cell("ALU54B"),
|
||||
#Cell("PRADD9A"),
|
||||
#Cell("PRADD18A"),
|
||||
#Cell("BCINRD"),
|
||||
#Cell("BCLVDSOB"),
|
||||
#Cell("INRDB"),
|
||||
Cell("CLKDIVF"),
|
||||
Cell("PCSCLKDIV"),
|
||||
Cell("DCSC"),
|
||||
Cell("DCCA"),
|
||||
Cell("ECLKSYNCB"),
|
||||
Cell("ECLKBRIDGECS"),
|
||||
#Cell("PLLREFCS"),
|
||||
Cell("DELAYF"),
|
||||
Cell("DELAYG"),
|
||||
#Cell("START"),
|
||||
Cell("USRMCLK", True),
|
||||
Cell("DQSBUFM"),
|
||||
Cell("DDRDLLA"),
|
||||
Cell("DLLDELD"),
|
||||
Cell("IDDRX1F"),
|
||||
Cell("IDDRX2F"),
|
||||
Cell("IDDR71B"),
|
||||
Cell("IDDRX2DQA"),
|
||||
Cell("ODDRX1F"),
|
||||
Cell("ODDRX2F"),
|
||||
Cell("ODDR71B"),
|
||||
Cell("OSHX2A"),
|
||||
Cell("TSHX2DQA"),
|
||||
Cell("TSHX2DQSA"),
|
||||
Cell("ODDRX2DQA"),
|
||||
Cell("ODDRX2DQSB"),
|
||||
Cell("EHXPLLL"),
|
||||
Cell("DTR"),
|
||||
Cell("OSCG"),
|
||||
Cell("EXTREFB"),
|
||||
Cell("JTAGG", True, port_attrs={'TCK': ['iopad_external_pin'], 'TMS': ['iopad_external_pin'], 'TDO': ['iopad_external_pin'], 'TDI': ['iopad_external_pin']}),
|
||||
#Cell("SEDGA"),
|
||||
Cell("DCUA", True, port_attrs={'CH0_HDINP': ['iopad_external_pin'], 'CH1_HDINP': ['iopad_external_pin'], 'CH0_HDINN': ['iopad_external_pin'], 'CH1_HDINN': ['iopad_external_pin']}),
|
||||
]),
|
||||
("cells_bb_xo2.v", "machxo2", [
|
||||
#Cell("AGEB2"),
|
||||
#Cell("ALEB2"),
|
||||
#Cell("AND2"),
|
||||
#Cell("AND3"),
|
||||
#Cell("AND4"),
|
||||
#Cell("AND5"),
|
||||
#Cell("ANEB2"),
|
||||
#Cell("BB"),
|
||||
#Cell("BBPD"),
|
||||
#Cell("BBPU"),
|
||||
#Cell("BBW"),
|
||||
#Cell("CB2"),
|
||||
#Cell("CD2"),
|
||||
#Cell("CU2"),
|
||||
#Cell("FADD2B"),
|
||||
#Cell("FADSU2"),
|
||||
#Cell("FD1P3AX"),
|
||||
#Cell("FD1P3AY"),
|
||||
#Cell("FD1P3BX"),
|
||||
#Cell("FD1P3DX"),
|
||||
#Cell("FD1P3IX"),
|
||||
#Cell("FD1P3JX"),
|
||||
#Cell("FD1S1A"),
|
||||
#Cell("FD1S1AY"),
|
||||
#Cell("FD1S1B"),
|
||||
#Cell("FD1S1D"),
|
||||
#Cell("FD1S1I"),
|
||||
#Cell("FD1S1J"),
|
||||
#Cell("FD1S3AX"),
|
||||
#Cell("FD1S3AY"),
|
||||
#Cell("FD1S3BX"),
|
||||
#Cell("FD1S3DX"),
|
||||
#Cell("FD1S3IX"),
|
||||
#Cell("FD1S3JX"),
|
||||
#Cell("FL1P3AY"),
|
||||
#Cell("FL1P3AZ"),
|
||||
#Cell("FL1P3BX"),
|
||||
#Cell("FL1P3DX"),
|
||||
#Cell("FL1P3IY"),
|
||||
#Cell("FL1P3JY"),
|
||||
#Cell("FL1S1A"),
|
||||
#Cell("FL1S1AY"),
|
||||
#Cell("FL1S1B"),
|
||||
#Cell("FL1S1D"),
|
||||
#Cell("FL1S1I"),
|
||||
#Cell("FL1S1J"),
|
||||
#Cell("FL1S3AX"),
|
||||
#Cell("FL1S3AY"),
|
||||
#Cell("FSUB2B"),
|
||||
Cell("GSR", True),
|
||||
#Cell("IB"),
|
||||
#Cell("IBPD"),
|
||||
#Cell("IBPU"),
|
||||
#Cell("IFS1P3BX"),
|
||||
#Cell("IFS1P3DX"),
|
||||
#Cell("IFS1P3IX"),
|
||||
#Cell("IFS1P3JX"),
|
||||
#Cell("ILVDS"),
|
||||
#Cell("INV"),
|
||||
#Cell("L6MUX21"),
|
||||
#Cell("LB2P3AX"),
|
||||
#Cell("LB2P3AY"),
|
||||
#Cell("LB2P3BX"),
|
||||
#Cell("LB2P3DX"),
|
||||
#Cell("LB2P3IX"),
|
||||
#Cell("LB2P3JX"),
|
||||
#Cell("LD2P3AX"),
|
||||
#Cell("LD2P3AY"),
|
||||
#Cell("LD2P3BX"),
|
||||
#Cell("LD2P3DX"),
|
||||
#Cell("LD2P3IX"),
|
||||
#Cell("LD2P3JX"),
|
||||
#Cell("LU2P3AX"),
|
||||
#Cell("LU2P3AY"),
|
||||
#Cell("LU2P3BX"),
|
||||
#Cell("LU2P3DX"),
|
||||
#Cell("LU2P3IX"),
|
||||
#Cell("LU2P3JX"),
|
||||
#Cell("MULT2"),
|
||||
#Cell("MUX161"),
|
||||
#Cell("MUX21"),
|
||||
#Cell("MUX321"),
|
||||
#Cell("MUX41"),
|
||||
#Cell("MUX81"),
|
||||
#Cell("ND2"),
|
||||
#Cell("ND3"),
|
||||
#Cell("ND4"),
|
||||
#Cell("ND5"),
|
||||
#Cell("NR2"),
|
||||
#Cell("NR3"),
|
||||
#Cell("NR4"),
|
||||
#Cell("NR5"),
|
||||
#Cell("OB"),
|
||||
#Cell("OBCO"),
|
||||
#Cell("OBZ"),
|
||||
#Cell("OBZPU"),
|
||||
#Cell("OFS1P3BX"),
|
||||
#Cell("OFS1P3DX"),
|
||||
#Cell("OFS1P3IX"),
|
||||
#Cell("OFS1P3JX"),
|
||||
#Cell("OLVDS"),
|
||||
#Cell("OR2"),
|
||||
#Cell("OR3"),
|
||||
#Cell("OR4"),
|
||||
#Cell("OR5"),
|
||||
#Cell("LUT4"),
|
||||
#Cell("LUT5"),
|
||||
#Cell("LUT6"),
|
||||
#Cell("LUT7"),
|
||||
#Cell("LUT8"),
|
||||
#Cell("PFUMX"),
|
||||
#Cell("PUR"),
|
||||
#Cell("ROM128X1A"),
|
||||
#Cell("ROM16X1A"),
|
||||
#Cell("ROM256X1A"),
|
||||
#Cell("ROM32X1A"),
|
||||
#Cell("ROM64X1A"),
|
||||
#Cell("CCU2D"),
|
||||
#Cell("VHI"),
|
||||
#Cell("VLO"),
|
||||
#Cell("XNOR2"),
|
||||
#Cell("XNOR3"),
|
||||
#Cell("XNOR4"),
|
||||
#Cell("XNOR5"),
|
||||
#Cell("XOR11"),
|
||||
#Cell("XOR2"),
|
||||
#Cell("XOR21"),
|
||||
#Cell("XOR3"),
|
||||
#Cell("XOR4"),
|
||||
#Cell("XOR5"),
|
||||
#Cell("IFS1S1B"),
|
||||
#Cell("IFS1S1D"),
|
||||
#Cell("IFS1S1I"),
|
||||
#Cell("IFS1S1J"),
|
||||
#Cell("DPR16X4C"),
|
||||
#Cell("SPR16X4C"),
|
||||
Cell("SGSR", True),
|
||||
Cell("DP8KC"),
|
||||
Cell("PDPW8KC"),
|
||||
Cell("SP8KC"),
|
||||
Cell("FIFO8KB"),
|
||||
#Cell("CLKDIVC"),
|
||||
Cell("DCMA"),
|
||||
#Cell("ECLKSYNCA"),
|
||||
#Cell("ECLKBRIDGECS"),
|
||||
Cell("DCCA"),
|
||||
#Cell("JTAGF"),
|
||||
#Cell("START"),
|
||||
#Cell("SEDFA"),
|
||||
#Cell("SEDFB"),
|
||||
#Cell("IDDRXE"),
|
||||
#Cell("IDDRX2E"),
|
||||
#Cell("IDDRX4B"),
|
||||
#Cell("IDDRDQSX1A"),
|
||||
#Cell("IDDRX71A"),
|
||||
#Cell("ODDRXE"),
|
||||
#Cell("ODDRX2E"),
|
||||
#Cell("ODDRX4B"),
|
||||
#Cell("ODDRDQSX1A"),
|
||||
#Cell("ODDRX71A"),
|
||||
#Cell("TDDRA"),
|
||||
#Cell("DQSBUFH"),
|
||||
#Cell("DQSDLLC"),
|
||||
#Cell("DELAYE"),
|
||||
#Cell("DELAYD"),
|
||||
#Cell("DLLDELC"),
|
||||
#Cell("CLKFBBUFA"),
|
||||
#Cell("PCNTR"),
|
||||
#Cell("BCINRD"),
|
||||
#Cell("BCLVDSO"),
|
||||
#Cell("INRDB"),
|
||||
#Cell("LVDSOB"),
|
||||
#Cell("PG"),
|
||||
Cell("EHXPLLJ"),
|
||||
#Cell("PLLREFCS"),
|
||||
Cell("OSCH"),
|
||||
#Cell("EFB"),
|
||||
#Cell("TSALL"),
|
||||
]),
|
||||
("cells_bb_xo3.v", "machxo3lf", [
|
||||
#Cell("AGEB2"),
|
||||
#Cell("ALEB2"),
|
||||
#Cell("AND2"),
|
||||
#Cell("AND3"),
|
||||
#Cell("AND4"),
|
||||
#Cell("AND5"),
|
||||
#Cell("ANEB2"),
|
||||
#Cell("BB"),
|
||||
#Cell("BBPD"),
|
||||
#Cell("BBPU"),
|
||||
#Cell("BBW"),
|
||||
#Cell("CB2"),
|
||||
#Cell("CD2"),
|
||||
#Cell("CU2"),
|
||||
#Cell("FADD2B"),
|
||||
#Cell("FADSU2"),
|
||||
#Cell("FD1P3AX"),
|
||||
#Cell("FD1P3AY"),
|
||||
#Cell("FD1P3BX"),
|
||||
#Cell("FD1P3DX"),
|
||||
#Cell("FD1P3IX"),
|
||||
#Cell("FD1P3JX"),
|
||||
#Cell("FD1S1A"),
|
||||
#Cell("FD1S1AY"),
|
||||
#Cell("FD1S1B"),
|
||||
#Cell("FD1S1D"),
|
||||
#Cell("FD1S1I"),
|
||||
#Cell("FD1S1J"),
|
||||
#Cell("FD1S3AX"),
|
||||
#Cell("FD1S3AY"),
|
||||
#Cell("FD1S3BX"),
|
||||
#Cell("FD1S3DX"),
|
||||
#Cell("FD1S3IX"),
|
||||
#Cell("FD1S3JX"),
|
||||
#Cell("FL1P3AY"),
|
||||
#Cell("FL1P3AZ"),
|
||||
#Cell("FL1P3BX"),
|
||||
#Cell("FL1P3DX"),
|
||||
#Cell("FL1P3IY"),
|
||||
#Cell("FL1P3JY"),
|
||||
#Cell("FL1S1A"),
|
||||
#Cell("FL1S1AY"),
|
||||
#Cell("FL1S1B"),
|
||||
#Cell("FL1S1D"),
|
||||
#Cell("FL1S1I"),
|
||||
#Cell("FL1S1J"),
|
||||
#Cell("FL1S3AX"),
|
||||
#Cell("FL1S3AY"),
|
||||
#Cell("FSUB2B"),
|
||||
Cell("GSR", True),
|
||||
#Cell("IB"),
|
||||
#Cell("IBPD"),
|
||||
#Cell("IBPU"),
|
||||
#Cell("IFS1P3BX"),
|
||||
#Cell("IFS1P3DX"),
|
||||
#Cell("IFS1P3IX"),
|
||||
#Cell("IFS1P3JX"),
|
||||
#Cell("ILVDS"),
|
||||
#Cell("INV"),
|
||||
#Cell("L6MUX21"),
|
||||
#Cell("LB2P3AX"),
|
||||
#Cell("LB2P3AY"),
|
||||
#Cell("LB2P3BX"),
|
||||
#Cell("LB2P3DX"),
|
||||
#Cell("LB2P3IX"),
|
||||
#Cell("LB2P3JX"),
|
||||
#Cell("LD2P3AX"),
|
||||
#Cell("LD2P3AY"),
|
||||
#Cell("LD2P3BX"),
|
||||
#Cell("LD2P3DX"),
|
||||
#Cell("LD2P3IX"),
|
||||
#Cell("LD2P3JX"),
|
||||
#Cell("LU2P3AX"),
|
||||
#Cell("LU2P3AY"),
|
||||
#Cell("LU2P3BX"),
|
||||
#Cell("LU2P3DX"),
|
||||
#Cell("LU2P3IX"),
|
||||
#Cell("LU2P3JX"),
|
||||
#Cell("MULT2"),
|
||||
#Cell("MUX161"),
|
||||
#Cell("MUX21"),
|
||||
#Cell("MUX321"),
|
||||
#Cell("MUX41"),
|
||||
#Cell("MUX81"),
|
||||
#Cell("ND2"),
|
||||
#Cell("ND3"),
|
||||
#Cell("ND4"),
|
||||
#Cell("ND5"),
|
||||
#Cell("NR2"),
|
||||
#Cell("NR3"),
|
||||
#Cell("NR4"),
|
||||
#Cell("NR5"),
|
||||
#Cell("OB"),
|
||||
#Cell("OBCO"),
|
||||
#Cell("OBZ"),
|
||||
#Cell("OBZPU"),
|
||||
#Cell("OFS1P3BX"),
|
||||
#Cell("OFS1P3DX"),
|
||||
#Cell("OFS1P3IX"),
|
||||
#Cell("OFS1P3JX"),
|
||||
#Cell("OLVDS"),
|
||||
#Cell("OR2"),
|
||||
#Cell("OR3"),
|
||||
#Cell("OR4"),
|
||||
#Cell("OR5"),
|
||||
#Cell("LUT4"),
|
||||
#Cell("LUT5"),
|
||||
#Cell("LUT6"),
|
||||
#Cell("LUT7"),
|
||||
#Cell("LUT8"),
|
||||
#Cell("PFUMX"),
|
||||
#Cell("PUR"),
|
||||
#Cell("ROM128X1A"),
|
||||
#Cell("ROM16X1A"),
|
||||
#Cell("ROM256X1A"),
|
||||
#Cell("ROM32X1A"),
|
||||
#Cell("ROM64X1A"),
|
||||
#Cell("CCU2D"),
|
||||
#Cell("VHI"),
|
||||
#Cell("VLO"),
|
||||
#Cell("XNOR2"),
|
||||
#Cell("XNOR3"),
|
||||
#Cell("XNOR4"),
|
||||
#Cell("XNOR5"),
|
||||
#Cell("XOR11"),
|
||||
#Cell("XOR2"),
|
||||
#Cell("XOR21"),
|
||||
#Cell("XOR3"),
|
||||
#Cell("XOR4"),
|
||||
#Cell("XOR5"),
|
||||
#Cell("IFS1S1B"),
|
||||
#Cell("IFS1S1D"),
|
||||
#Cell("IFS1S1I"),
|
||||
#Cell("IFS1S1J"),
|
||||
#Cell("DPR16X4C"),
|
||||
#Cell("SPR16X4C"),
|
||||
Cell("SGSR", True),
|
||||
Cell("DP8KC"),
|
||||
Cell("PDPW8KC"),
|
||||
Cell("SP8KC"),
|
||||
Cell("FIFO8KB"),
|
||||
#Cell("CLKDIVC"),
|
||||
Cell("DCMA"),
|
||||
#Cell("ECLKSYNCA"),
|
||||
#Cell("ECLKBRIDGECS"),
|
||||
Cell("DCCA"),
|
||||
#Cell("JTAGF"),
|
||||
#Cell("START"),
|
||||
#Cell("SEDFA"),
|
||||
#Cell("SEDFB"),
|
||||
#Cell("IDDRXE"),
|
||||
#Cell("IDDRX2E"),
|
||||
#Cell("IDDRX4B"),
|
||||
#Cell("IDDRX71A"),
|
||||
#Cell("ODDRXE"),
|
||||
#Cell("ODDRX2E"),
|
||||
#Cell("ODDRX4B"),
|
||||
#Cell("ODDRX71A"),
|
||||
#Cell("DQSDLLC"),
|
||||
#Cell("DELAYE"),
|
||||
#Cell("DELAYD"),
|
||||
#Cell("DLLDELC"),
|
||||
#Cell("CLKFBBUFA"),
|
||||
#Cell("PCNTR"),
|
||||
#Cell("BCINRD"),
|
||||
#Cell("BCLVDSO"),
|
||||
#Cell("INRDB"),
|
||||
#Cell("LVDSOB"),
|
||||
#Cell("PG"),
|
||||
Cell("EHXPLLJ"),
|
||||
#Cell("PLLREFCS"),
|
||||
Cell("OSCH"),
|
||||
#Cell("EFB"),
|
||||
#Cell("TSALL"),
|
||||
]),
|
||||
("cells_bb_xo3d.v", "machxo3d", [
|
||||
#Cell("AGEB2"),
|
||||
#Cell("ALEB2"),
|
||||
#Cell("AND2"),
|
||||
#Cell("AND3"),
|
||||
#Cell("AND4"),
|
||||
#Cell("AND5"),
|
||||
#Cell("ANEB2"),
|
||||
#Cell("BB"),
|
||||
#Cell("BBPD"),
|
||||
#Cell("BBPU"),
|
||||
#Cell("BBI3C"),
|
||||
#Cell("BBW"),
|
||||
#Cell("CB2"),
|
||||
#Cell("CD2"),
|
||||
#Cell("CU2"),
|
||||
#Cell("FADD2B"),
|
||||
#Cell("FADSU2"),
|
||||
#Cell("FD1P3AX"),
|
||||
#Cell("FD1P3AY"),
|
||||
#Cell("FD1P3BX"),
|
||||
#Cell("FD1P3DX"),
|
||||
#Cell("FD1P3IX"),
|
||||
#Cell("FD1P3JX"),
|
||||
#Cell("FD1S1A"),
|
||||
#Cell("FD1S1AY"),
|
||||
#Cell("FD1S1B"),
|
||||
#Cell("FD1S1D"),
|
||||
#Cell("FD1S1I"),
|
||||
#Cell("FD1S1J"),
|
||||
#Cell("FD1S3AX"),
|
||||
#Cell("FD1S3AY"),
|
||||
#Cell("FD1S3BX"),
|
||||
#Cell("FD1S3DX"),
|
||||
#Cell("FD1S3IX"),
|
||||
#Cell("FD1S3JX"),
|
||||
#Cell("FL1P3AY"),
|
||||
#Cell("FL1P3AZ"),
|
||||
#Cell("FL1P3BX"),
|
||||
#Cell("FL1P3DX"),
|
||||
#Cell("FL1P3IY"),
|
||||
#Cell("FL1P3JY"),
|
||||
#Cell("FL1S1A"),
|
||||
#Cell("FL1S1AY"),
|
||||
#Cell("FL1S1B"),
|
||||
#Cell("FL1S1D"),
|
||||
#Cell("FL1S1I"),
|
||||
#Cell("FL1S1J"),
|
||||
#Cell("FL1S3AX"),
|
||||
#Cell("FL1S3AY"),
|
||||
#Cell("FSUB2B"),
|
||||
Cell("GSR", True),
|
||||
#Cell("IB"),
|
||||
#Cell("IBPD"),
|
||||
#Cell("IBPU"),
|
||||
#Cell("IFS1P3BX"),
|
||||
#Cell("IFS1P3DX"),
|
||||
#Cell("IFS1P3IX"),
|
||||
#Cell("IFS1P3JX"),
|
||||
#Cell("ILVDS"),
|
||||
#Cell("INV"),
|
||||
#Cell("L6MUX21"),
|
||||
#Cell("LB2P3AX"),
|
||||
#Cell("LB2P3AY"),
|
||||
#Cell("LB2P3BX"),
|
||||
#Cell("LB2P3DX"),
|
||||
#Cell("LB2P3IX"),
|
||||
#Cell("LB2P3JX"),
|
||||
#Cell("LD2P3AX"),
|
||||
#Cell("LD2P3AY"),
|
||||
#Cell("LD2P3BX"),
|
||||
#Cell("LD2P3DX"),
|
||||
#Cell("LD2P3IX"),
|
||||
#Cell("LD2P3JX"),
|
||||
#Cell("LU2P3AX"),
|
||||
#Cell("LU2P3AY"),
|
||||
#Cell("LU2P3BX"),
|
||||
#Cell("LU2P3DX"),
|
||||
#Cell("LU2P3IX"),
|
||||
#Cell("LU2P3JX"),
|
||||
#Cell("MULT2"),
|
||||
#Cell("MUX161"),
|
||||
#Cell("MUX21"),
|
||||
#Cell("MUX321"),
|
||||
#Cell("MUX41"),
|
||||
#Cell("MUX81"),
|
||||
#Cell("ND2"),
|
||||
#Cell("ND3"),
|
||||
#Cell("ND4"),
|
||||
#Cell("ND5"),
|
||||
#Cell("NR2"),
|
||||
#Cell("NR3"),
|
||||
#Cell("NR4"),
|
||||
#Cell("NR5"),
|
||||
#Cell("OB"),
|
||||
#Cell("OBCO"),
|
||||
#Cell("OBZ"),
|
||||
#Cell("OBZPU"),
|
||||
#Cell("OFS1P3BX"),
|
||||
#Cell("OFS1P3DX"),
|
||||
#Cell("OFS1P3IX"),
|
||||
#Cell("OFS1P3JX"),
|
||||
#Cell("OLVDS"),
|
||||
#Cell("OR2"),
|
||||
#Cell("OR3"),
|
||||
#Cell("OR4"),
|
||||
#Cell("OR5"),
|
||||
#Cell("LUT4"),
|
||||
#Cell("LUT5"),
|
||||
#Cell("LUT6"),
|
||||
#Cell("LUT7"),
|
||||
#Cell("LUT8"),
|
||||
#Cell("PFUMX"),
|
||||
#Cell("PUR"),
|
||||
#Cell("ROM128X1A"),
|
||||
#Cell("ROM16X1A"),
|
||||
#Cell("ROM256X1A"),
|
||||
#Cell("ROM32X1A"),
|
||||
#Cell("ROM64X1A"),
|
||||
#Cell("CCU2D"),
|
||||
#Cell("VHI"),
|
||||
#Cell("VLO"),
|
||||
#Cell("XNOR2"),
|
||||
#Cell("XNOR3"),
|
||||
#Cell("XNOR4"),
|
||||
#Cell("XNOR5"),
|
||||
#Cell("XOR11"),
|
||||
#Cell("XOR2"),
|
||||
#Cell("XOR21"),
|
||||
#Cell("XOR3"),
|
||||
#Cell("XOR4"),
|
||||
#Cell("XOR5"),
|
||||
#Cell("IFS1S1B"),
|
||||
#Cell("IFS1S1D"),
|
||||
#Cell("IFS1S1I"),
|
||||
#Cell("IFS1S1J"),
|
||||
#Cell("DPR16X4C"),
|
||||
#Cell("SPR16X4C"),
|
||||
Cell("SGSR", True),
|
||||
Cell("DP8KC"),
|
||||
Cell("PDPW8KC"),
|
||||
Cell("SP8KC"),
|
||||
Cell("FIFO8KB"),
|
||||
#Cell("CLKDIVC"),
|
||||
Cell("DCMA"),
|
||||
#Cell("ECLKSYNCA"),
|
||||
#Cell("ECLKBRIDGECS"),
|
||||
Cell("DCCA"),
|
||||
#Cell("JTAGF"),
|
||||
#Cell("START"),
|
||||
#Cell("SEDFA"),
|
||||
#Cell("SEDFB"),
|
||||
#Cell("IDDRXE"),
|
||||
#Cell("IDDRX2E"),
|
||||
#Cell("IDDRX4B"),
|
||||
#Cell("IDDRX71A"),
|
||||
#Cell("ODDRXE"),
|
||||
#Cell("ODDRX2E"),
|
||||
#Cell("ODDRX4B"),
|
||||
#Cell("ODDRX71A"),
|
||||
#Cell("DQSDLLC"),
|
||||
#Cell("DELAYE"),
|
||||
#Cell("DELAYD"),
|
||||
#Cell("DLLDELC"),
|
||||
#Cell("CLKFBBUFA"),
|
||||
#Cell("PCNTR"),
|
||||
#Cell("BCINRD"),
|
||||
#Cell("BCLVDSO"),
|
||||
#Cell("INRDB"),
|
||||
#Cell("LVDSOB"),
|
||||
#Cell("PG"),
|
||||
Cell("EHXPLLJ"),
|
||||
#Cell("PLLREFCS"),
|
||||
Cell("OSCJ"),
|
||||
#Cell("EFBB"),
|
||||
#Cell("TSALL"),
|
||||
#Cell("ESBA"),
|
||||
#Cell("BCSLEWRATEA"),
|
||||
])
|
||||
]
|
||||
|
||||
def xtract_cells_decl(device, cells, dirs, outf):
|
||||
fname = os.path.join(dir, device + '.v')
|
||||
with open(fname) as f:
|
||||
state = State.OUTSIDE
|
||||
# Probably the most horrible Verilog "parser" ever written.
|
||||
cell = None
|
||||
kind = None
|
||||
for l in f:
|
||||
l, _, comment = l.partition('//')
|
||||
l = l.strip()
|
||||
m = re.search(r'synthesis .*black_box_pad_pin="([^"]*)"', comment)
|
||||
if m:
|
||||
iopad_pin = set(m.group(1).split(","))
|
||||
|
||||
if l.startswith("module "):
|
||||
cell_name = l[7:l.find('(')].strip()
|
||||
cell = None
|
||||
kind = None
|
||||
module_ports = []
|
||||
iopad_pin = set()
|
||||
if state != State.OUTSIDE:
|
||||
print('Nested modules in {}.'.format(fname))
|
||||
sys.exit(1)
|
||||
for c in cells:
|
||||
if c.name != cell_name:
|
||||
continue
|
||||
cell = c
|
||||
state = State.IN_MODULE
|
||||
outf.write('(* blackbox *)')
|
||||
if cell.keep:
|
||||
outf.write(' (* keep *)\n')
|
||||
else:
|
||||
outf.write('\n')
|
||||
outf.write('module {} (...);\n'.format(cell.name))
|
||||
cell.found = True
|
||||
if cell is None:
|
||||
state = State.IN_OTHER_MODULE
|
||||
elif l.startswith('task '):
|
||||
if state == State.IN_MODULE:
|
||||
state = State.IN_TASK
|
||||
elif l.startswith('function '):
|
||||
if state == State.IN_MODULE:
|
||||
state = State.IN_FUNCTION
|
||||
elif l == 'endtask':
|
||||
if state == State.IN_TASK:
|
||||
state = State.IN_MODULE
|
||||
elif l == 'endfunction':
|
||||
if state == State.IN_FUNCTION:
|
||||
state = State.IN_MODULE
|
||||
elif l == 'endmodule':
|
||||
if state == State.IN_MODULE:
|
||||
for kind, rng, port in module_ports:
|
||||
for attr in cell.port_attrs.get(port, []):
|
||||
outf.write(' (* {} *)\n'.format(attr))
|
||||
if port in iopad_pin:
|
||||
outf.write(' (* iopad_external_pin *)\n')
|
||||
if rng is None:
|
||||
outf.write(' {} {};\n'.format(kind, port))
|
||||
else:
|
||||
outf.write(' {} {} {};\n'.format(kind, rng, port))
|
||||
outf.write(l + '\n')
|
||||
outf.write('\n')
|
||||
elif state != State.IN_OTHER_MODULE:
|
||||
print('endmodule in weird place in {}.'.format(cell.name, fname))
|
||||
sys.exit(1)
|
||||
state = State.OUTSIDE
|
||||
elif l.startswith(('input ', 'output ', 'inout ')) and state == State.IN_MODULE:
|
||||
l = l.strip()
|
||||
if l == "":
|
||||
continue
|
||||
if l.endswith((';', ',', ")")):
|
||||
l = l[:-1]
|
||||
l = l.replace(")","")
|
||||
if ';' in l:
|
||||
print('Weird port line in {} [{}].'.format(fname, l))
|
||||
sys.exit(1)
|
||||
kind, _, ports = l.partition(' ')
|
||||
for port in ports.split(','):
|
||||
port = port.strip()
|
||||
if port.startswith('['):
|
||||
rng, port = port.split()
|
||||
else:
|
||||
rng = None
|
||||
module_ports.append((kind, rng, port))
|
||||
elif l.startswith('parameter ') and state == State.IN_MODULE:
|
||||
l = l.strip()
|
||||
if l.endswith((';', ',')):
|
||||
l = l[:-1]
|
||||
while ' ' in l:
|
||||
l = l.replace(' ', ' ')
|
||||
|
||||
if "INITVAL" in l:
|
||||
l = l.replace('"0x', "320'h")
|
||||
l = l.replace('"', '')
|
||||
if ';' in l:
|
||||
print('Weird parameter line in {} [{}].'.format(fname, l))
|
||||
sys.exit(1)
|
||||
outf.write(' {};\n'.format(l))
|
||||
elif kind is not None and state == State.IN_MODULE:
|
||||
l = l.strip()
|
||||
if l == "":
|
||||
continue
|
||||
if l.endswith((';', ',', ")")):
|
||||
l = l[:-1]
|
||||
l = l.replace(")","")
|
||||
if ';' in l:
|
||||
print('Weird port line in {} [{}].'.format(fname, l))
|
||||
sys.exit(1)
|
||||
ports = l
|
||||
for port in ports.split(','):
|
||||
port = port.strip()
|
||||
if port.startswith('['):
|
||||
rng, port = port.split()
|
||||
else:
|
||||
rng = None
|
||||
module_ports.append((kind, rng, port))
|
||||
|
||||
if state != State.OUTSIDE:
|
||||
print('endmodule not found in {}.'.format(fname))
|
||||
sys.exit(1)
|
||||
for cell in cells:
|
||||
if not cell.found:
|
||||
print('cell {} not found in {}.'.format(cell.name, fname))
|
||||
if __name__ == '__main__':
|
||||
parser = ArgumentParser(description='Extract Lattice blackbox cell definitions from Lattice Diamond.')
|
||||
parser.add_argument('diamond_dir', nargs='?', default='/usr/local/diamond/3.12/')
|
||||
args = parser.parse_args()
|
||||
|
||||
dirs = [
|
||||
os.path.join(args.diamond_dir, 'cae_library/synthesis/verilog/'),
|
||||
]
|
||||
for dir in dirs:
|
||||
if not os.path.isdir(dir):
|
||||
print('{} is not a directory'.format(dir))
|
||||
|
||||
for fn, device, cells in devices:
|
||||
out = StringIO()
|
||||
xtract_cells_decl(device, cells, dirs, out)
|
||||
with open(fn, 'w') as f:
|
||||
f.write('// Created by cells_xtra.py from Lattice models\n')
|
||||
f.write('\n')
|
||||
f.write(out.getvalue())
|
Loading…
Reference in New Issue