From b52e09af19a67a9150e709658cafea4aeaa69abd Mon Sep 17 00:00:00 2001 From: John McMaster Date: Thu, 21 Dec 2017 16:18:53 -0800 Subject: [PATCH] bram minitest cleanup Signed-off-by: John McMaster --- minitests/{bram_rom => bram}/.gitignore | 0 minitests/{bram_rom => bram}/Makefile | 0 minitests/{bram_rom => bram}/README.txt | 0 minitests/bram/env.sh | 4 + minitests/{bram_rom => bram}/runme.sh | 3 +- minitests/{bram_rom => bram}/runme.tcl | 3 +- minitests/bram/top.v | 376 ++++++++++++++++++++++++ minitests/bram_rom/top.v | 344 ---------------------- 8 files changed, 382 insertions(+), 348 deletions(-) rename minitests/{bram_rom => bram}/.gitignore (100%) rename minitests/{bram_rom => bram}/Makefile (100%) rename minitests/{bram_rom => bram}/README.txt (100%) create mode 100644 minitests/bram/env.sh rename minitests/{bram_rom => bram}/runme.sh (51%) rename minitests/{bram_rom => bram}/runme.tcl (88%) create mode 100644 minitests/bram/top.v delete mode 100644 minitests/bram_rom/top.v diff --git a/minitests/bram_rom/.gitignore b/minitests/bram/.gitignore similarity index 100% rename from minitests/bram_rom/.gitignore rename to minitests/bram/.gitignore diff --git a/minitests/bram_rom/Makefile b/minitests/bram/Makefile similarity index 100% rename from minitests/bram_rom/Makefile rename to minitests/bram/Makefile diff --git a/minitests/bram_rom/README.txt b/minitests/bram/README.txt similarity index 100% rename from minitests/bram_rom/README.txt rename to minitests/bram/README.txt diff --git a/minitests/bram/env.sh b/minitests/bram/env.sh new file mode 100644 index 00000000..47adfb4a --- /dev/null +++ b/minitests/bram/env.sh @@ -0,0 +1,4 @@ +#!/bin/bash +export XRAY_ROI=SLICE_X6Y100:SLICE_X27Y149 +export XRAY_ROI_FRAMES=0x00820000:0x00820080 + diff --git a/minitests/bram_rom/runme.sh b/minitests/bram/runme.sh similarity index 51% rename from minitests/bram_rom/runme.sh rename to minitests/bram/runme.sh index 536f2346..210c4eb3 100755 --- a/minitests/bram_rom/runme.sh +++ b/minitests/bram/runme.sh @@ -1,7 +1,6 @@ #!/bin/bash set -ex -# rm -f vivado*.log vivado*.jou vivado -mode batch -source runme.tcl ${XRAY_BITREAD} -F $XRAY_ROI_FRAMES -o design.bits -z -y design.bit -#${XRAY_SEGPRINT} design.bits SLICE_X16Y100 SLICE_X16Y101 SLICE_X16Y102 SLICE_X16Y103 + diff --git a/minitests/bram_rom/runme.tcl b/minitests/bram/runme.tcl similarity index 88% rename from minitests/bram_rom/runme.tcl rename to minitests/bram/runme.tcl index 3a61d1fa..1f55871a 100644 --- a/minitests/bram_rom/runme.tcl +++ b/minitests/bram/runme.tcl @@ -12,8 +12,7 @@ set_property EXCLUDE_PLACEMENT 1 [get_pblocks roi] add_cells_to_pblock [get_pblocks roi] [get_cells roi] # Need to go outside # SLICE_X12Y100:SLICE_X27Y149 -# resize_pblock [get_pblocks roi] -add "$::env(XRAY_ROI)" -resize_pblock [get_pblocks roi] -add "SLICE_X6Y100:SLICE_X27Y149" +resize_pblock [get_pblocks roi] -add "$::env(XRAY_ROI)" set_property CFGBVS VCCO [current_design] set_property CONFIG_VOLTAGE 3.3 [current_design] diff --git a/minitests/bram/top.v b/minitests/bram/top.v new file mode 100644 index 00000000..08915395 --- /dev/null +++ b/minitests/bram/top.v @@ -0,0 +1,376 @@ +/* +ROM128X1: 128-Deep by 1-Wide ROM +ROM256X1: 256-Deep by 1-Wide ROM +ROM32X1: 32-Deep by 1-Wide ROM +ROM64X1: 64-Deep by 1-Wide ROM +*/ + +module top(input clk, stb, di, output do); + localparam integer DIN_N = 256; + localparam integer DOUT_N = 256; + + reg [DIN_N-1:0] din; + wire [DOUT_N-1:0] dout; + + reg [DIN_N-1:0] din_shr; + reg [DOUT_N-1:0] dout_shr; + + always @(posedge clk) begin + din_shr <= {din_shr, di}; + dout_shr <= {dout_shr, din_shr[DIN_N-1]}; + if (stb) begin + din <= din_shr; + dout_shr <= dout; + end + end + + assign do = dout_shr[DOUT_N-1]; + + roi roi ( + .clk(clk), + .din(din), + .dout(dout) + ); +endmodule + +/* +One BRAM per tile +*/ +module roi(input clk, input [255:0] din, output [255:0] dout); + ram_RAMB18E1 #(.LOC("RAMB18_X0Y40"), .INIT0(1'b1), .INIT({256{1'b0}})) + r0(.clk(clk), .din(din[ 0 +: 8]), .dout(dout[ 0 +: 8])); + ram_RAMB18E1 #(.LOC("RAMB18_X0Y42"), .INIT0(1'b1), .INIT({256{1'b0}})) + r1(.clk(clk), .din(din[ 8 +: 8]), .dout(dout[ 8 +: 8])); + ram_RAMB18E1 #(.LOC("RAMB18_X0Y44"), .INIT0(1'b1), .INIT({256{1'b0}})) + r2(.clk(clk), .din(din[ 16 +: 8]), .dout(dout[ 16 +: 8])); +endmodule + +/* +Place everything into first tile +This is invalid since 18/36 share resources +*/ +module roi_invalid(input clk, input [255:0] din, output [255:0] dout); + ram_RAMB18E1 #(.LOC("RAMB18_X0Y40"), .INIT({256{1'b1}})) + r0(.clk(clk), .din(din[ 0 +: 8]), .dout(dout[ 0 +: 8])); + ram_RAMB18E1 #(.LOC("RAMB18_X0Y41"), .INIT({256{1'b1}})) + r1(.clk(clk), .din(din[ 8 +: 8]), .dout(dout[ 8 +: 8])); + ram_RAMB36E1 #(.LOC("RAMB36_X0Y20"), .INIT({256{1'b1}})) + r2(.clk(clk), .din(din[ 16 +: 8]), .dout(dout[ 16 +: 8])); +endmodule + +/* +Site RAMB18_X0Y42 +Pushed it outside the pblock +lets extend pblock + +for i in xrange(0x08): print '.INITP_%02X(INIT),' % i +for i in xrange(0x40): print '.INIT_%02X(INIT),' % i +*/ +module ram_RAMB18E1 (input clk, input [7:0] din, output [7:0] dout); + parameter LOC = ""; + parameter INIT0 = 256'h0000000000000000000000000000000000000000000000000000000000000000; + parameter INIT = 256'h0000000000000000000000000000000000000000000000000000000000000000; + + (* LOC=LOC *) + RAMB18E1 #( + .INITP_00(INIT), + .INITP_01(INIT), + .INITP_02(INIT), + .INITP_03(INIT), + .INITP_04(INIT), + .INITP_05(INIT), + .INITP_06(INIT), + .INITP_07(INIT), + + .INIT_00(INIT0), + .INIT_01(INIT), + .INIT_02(INIT), + .INIT_03(INIT), + .INIT_04(INIT), + .INIT_05(INIT), + .INIT_06(INIT), + .INIT_07(INIT), + .INIT_08(INIT), + .INIT_09(INIT), + .INIT_0A(INIT), + .INIT_0B(INIT), + .INIT_0C(INIT), + .INIT_0D(INIT), + .INIT_0E(INIT), + .INIT_0F(INIT), + .INIT_10(INIT), + .INIT_11(INIT), + .INIT_12(INIT), + .INIT_13(INIT), + .INIT_14(INIT), + .INIT_15(INIT), + .INIT_16(INIT), + .INIT_17(INIT), + .INIT_18(INIT), + .INIT_19(INIT), + .INIT_1A(INIT), + .INIT_1B(INIT), + .INIT_1C(INIT), + .INIT_1D(INIT), + .INIT_1E(INIT), + .INIT_1F(INIT), + .INIT_20(INIT), + .INIT_21(INIT), + .INIT_22(INIT), + .INIT_23(INIT), + .INIT_24(INIT), + .INIT_25(INIT), + .INIT_26(INIT), + .INIT_27(INIT), + .INIT_28(INIT), + .INIT_29(INIT), + .INIT_2A(INIT), + .INIT_2B(INIT), + .INIT_2C(INIT), + .INIT_2D(INIT), + .INIT_2E(INIT), + .INIT_2F(INIT), + .INIT_30(INIT), + .INIT_31(INIT), + .INIT_32(INIT), + .INIT_33(INIT), + .INIT_34(INIT), + .INIT_35(INIT), + .INIT_36(INIT), + .INIT_37(INIT), + .INIT_38(INIT), + .INIT_39(INIT), + .INIT_3A(INIT), + .INIT_3B(INIT), + .INIT_3C(INIT), + .INIT_3D(INIT), + .INIT_3E(INIT), + .INIT_3F(INIT), + + .IS_CLKARDCLK_INVERTED(1'b0), + .IS_CLKBWRCLK_INVERTED(1'b0), + .IS_ENARDEN_INVERTED(1'b0), + .IS_ENBWREN_INVERTED(1'b0), + .IS_RSTRAMARSTRAM_INVERTED(1'b0), + .IS_RSTRAMB_INVERTED(1'b0), + .IS_RSTREGARSTREG_INVERTED(1'b0), + .IS_RSTREGB_INVERTED(1'b0), + .RAM_MODE("TDP"), + .WRITE_MODE_A("WRITE_FIRST"), + .WRITE_MODE_B("WRITE_FIRST"), + .SIM_DEVICE("VIRTEX6") + ) ram ( + .CLKARDCLK(din[0]), + .CLKBWRCLK(din[1]), + .ENARDEN(din[2]), + .ENBWREN(din[3]), + .REGCEAREGCE(din[4]), + .REGCEB(din[5]), + .RSTRAMARSTRAM(din[6]), + .RSTRAMB(din[7]), + .RSTREGARSTREG(din[0]), + .RSTREGB(din[1]), + .ADDRARDADDR(din[2]), + .ADDRBWRADDR(din[3]), + .DIADI(din[4]), + .DIBDI(din[5]), + .DIPADIP(din[6]), + .DIPBDIP(din[7]), + .WEA(din[0]), + .WEBWE(din[1]), + .DOADO(dout[0]), + .DOBDO(dout[1]), + .DOPADOP(dout[2]), + .DOPBDOP(dout[3])); + +endmodule + +module ram_RAMB36E1 (input clk, input [7:0] din, output [7:0] dout); + parameter LOC = ""; + parameter INIT = 256'h0000000000000000000000000000000000000000000000000000000000000000; + + RAMB36E1 #( + .INITP_00(INIT), + .INITP_01(INIT), + .INITP_02(INIT), + .INITP_03(INIT), + .INITP_04(INIT), + .INITP_05(INIT), + .INITP_06(INIT), + .INITP_07(INIT), + .INITP_08(INIT), + .INITP_09(INIT), + .INITP_0A(INIT), + .INITP_0B(INIT), + .INITP_0C(INIT), + .INITP_0D(INIT), + .INITP_0E(INIT), + .INITP_0F(INIT), + + .INIT_00(INIT), + .INIT_01(INIT), + .INIT_02(INIT), + .INIT_03(INIT), + .INIT_04(INIT), + .INIT_05(INIT), + .INIT_06(INIT), + .INIT_07(INIT), + .INIT_08(INIT), + .INIT_09(INIT), + .INIT_0A(INIT), + .INIT_0B(INIT), + .INIT_0C(INIT), + .INIT_0D(INIT), + .INIT_0E(INIT), + .INIT_0F(INIT), + .INIT_10(INIT), + .INIT_11(INIT), + .INIT_12(INIT), + .INIT_13(INIT), + .INIT_14(INIT), + .INIT_15(INIT), + .INIT_16(INIT), + .INIT_17(INIT), + .INIT_18(INIT), + .INIT_19(INIT), + .INIT_1A(INIT), + .INIT_1B(INIT), + .INIT_1C(INIT), + .INIT_1D(INIT), + .INIT_1E(INIT), + .INIT_1F(INIT), + .INIT_20(INIT), + .INIT_21(INIT), + .INIT_22(INIT), + .INIT_23(INIT), + .INIT_24(INIT), + .INIT_25(INIT), + .INIT_26(INIT), + .INIT_27(INIT), + .INIT_28(INIT), + .INIT_29(INIT), + .INIT_2A(INIT), + .INIT_2B(INIT), + .INIT_2C(INIT), + .INIT_2D(INIT), + .INIT_2E(INIT), + .INIT_2F(INIT), + .INIT_30(INIT), + .INIT_31(INIT), + .INIT_32(INIT), + .INIT_33(INIT), + .INIT_34(INIT), + .INIT_35(INIT), + .INIT_36(INIT), + .INIT_37(INIT), + .INIT_38(INIT), + .INIT_39(INIT), + .INIT_3A(INIT), + .INIT_3B(INIT), + .INIT_3C(INIT), + .INIT_3D(INIT), + .INIT_3E(INIT), + .INIT_3F(INIT), + + .INIT_40(INIT), + .INIT_41(INIT), + .INIT_42(INIT), + .INIT_43(INIT), + .INIT_44(INIT), + .INIT_45(INIT), + .INIT_46(INIT), + .INIT_47(INIT), + .INIT_48(INIT), + .INIT_49(INIT), + .INIT_4A(INIT), + .INIT_4B(INIT), + .INIT_4C(INIT), + .INIT_4D(INIT), + .INIT_4E(INIT), + .INIT_4F(INIT), + .INIT_50(INIT), + .INIT_51(INIT), + .INIT_52(INIT), + .INIT_53(INIT), + .INIT_54(INIT), + .INIT_55(INIT), + .INIT_56(INIT), + .INIT_57(INIT), + .INIT_58(INIT), + .INIT_59(INIT), + .INIT_5A(INIT), + .INIT_5B(INIT), + .INIT_5C(INIT), + .INIT_5D(INIT), + .INIT_5E(INIT), + .INIT_5F(INIT), + .INIT_60(INIT), + .INIT_61(INIT), + .INIT_62(INIT), + .INIT_63(INIT), + .INIT_64(INIT), + .INIT_65(INIT), + .INIT_66(INIT), + .INIT_67(INIT), + .INIT_68(INIT), + .INIT_69(INIT), + .INIT_6A(INIT), + .INIT_6B(INIT), + .INIT_6C(INIT), + .INIT_6D(INIT), + .INIT_6E(INIT), + .INIT_6F(INIT), + .INIT_70(INIT), + .INIT_71(INIT), + .INIT_72(INIT), + .INIT_73(INIT), + .INIT_74(INIT), + .INIT_75(INIT), + .INIT_76(INIT), + .INIT_77(INIT), + .INIT_78(INIT), + .INIT_79(INIT), + .INIT_7A(INIT), + .INIT_7B(INIT), + .INIT_7C(INIT), + .INIT_7D(INIT), + .INIT_7E(INIT), + .INIT_7F(INIT), + + .IS_CLKARDCLK_INVERTED(1'b0), + .IS_CLKBWRCLK_INVERTED(1'b0), + .IS_ENARDEN_INVERTED(1'b0), + .IS_ENBWREN_INVERTED(1'b0), + .IS_RSTRAMARSTRAM_INVERTED(1'b0), + .IS_RSTRAMB_INVERTED(1'b0), + .IS_RSTREGARSTREG_INVERTED(1'b0), + .IS_RSTREGB_INVERTED(1'b0), + .RAM_MODE("TDP"), + .WRITE_MODE_A("WRITE_FIRST"), + .WRITE_MODE_B("WRITE_FIRST"), + .SIM_DEVICE("VIRTEX6") + ) ram ( + .CLKARDCLK(din[0]), + .CLKBWRCLK(din[1]), + .ENARDEN(din[2]), + .ENBWREN(din[3]), + .REGCEAREGCE(din[4]), + .REGCEB(din[5]), + .RSTRAMARSTRAM(din[6]), + .RSTRAMB(din[7]), + .RSTREGARSTREG(din[0]), + .RSTREGB(din[1]), + .ADDRARDADDR(din[2]), + .ADDRBWRADDR(din[3]), + .DIADI(din[4]), + .DIBDI(din[5]), + .DIPADIP(din[6]), + .DIPBDIP(din[7]), + .WEA(din[0]), + .WEBWE(din[1]), + .DOADO(dout[0]), + .DOBDO(dout[1]), + .DOPADOP(dout[2]), + .DOPBDOP(dout[3])); +endmodule + diff --git a/minitests/bram_rom/top.v b/minitests/bram_rom/top.v deleted file mode 100644 index 4e5496f7..00000000 --- a/minitests/bram_rom/top.v +++ /dev/null @@ -1,344 +0,0 @@ -/* -ROM128X1: 128-Deep by 1-Wide ROM -ROM256X1: 256-Deep by 1-Wide ROM -ROM32X1: 32-Deep by 1-Wide ROM -ROM64X1: 64-Deep by 1-Wide ROM -*/ - -module top(input clk, stb, di, output do); - localparam integer DIN_N = 256; - localparam integer DOUT_N = 256; - - reg [DIN_N-1:0] din; - wire [DOUT_N-1:0] dout; - - reg [DIN_N-1:0] din_shr; - reg [DOUT_N-1:0] dout_shr; - - always @(posedge clk) begin - din_shr <= {din_shr, di}; - dout_shr <= {dout_shr, din_shr[DIN_N-1]}; - if (stb) begin - din <= din_shr; - dout_shr <= dout; - end - end - - assign do = dout_shr[DOUT_N-1]; - - roi roi ( - .clk(clk), - .din(din), - .dout(dout) - ); -endmodule - -module roi(input clk, input [255:0] din, output [255:0] dout); - ram_RAMB18E1 #(.LOC("XXX")) - ram_RAMB18E1(.clk(clk), .din(din[ 0 +: 8]), .dout(dout[ 0 +: 8])); -endmodule - -/* -Site RAMB18_X0Y42 -Pushed it outside the pblock -lets extend pblock -*/ -module ram_RAMB18E1 (input clk, input [7:0] din, output [7:0] dout); - parameter LOC = ""; - - RAMB18E1 #( - .INITP_00(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INITP_01(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INITP_02(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INITP_03(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INITP_04(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INITP_05(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INITP_06(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INITP_07(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_00(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_01(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_02(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_03(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_04(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_05(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_06(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_07(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_08(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_09(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_0A(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_0B(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_0C(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_0D(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_0E(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_0F(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_10(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_11(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_12(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_13(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_14(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_15(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_16(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_17(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_18(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_19(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_1A(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_1B(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_1C(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_1D(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_1E(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_1F(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_20(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_21(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_22(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_23(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_24(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_25(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_26(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_27(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_28(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_29(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_2A(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_2B(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_2C(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_2D(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_2E(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_2F(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_30(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_31(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_32(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_33(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_34(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_35(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_36(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_37(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_38(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_39(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_3A(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_3B(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_3C(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_3D(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_3E(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_3F(256'h0000000000000000000000000000000000000000000000000000000000000000), - .IS_CLKARDCLK_INVERTED(1'b0), - .IS_CLKBWRCLK_INVERTED(1'b0), - .IS_ENARDEN_INVERTED(1'b0), - .IS_ENBWREN_INVERTED(1'b0), - .IS_RSTRAMARSTRAM_INVERTED(1'b0), - .IS_RSTRAMB_INVERTED(1'b0), - .IS_RSTREGARSTREG_INVERTED(1'b0), - .IS_RSTREGB_INVERTED(1'b0), - .RAM_MODE("TDP"), - .WRITE_MODE_A("WRITE_FIRST"), - .WRITE_MODE_B("WRITE_FIRST"), - .SIM_DEVICE("VIRTEX6") - ) ram ( - .CLKARDCLK(din[0]), - .CLKBWRCLK(din[1]), - .ENARDEN(din[2]), - .ENBWREN(din[3]), - .REGCEAREGCE(din[4]), - .REGCEB(din[5]), - .RSTRAMARSTRAM(din[6]), - .RSTRAMB(din[7]), - .RSTREGARSTREG(din[0]), - .RSTREGB(din[1]), - .ADDRARDADDR(din[2]), - .ADDRBWRADDR(din[3]), - .DIADI(din[4]), - .DIBDI(din[5]), - .DIPADIP(din[6]), - .DIPBDIP(din[7]), - .WEA(din[0]), - .WEBWE(din[1]), - .DOADO(dout[0]), - .DOBDO(dout[1]), - .DOPADOP(dout[2]), - .DOPBDOP(dout[3])); - -endmodule - -module ram_RAMB36E1 (input clk, input [7:0] din, output [7:0] dout); - parameter LOC = ""; - - RAMB36E1 #( - .INITP_00(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INITP_01(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INITP_02(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INITP_03(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INITP_04(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INITP_05(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INITP_06(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INITP_07(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INITP_08(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INITP_09(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INITP_0A(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INITP_0B(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INITP_0C(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INITP_0D(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INITP_0E(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INITP_0F(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_00(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_01(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_02(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_03(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_04(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_05(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_06(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_07(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_08(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_09(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_0A(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_0B(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_0C(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_0D(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_0E(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_0F(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_10(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_11(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_12(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_13(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_14(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_15(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_16(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_17(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_18(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_19(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_1A(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_1B(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_1C(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_1D(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_1E(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_1F(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_20(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_21(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_22(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_23(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_24(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_25(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_26(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_27(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_28(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_29(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_2A(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_2B(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_2C(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_2D(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_2E(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_2F(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_30(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_31(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_32(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_33(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_34(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_35(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_36(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_37(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_38(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_39(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_3A(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_3B(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_3C(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_3D(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_3E(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_3F(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_40(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_41(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_42(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_43(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_44(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_45(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_46(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_47(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_48(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_49(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_4A(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_4B(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_4C(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_4D(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_4E(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_4F(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_50(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_51(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_52(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_53(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_54(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_55(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_56(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_57(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_58(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_59(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_5A(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_5B(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_5C(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_5D(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_5E(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_5F(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_60(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_61(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_62(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_63(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_64(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_65(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_66(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_67(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_68(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_69(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_6A(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_6B(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_6C(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_6D(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_6E(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_6F(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_70(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_71(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_72(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_73(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_74(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_75(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_76(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_77(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_78(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_79(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_7A(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_7B(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_7C(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_7D(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_7E(256'h0000000000000000000000000000000000000000000000000000000000000000), - .INIT_7F(256'h0000000000000000000000000000000000000000000000000000000000000000), - .IS_CLKARDCLK_INVERTED(1'b0), - .IS_CLKBWRCLK_INVERTED(1'b0), - .IS_ENARDEN_INVERTED(1'b0), - .IS_ENBWREN_INVERTED(1'b0), - .IS_RSTRAMARSTRAM_INVERTED(1'b0), - .IS_RSTRAMB_INVERTED(1'b0), - .IS_RSTREGARSTREG_INVERTED(1'b0), - .IS_RSTREGB_INVERTED(1'b0), - .RAM_MODE("TDP"), - .WRITE_MODE_A("WRITE_FIRST"), - .WRITE_MODE_B("WRITE_FIRST"), - .SIM_DEVICE("VIRTEX6") - ) ram ( - .CLKARDCLK(din[0]), - .CLKBWRCLK(din[1]), - .ENARDEN(din[2]), - .ENBWREN(din[3]), - .REGCEAREGCE(din[4]), - .REGCEB(din[5]), - .RSTRAMARSTRAM(din[6]), - .RSTRAMB(din[7]), - .RSTREGARSTREG(din[0]), - .RSTREGB(din[1]), - .ADDRARDADDR(din[2]), - .ADDRBWRADDR(din[3]), - .DIADI(din[4]), - .DIBDI(din[5]), - .DIPADIP(din[6]), - .DIPBDIP(din[7]), - .WEA(din[0]), - .WEBWE(din[1]), - .DOADO(dout[0]), - .DOBDO(dout[1]), - .DOPADOP(dout[2]), - .DOPBDOP(dout[3])); -endmodule -