diff options
Diffstat (limited to 'usrp2')
-rw-r--r-- | usrp2/opencores/zpu/core/zpu_config.vhd | 5 | ||||
-rw-r--r-- | usrp2/opencores/zpu/core/zpu_core.vhd | 3 | ||||
-rw-r--r-- | usrp2/opencores/zpu/core/zpupkg.vhd | 1 | ||||
-rw-r--r-- | usrp2/opencores/zpu/wishbone/zpu_system.vhd | 3 | ||||
-rw-r--r-- | usrp2/opencores/zpu/zpu_top_pkg.vhd | 2 | ||||
-rw-r--r-- | usrp2/opencores/zpu/zpu_wb_top.vhd | 2 | ||||
-rw-r--r-- | usrp2/top/u2_rev3/u2_core.v | 16 | ||||
-rw-r--r-- | usrp2/top/u2plus/bootloader.rmi | 472 | ||||
-rw-r--r-- | usrp2/top/u2plus/u2plus_core.v | 110 |
9 files changed, 313 insertions, 301 deletions
diff --git a/usrp2/opencores/zpu/core/zpu_config.vhd b/usrp2/opencores/zpu/core/zpu_config.vhd index f7743d602..b7e894232 100644 --- a/usrp2/opencores/zpu/core/zpu_config.vhd +++ b/usrp2/opencores/zpu/core/zpu_config.vhd @@ -12,9 +12,4 @@ package zpu_config is constant ZPU_Frequency : std_logic_vector(7 downto 0) := x"40";
-- This is the msb address bit. bytes=2^(maxAddrBitIncIO+1)
constant maxAddrBitIncIO : integer := 15;
-
- -- start byte address of stack.
- -- point to top of RAM - 2*words
- constant spStart : std_logic_vector(maxAddrBitIncIO downto 0) := x"3ff8";
-
end zpu_config;
diff --git a/usrp2/opencores/zpu/core/zpu_core.vhd b/usrp2/opencores/zpu/core/zpu_core.vhd index 2450f14d3..24586b2f6 100644 --- a/usrp2/opencores/zpu/core/zpu_core.vhd +++ b/usrp2/opencores/zpu/core/zpu_core.vhd @@ -26,6 +26,7 @@ entity zpu_core is mem_write : out std_logic_vector(wordSize-1 downto 0); out_mem_addr : out std_logic_vector(maxAddrBitIncIO downto 0); mem_writeMask: out std_logic_vector(wordBytes-1 downto 0); + stack_start : in std_logic_vector(maxAddrBitIncIO downto 0); interrupt : in std_logic; break : out std_logic; zpu_status : out std_logic_vector(63 downto 0)); @@ -202,7 +203,7 @@ begin if areset = '1' then state <= State_Idle; break <= '0'; - sp <= spStart(maxAddrBitIncIO downto minAddrBit); + sp <= stack_start(maxAddrBitIncIO downto minAddrBit); pc <= (others => '0'); idim_flag <= '0'; diff --git a/usrp2/opencores/zpu/core/zpupkg.vhd b/usrp2/opencores/zpu/core/zpupkg.vhd index 1a01563b8..eee967a09 100644 --- a/usrp2/opencores/zpu/core/zpupkg.vhd +++ b/usrp2/opencores/zpu/core/zpupkg.vhd @@ -73,6 +73,7 @@ package zpupkg is mem_write : out std_logic_vector(wordSize-1 downto 0);
out_mem_addr : out std_logic_vector(maxAddrBitIncIO downto 0);
mem_writeMask: out std_logic_vector(wordBytes-1 downto 0);
+ stack_start : in std_logic_vector(maxAddrBitIncIO downto 0);
interrupt : in std_logic;
break : out std_logic;
zpu_status : out std_logic_vector(63 downto 0));
diff --git a/usrp2/opencores/zpu/wishbone/zpu_system.vhd b/usrp2/opencores/zpu/wishbone/zpu_system.vhd index 294651fe2..8af678b6a 100644 --- a/usrp2/opencores/zpu/wishbone/zpu_system.vhd +++ b/usrp2/opencores/zpu/wishbone/zpu_system.vhd @@ -51,7 +51,7 @@ entity zpu_system is -- ZPU Control signals
enable : in std_logic;
interrupt : in std_logic;
-
+ stack_start : in std_logic_vector(maxAddrBitIncIO downto 0);
zpu_status : out std_logic_vector(63 downto 0);
-- wishbone interfaces
@@ -84,6 +84,7 @@ begin mem_write => mem_write,
out_mem_addr => out_mem_addr,
mem_writeMask => mem_writeMask,
+ stack_start => stack_start,
interrupt => interrupt,
zpu_status => zpu_status,
break => open);
diff --git a/usrp2/opencores/zpu/zpu_top_pkg.vhd b/usrp2/opencores/zpu/zpu_top_pkg.vhd index 23ff48c39..a158ab9c0 100644 --- a/usrp2/opencores/zpu/zpu_top_pkg.vhd +++ b/usrp2/opencores/zpu/zpu_top_pkg.vhd @@ -35,7 +35,7 @@ package zpu_top_pkg is -- ZPU Control signals enable : in std_logic; interrupt : in std_logic; - + stack_start : in std_logic_vector(maxAddrBitIncIO downto 0); zpu_status : out std_logic_vector(63 downto 0); -- wishbone interfaces diff --git a/usrp2/opencores/zpu/zpu_wb_top.vhd b/usrp2/opencores/zpu/zpu_wb_top.vhd index 48e5ee31d..9735c4b54 100644 --- a/usrp2/opencores/zpu/zpu_wb_top.vhd +++ b/usrp2/opencores/zpu/zpu_wb_top.vhd @@ -36,6 +36,7 @@ entity zpu_wb_top is -- misc zpu signals interrupt: in std_logic; + stack_start: in std_logic_vector(adr_w-1 downto 0); zpu_status: out std_logic_vector(63 downto 0) ); @@ -66,6 +67,7 @@ zpu_system0: zpu_system port map( areset => rst, enable => enb, interrupt => interrupt, + stack_start => stack_start, zpu_status => zpu_status, zpu_wb_i => zpu_wb_i, zpu_wb_o => zpu_wb_o diff --git a/usrp2/top/u2_rev3/u2_core.v b/usrp2/top/u2_rev3/u2_core.v index 97de38a82..66c951638 100644 --- a/usrp2/top/u2_rev3/u2_core.v +++ b/usrp2/top/u2_rev3/u2_core.v @@ -306,18 +306,8 @@ module u2_core // ///////////////////////////////////////////////////////////////////////// // Processor -// aeMB_core_BE #(.ISIZ(16),.DSIZ(16),.MUL(0),.BSF(1)) -// aeMB (.sys_clk_i(wb_clk), .sys_rst_i(wb_rst), -// // Instruction Wishbone bus to I-RAM -// .if_adr(if_adr), -// .if_dat(if_dat), -// // Data Wishbone bus to system bus fabric -// .dwb_we_o(m0_we),.dwb_stb_o(m0_stb),.dwb_dat_o(m0_dat_i),.dwb_adr_o(m0_adr), -// .dwb_dat_i(m0_dat_o),.dwb_ack_i(m0_ack),.dwb_sel_o(m0_sel),.dwb_cyc_o(m0_cyc), -// // Interrupts and exceptions -// .sys_int_i(proc_int),.sys_exc_i(bus_error) ); - - //assign bus_error = m0_err | m0_rty; + + assign bus_error = m0_err | m0_rty; wire [63:0] zpu_status; zpu_wb_top #(.dat_w(dw), .adr_w(aw), .sel_w(sw)) @@ -326,7 +316,7 @@ module u2_core .we_o(m0_we),.stb_o(m0_stb),.dat_o(m0_dat_i),.adr_o(m0_adr), .dat_i(m0_dat_o),.ack_i(m0_ack),.sel_o(m0_sel),.cyc_o(m0_cyc), // Interrupts and exceptions - .zpu_status(zpu_status), .interrupt(proc_int & 1'b0)); + .stack_start(16'h3ff8), .zpu_status(zpu_status), .interrupt(proc_int & 1'b0)); // ///////////////////////////////////////////////////////////////////////// // Dual Ported RAM -- D-Port is Slave #0 on main Wishbone diff --git a/usrp2/top/u2plus/bootloader.rmi b/usrp2/top/u2plus/bootloader.rmi index 7c15699db..0916adaf7 100644 --- a/usrp2/top/u2plus/bootloader.rmi +++ b/usrp2/top/u2plus/bootloader.rmi @@ -1,245 +1,231 @@ -defparam bootram.RAM0.INIT_00=256'h00000000_00000000_00000000_b80801c0_00000000_b808175c_00000000_b8080050; -defparam bootram.RAM0.INIT_01=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_b8081764; -defparam bootram.RAM0.INIT_02=256'h3020ffe0_b0000000_30401e70_31a01e98_00000000_00000000_00000000_00000000; -defparam bootram.RAM0.INIT_03=256'h3021ffe4_e060f800_b0000000_b8000000_30a30000_b9f40668_80000000_b9f400cc; -defparam bootram.RAM0.INIT_04=256'he8830000_e8601e78_80000000_99fc2000_f8601e78_b8000044_bc030014_f9e10000; -defparam bootram.RAM0.INIT_05=256'h80000000_99fc1800_30a01e8c_bc030010_30600000_b0000000_30630004_be24ffec; -defparam bootram.RAM0.INIT_06=256'h30600000_b0000000_3021001c_b60f0008_e9e10000_f060f800_b0000000_30600001; -defparam bootram.RAM0.INIT_07=256'h80000000_99fc1800_bc03000c_30c0f804_b0000000_30a01e8c_f9e10000_3021ffe4; -defparam bootram.RAM0.INIT_08=256'h80000000_99fc2000_bc04000c_30a01e90_bc030014_30800000_b0000000_e8601e90; -defparam bootram.RAM0.INIT_09=256'h06463800_20e01e98_20c01e98_f9e10000_2021ffec_3021001c_b60f0008_e9e10000; -defparam bootram.RAM0.INIT_0A=256'hb0000000_20c0f800_b0000000_bc92fff4_06463800_20c60004_f8060000_bc720014; -defparam bootram.RAM0.INIT_0B=256'hb9f415f8_bc92fff4_06463800_20c60004_f8060000_bc720014_06463800_20e0f82c; -defparam bootram.RAM0.INIT_0C=256'h32630000_20a00000_b9f401c8_20e00000_20c00000_80000000_b9f41778_80000000; -defparam bootram.RAM0.INIT_0D=256'h20210014_b60f0008_30730000_c9e10000_80000000_b9f415c4_80000000_b9f41780; -defparam bootram.RAM0.INIT_0E=256'he9e10000_f9610004_fa410010_95608001_fa21000c_f9610008_f9e10000_3021ffec; -defparam bootram.RAM0.INIT_0F=256'hbc050018_30210014_b62e0000_ea410010_ea21000c_e9610008_940bc001_e9610004; -defparam bootram.RAM0.INIT_10=256'h3021ff2c_80000000_b60f0008_bc32fff4_16432800_30630001_80000000_10600000; -defparam bootram.RAM0.INIT_11=256'hb9f4062c_32c1001c_3261004c_f8610028_f9e10000_fac100d0_fa6100cc_3061002c; -defparam bootram.RAM0.INIT_12=256'h22407fff_e8610024_bc230038_30a01984_10b30000_b9f40da4_10d60000_10b30000; -defparam bootram.RAM0.INIT_13=256'h30a01984_bc120040_aa430001_30a0194c_e061001c_10a30000_be520034_16439003; -defparam bootram.RAM0.INIT_14=256'he8e10020_e8c10028_b800ffa8_80000000_b9f406c0_b800ffb4_80000000_b9f406cc; -defparam bootram.RAM0.INIT_15=256'h80000000_b9f40694_b800ff88_80000000_b9f406a0_30a0194c_80000000_b9f4155c; -defparam bootram.RAM0.INIT_16=256'hb800ff60_80000000_b9f40678_30a01950_80000000_b9f411e8_30a08000_b0000000; -defparam bootram.RAM0.INIT_17=256'hbe030020_30a00050_31000001_30e1001c_30c000f7_f9e10000_a46500ff_3021ffe0; -defparam bootram.RAM0.INIT_18=256'hb810ffe8_30210020_b60f0008_e9e10000_80000000_b9f40330_f081001c_3080005e; -defparam bootram.RAM0.INIT_19=256'h31000001_b9f40280_f9e10000_30e1001c_30c000f7_30a00050_3021ffe0_308000dc; -defparam bootram.RAM0.INIT_1A=256'h3021ffdc_30210020_b60f0008_6463001f_3063ffff_a863005e_e9e10000_e061001c; -defparam bootram.RAM0.INIT_1B=256'h30a0a120_b0000007_9403c001_ac640002_94808001_fac10020_fa61001c_f9e10000; -defparam bootram.RAM0.INIT_1C=256'hb9f40ea8_80000000_b9f4082c_f800200c_80000000_b9f4fe74_f860200c_306000ff; -defparam bootram.RAM0.INIT_1D=256'h80000000_b9f4ff6c_80000000_b9f4059c_30a01988_80000000_b9f409ec_80000000; -defparam bootram.RAM0.INIT_1E=256'h30a00000_b0000030_bc160100_bc130134_a6632000_e8603334_12c30000_be23017c; -defparam bootram.RAM0.INIT_1F=256'hb0000000_80000000_b9f40558_30a01b04_12c30000_be030068_80000000_b9f41180; -defparam bootram.RAM0.INIT_20=256'hb9f41094_30a08000_b0000000_30c07c00_b9f40e70_30a00000_b0000030_30e08000; -defparam bootram.RAM0.INIT_21=256'he9e10000_30600001_10a00000_b9f41244_80000000_b9f40524_30a01b30_80000000; -defparam bootram.RAM0.INIT_22=256'hb000003f_80000000_b9f404f8_30a01b6c_30210024_b60f0008_eac10020_ea61001c; -defparam bootram.RAM0.INIT_23=256'h80000000_b9f404d4_30a019f8_12630000_be230024_80000000_b9f410fc_30a00000; -defparam bootram.RAM0.INIT_24=256'h30a00000_b000003f_30e08000_b0000000_10730000_b810ffb4_80000000_b9f4fd9c; -defparam bootram.RAM0.INIT_25=256'hb9f40490_30a019bc_80000000_b9f41000_30a08000_b0000000_30c07c00_b9f40ddc; -defparam bootram.RAM0.INIT_26=256'h80000000_b9f40474_30a01a50_30600001_b810ff70_10b60000_b9f411b0_80000000; -defparam bootram.RAM0.INIT_27=256'h80000000_b9f40454_30a01ab4_bc230098_80000000_b9f41000_30a00000_b0000018; -defparam bootram.RAM0.INIT_28=256'h80000000_b9f41048_30a00000_b000003f_80000000_b9f40444_30a0199c_b800fed8; -defparam bootram.RAM0.INIT_29=256'hb9f4fda4_b800fe9c_80000000_b9f4fcec_80000000_b9f40424_30a019f8_bc230028; -defparam bootram.RAM0.INIT_2A=256'h30c07c00_b9f40d24_30a00000_b000003f_30e08000_b0000000_b800fe84_10a00000; -defparam bootram.RAM0.INIT_2B=256'hb9f410f8_80000000_b9f403d8_30a019bc_80000000_b9f40f48_30a08000_b0000000; -defparam bootram.RAM0.INIT_2C=256'hb9f4fc60_30a00001_b9f4fd4c_80000000_b9f403c0_30a01a7c_b800fe50_10b30000; -defparam bootram.RAM0.INIT_2D=256'hfa610020_3021ffd4_b800ff40_80000000_b9f410c8_30a00000_b0000018_30a07530; -defparam bootram.RAM0.INIT_2E=256'hfac10024_30e00001_30c1001c_12e70000_f0c1001c_fae10028_10b30000_a66500ff; -defparam bootram.RAM0.INIT_2F=256'h10b30000_10f60000_10d70000_10830000_be030030_12c80000_b9f40898_f9e10000; -defparam bootram.RAM0.INIT_30=256'h10640000_a8830001_6463001f_3063ffff_80000000_b9f407d0_30800001_be76001c; -defparam bootram.RAM0.INIT_31=256'hfac10024_3021ffcc_3021002c_b60f0008_eae10028_eac10024_ea610020_e9e10000; -defparam bootram.RAM0.INIT_32=256'hf9e10000_12c80000_12e70000_13250000_13060000_fb210030_fb01002c_fae10028; -defparam bootram.RAM0.INIT_33=256'h32d6ffff_e0770000_f301001c_30e00002_be76005c_30c1001c_10b90000_fa610020; -defparam bootram.RAM0.INIT_34=256'hbe33ffcc_32f70001_b9f4089c_30a0000a_12630000_33180001_b9f407f8_f061001d; -defparam bootram.RAM0.INIT_35=256'heb210030_eb01002c_eae10028_eac10024_ea610020_e9e10000_10730000_10b90000; -defparam bootram.RAM0.INIT_36=256'h80000000_b9f4f998_f9e10000_3021ffe4_30600001_b810ffe0_30210034_b60f0008; -defparam bootram.RAM0.INIT_37=256'h12660000_fb21002c_fb010028_fae10024_fa61001c_3021ffd0_80000000_b60f0008; -defparam bootram.RAM0.INIT_38=256'haa43ffff_12c00000_b810001c_f9e10000_fac10020_13260000_12e70000_13050000; -defparam bootram.RAM0.INIT_39=256'h10960000_90630060_10b80000_b9f405ec_32730001_bcb2002c_16572001_bc120030; -defparam bootram.RAM0.INIT_3A=256'he9e10000_10640000_f0130000_14999800_32d60001_be32ffd4_aa43000a_f0730000; -defparam bootram.RAM0.INIT_3B=256'h3021ffd0_30210030_b60f0008_eb21002c_eb010028_eae10024_eac10020_ea61001c; -defparam bootram.RAM0.INIT_3C=256'h13260000_12e70000_13050000_12660000_fb21002c_fb010028_fae10024_fa61001c; -defparam bootram.RAM0.INIT_3D=256'hb9f4051c_32730001_bcb2002c_16572001_12c00000_b8100014_f9e10000_fac10020; -defparam bootram.RAM0.INIT_3E=256'h14999800_32d60001_be32ffdc_aa43000a_f0730000_10960000_90630060_10b80000; -defparam bootram.RAM0.INIT_3F=256'heb21002c_eb010028_eae10024_eac10020_ea61001c_e9e10000_10640000_f0130000; -defparam bootram.RAM1.INIT_00=256'h12e60000_12c50000_fae10024_fac10020_fa61001c_3021ffd8_30210030_b60f0008; -defparam bootram.RAM1.INIT_01=256'hbe32ffec_aa43000a_f0730000_90630060_10b60000_b9f404b0_12660000_f9e10000; -defparam bootram.RAM1.INIT_02=256'heae10024_eac10020_ea61001c_e9e10000_10770000_f0130000_3273ffff_32730001; -defparam bootram.RAM1.INIT_03=256'he9e10000_10a00000_b9f4ff94_f9e10000_3021ffe4_10c50000_30210028_b60f0008; -defparam bootram.RAM1.INIT_04=256'hb60f0008_e9e10000_80000000_b9f40448_f9e10000_3021ffe4_3021001c_b60f0008; -defparam bootram.RAM1.INIT_05=256'h3021001c_b60f0008_e9e10000_10a00000_b9f4ffdc_f9e10000_3021ffe4_3021001c; -defparam bootram.RAM1.INIT_06=256'hbe060024_90c30060_12660000_e0660000_f9e10000_fac10020_fa61001c_3021ffdc; -defparam bootram.RAM1.INIT_07=256'h10b60000_be26fff0_90c30060_e0730000_32730001_b9f40324_10b60000_12c50000; -defparam bootram.RAM1.INIT_08=256'hfac1001c_3021ffe0_30210024_b60f0008_10600000_eac10020_ea61001c_e9e10000; -defparam bootram.RAM1.INIT_09=256'heac1001c_e9e10000_30c0000a_b9f402dc_10b60000_12c50000_b9f4ff9c_f9e10000; -defparam bootram.RAM1.INIT_0A=256'h10a00000_b9f4ffc0_f9e10000_3021ffe4_10c50000_30210020_b60f0008_10600000; -defparam bootram.RAM1.INIT_0B=256'h10a00000_b9f4ff48_f9e10000_3021ffe4_10c50000_3021001c_b60f0008_e9e10000; -defparam bootram.RAM1.INIT_0C=256'he9e10000_30c0000a_b9f40278_f9e10000_3021ffe4_3021001c_b60f0008_e9e10000; -defparam bootram.RAM1.INIT_0D=256'hb9f40250_f9e10000_10a00000_12c50000_fac1001c_3021ffe0_3021001c_b60f0008; -defparam bootram.RAM1.INIT_0E=256'hfac1001c_3021ffe0_30210020_b60f0008_eac1001c_e9e10000_10760000_10d60000; -defparam bootram.RAM1.INIT_0F=256'h30210020_b60f0008_eac1001c_e9e10000_10760000_12c60000_b9f40228_f9e10000; -defparam bootram.RAM1.INIT_10=256'h94e08001_3021001c_b60f0008_e9e10000_80000000_b9f401b8_f9e10000_3021ffe4; -defparam bootram.RAM1.INIT_11=256'h80633000_84632000_84c62800_a866ffff_e880f81c_b0000000_9404c001_ac870002; -defparam bootram.RAM1.INIT_12=256'h9404c001_80843800_ac840002_94808001_a4e70002_f860f81c_b0000000_f860200c; -defparam bootram.RAM1.INIT_13=256'h88a52000_e880f81c_b0000000_9406c001_acc30002_94608001_80000000_b60f0008; -defparam bootram.RAM1.INIT_14=256'h9404c001_80841800_ac840002_94808001_a4630002_f8a0f81c_b0000000_f8a0200c; -defparam bootram.RAM1.INIT_15=256'ha866ffff_e880f820_b0000000_9404c001_ac870002_94e08001_80000000_b60f0008; -defparam bootram.RAM1.INIT_16=256'h94808001_a4e70002_f860f820_b0000000_f8602020_80633000_84632000_84c62800; -defparam bootram.RAM1.INIT_17=256'hfae10024_fa61001c_3021ffd4_80000000_b60f0008_9404c001_80843800_ac840002; -defparam bootram.RAM1.INIT_18=256'hbe060040_90c30060_13050000_12e60000_e0660000_fac10020_f9e10000_fb010028; -defparam bootram.RAM1.INIT_19=256'h10730000_be120028_16569800_32c70001_b8100014_32600001_be670038_12660000; -defparam bootram.RAM1.INIT_1A=256'h10730000_3273ffff_32730001_be26ffe4_90c30060_c0779800_10b80000_b9f400cc; -defparam bootram.RAM1.INIT_1B=256'h3021ffe4_3021002c_b60f0008_eb010028_eae10024_eac10020_ea61001c_e9e10000; -defparam bootram.RAM1.INIT_1C=256'hf0c51e7c_3021001c_b60f0008_e9e10000_30c0000a_b9f40084_f9e10000_10a00000; -defparam bootram.RAM1.INIT_1D=256'h80000000_b60f0008_f8653700_64a50405_e4661bac_10c63000_80000000_b60f0008; -defparam bootram.RAM1.INIT_1E=256'h90c60060_b9f4ffc4_10b30000_e0d31e7c_12600000_f9e10000_fa61001c_3021ffe0; -defparam bootram.RAM1.INIT_1F=256'he9e10000_bc32ffd8_aa530003_90c60060_b9f4ffbc_32730001_10b30000_e0d31ba8; -defparam bootram.RAM1.INIT_20=256'h12c60000_f9e10000_fac10020_fa61001c_3021ffdc_30210020_b60f0008_ea61001c; -defparam bootram.RAM1.INIT_21=256'hfac5000c_bc03fffc_e8650004_30a33700_64730405_12650000_be120030_aa46000a; -defparam bootram.RAM1.INIT_22=256'hbc32ffd0_aa430001_e0651e7c_30210024_b60f0008_eac10020_ea61001c_e9e10000; -defparam bootram.RAM1.INIT_23=256'hf9e10000_fac10020_fa61001c_3021ffdc_64730405_b810ffc8_30c0000d_b9f4ffac; -defparam bootram.RAM1.INIT_24=256'hbc040008_e8830004_30633700_64730405_12650000_be120030_aa46000a_12c60000; -defparam bootram.RAM1.INIT_25=256'haa430001_e0651e7c_30210024_b60f0008_eac10020_ea61001c_e9e10000_fac3000c; -defparam bootram.RAM1.INIT_26=256'h30a53700_64a50405_64730405_b810ffc4_80000000_b9f4ff44_30c0000d_be32ffd0; -defparam bootram.RAM1.INIT_27=256'he8650008_30a53700_64a50405_80000000_b60f0008_e8650010_bc03fffc_e8650008; -defparam bootram.RAM1.INIT_28=256'h64a50405_80000000_b60f0008_90630060_be24fff8_e8850008_e8650010_bc030014; -defparam bootram.RAM1.INIT_29=256'h32600001_be230040_e8760008_32c53700_fa61001c_f9e10000_fac10020_3021ffdc; -defparam bootram.RAM1.INIT_2A=256'hbe03ffe8_e8760008_30a00001_b9f401e0_3060ffff_be120034_aa53012d_b8000010; -defparam bootram.RAM1.INIT_2B=256'he9e10000_e8760010_3060ffff_be52000c_16539001_3240012b_3273ffff_32730001; -defparam bootram.RAM1.INIT_2C=256'h32400004_a463000f_e8603324_f8003108_30210024_b60f0008_eac10020_ea61001c; -defparam bootram.RAM1.INIT_2D=256'ha46300ff_64a30008_e4641bb8_10831800_30600004_10831800_beb20010_16439001; -defparam bootram.RAM1.INIT_2E=256'ha4a500ff_be070088_80000000_b60f0008_f8603108_30600080_f8a03104_f8603100; -defparam bootram.RAM1.INIT_2F=256'hf8803110_30800090_f860310c_a0630001_10652800_be23fff8_a4630040_e8603110; -defparam bootram.RAM1.INIT_30=256'haa470001_10800000_be230058_a4630080_e8603110_bc23fff8_a4630002_e8603110; -defparam bootram.RAM1.INIT_31=256'h30e7ffff_e860310c_bc23fff8_a4630002_e8603110_f8603110_30600020_be120038; -defparam bootram.RAM1.INIT_32=256'h30600068_b810ffd0_30600020_be32ffd8_aa470001_30c60001_be07001c_f0660000; -defparam bootram.RAM1.INIT_33=256'ha4a500ff_10640000_b60f0008_f8603110_30600040_10640000_b60f0008_30800001; -defparam bootram.RAM1.INIT_34=256'h306000d0_30600090_be27000c_f860310c_10652800_be23fff8_a4630040_e8603110; -defparam bootram.RAM1.INIT_35=256'h10800000_be23005c_a4630080_e8603110_bc23fff8_a4630002_e8603110_f8603110; -defparam bootram.RAM1.INIT_36=256'hf8803110_bc120030_aa470001_f860310c_30800010_e0660000_30800001_be070068; -defparam bootram.RAM1.INIT_37=256'hbe070028_30e7ffff_be23001c_a4630080_e8603110_bc23fff8_a4630002_e8603110; -defparam bootram.RAM1.INIT_38=256'hb60f0008_f8603110_30600040_10800000_30800050_b810ffd4_b800ffc4_30c60001; -defparam bootram.RAM1.INIT_39=256'hbc260054_a4c30000_b0008000_e8603324_10640000_b60f0008_30800001_10640000; -defparam bootram.RAM1.INIT_3A=256'h80000000_10800000_bc660030_e8c01e80_10660000_be650048_bc430054_e8601e80; -defparam bootram.RAM1.INIT_3B=256'h16443000_30840001_80000000_80000000_80000000_80000000_80000000_80000000; -defparam bootram.RAM1.INIT_3C=256'ha4630007_e8603324_80000000_b60f0008_bc32ffc8_16432800_30630001_bc32ffdc; -defparam bootram.RAM1.INIT_3D=256'h16459001_3240005a_3065ffa9_90a50060_b800ff9c_f8801e80_e4831bc4_10631800; -defparam bootram.RAM1.INIT_3E=256'h3085ffd0_be52000c_16459001_32400039_a46300ff_3065ffc9_a46300ff_be520024; -defparam bootram.RAM1.INIT_3F=256'hf9e10000_fb610034_13250000_fb21002c_3021ffc8_80000000_b60f0008_a46400ff; -defparam bootram.RAM2.INIT_00=256'haa43003a_13660000_e0790000_fb410030_fb010028_fae10024_fac10020_fa61001c; -defparam bootram.RAM2.INIT_01=256'heb010028_eae10024_eac10020_ea61001c_e9e10000_10650000_30a0ffff_be120034; -defparam bootram.RAM2.INIT_02=256'hc085c800_30a00001_e8c01e84_30210038_b60f0008_eb610034_eb410030_eb21002c; -defparam bootram.RAM2.INIT_03=256'hb810ffac_bc23ffe4_a4630044_c0662000_a4a300ff_be04001c_90840060_30650001; -defparam bootram.RAM2.INIT_04=256'h12761800_66c30404_b9f4ff1c_e0b90002_80000000_b9f4ff28_e0b90001_30a0fffe; -defparam bootram.RAM2.INIT_05=256'he0b90005_30a0fffd_be38ff74_93040060_e083000b_10791800_fa7b0004_10739800; -defparam bootram.RAM2.INIT_06=256'h66c3040c_b9f4fed8_e0b90004_66e30404_b9f4fee4_e0b90003_13530000_b9f4fef0; -defparam bootram.RAM2.INIT_07=256'he0b90007_fafb0008_12f7b000_12d61800_12d61800_b9f4fec8_64630408_e0b90006; -defparam bootram.RAM2.INIT_08=256'hbe130060_f07b0000_1063b000_66c30404_b9f4fea4_e0b90008_80000000_b9f4feb0; -defparam bootram.RAM2.INIT_09=256'hb9f4fe74_c0b6c800_a6d600ff_32d60009_12d8c000_ea7b000c_13580000_10f30000; -defparam bootram.RAM2.INIT_0A=256'he8fb0004_ea7b000c_d0789800_1063b800_66e30404_b9f4fe68_e0b60001_12d9b000; -defparam bootram.RAM2.INIT_0B=256'headb0008_a74300ff_be52ffb8_1647c003_107a1800_a70400ff_c073c000_30980001; -defparam bootram.RAM2.INIT_0C=256'h107a1800_12c7b000_10632000_e0b70009_12f9b800_64760008_12e73800_e09b0000; -defparam bootram.RAM2.INIT_0D=256'ha6d600ff_1063c000_16d60000_67030404_b9f4fe04_e0b7000a_12d61800_b9f4fe10; -defparam bootram.RAM2.INIT_0E=256'ha4630100_e8603b10_10a00000_b810fe58_30a0fffb_be32fe60_1643b000_a46300ff; -defparam bootram.RAM2.INIT_0F=256'ha4a500ff_80884800_a1292000_a508007f_a5290600_80000000_b60f0008_bc23fff8; -defparam bootram.RAM2.INIT_10=256'ha0840100_f8603b18_a46600ff_f8803b10_f8e03b00_bc23fff8_a4630100_e8603b10; -defparam bootram.RAM2.INIT_11=256'hb60f0008_e8603b00_bc23fff8_a4630100_e8603b10_10650000_be050018_f8803b10; -defparam bootram.RAM2.INIT_12=256'h31200400_31000008_10a00000_f9e10000_3021ffe4_10e60000_10c00000_80000000; -defparam bootram.RAM2.INIT_13=256'h3021ffc4_3021001c_b60f0008_e9e10000_80000000_b9f4ff84_f8603b14_30600001; -defparam bootram.RAM2.INIT_14=256'hb9f4ff3c_fae10034_13060000_f9e10000_fb010038_fa61002c_12c50000_fac10030; -defparam bootram.RAM2.INIT_15=256'hfac03b00_f8603b04_3060000b_66d60408_f8603b10_f8003b18_30600400_12670000; -defparam bootram.RAM2.INIT_16=256'h80000000_b9f4ff00_f8603b10_30600528_f8803b10_30800428_f8603b18_30600001; -defparam bootram.RAM2.INIT_17=256'hf8803b10_30800500_f8603b10_30600400_3261001c_12e00000_12d30000_be18009c; -defparam bootram.RAM2.INIT_18=256'he8803b04_f8610020_e8603b08_f881001c_14b7c000_e8803b0c_80000000_b9f4fed8; -defparam bootram.RAM2.INIT_19=256'h30a00010_10800000_beb20034_16459003_22400010_f8610028_e8603b00_f8810024; -defparam bootram.RAM2.INIT_1A=256'hbeb20020_1658b803_12f72800_bc32fff0_16442800_30840001_d0762000_c0732000; -defparam bootram.RAM2.INIT_1B=256'hf8003b18_12d62800_be52ff7c_1658b803_12f72800_bc25ffd8_b800ff8c_12d62800; -defparam bootram.RAM2.INIT_1C=256'hb0009f00_3021003c_b60f0008_eb010038_eae10034_eac10030_ea61002c_e9e10000; -defparam bootram.RAM2.INIT_1D=256'h31200400_b9f4fe34_f9e10000_31000020_30c00001_30a00001_3021ffe4_30e00000; -defparam bootram.RAM2.INIT_1E=256'h3021ffe4_e860f828_b0000000_3021001c_b60f0008_a463ffff_b00000ff_e9e10000; -defparam bootram.RAM2.INIT_1F=256'h64830008_80000000_b9f4ffa8_3021001c_b60f0008_e9e10000_bc030010_f9e10000; -defparam bootram.RAM2.INIT_20=256'h16439001_32400015_80000000_b9f40330_a46300ff_be120010_aa440020_a48400ff; -defparam bootram.RAM2.INIT_21=256'hb0000000_b800ffb0_f860f828_b0000000_bc52ffe4_16439001_32400018_bcb2fff0; -defparam bootram.RAM2.INIT_22=256'hb9f4ff40_3021001c_b60f0008_e9e10000_bc030010_f9e10000_3021ffe4_e860f824; -defparam bootram.RAM2.INIT_23=256'h80000000_b9f402c8_a4a300ff_be120010_aa440020_a48400ff_64830008_80000000; -defparam bootram.RAM2.INIT_24=256'hb0000000_e0651bbe_bc52ffe4_16459001_32400018_bcb2fff0_16459001_32400015; -defparam bootram.RAM2.INIT_25=256'h10c50000_12c00000_fac1001c_3021ffe0_b800ffa4_f860f824_b0000000_f8a0f828; -defparam bootram.RAM2.INIT_26=256'heac1001c_e9e10000_80000000_99fcb000_30e00024_b9f40334_f9e10000_10b60000; -defparam bootram.RAM2.INIT_27=256'hb810001c_30e1001c_b9f4fd88_f9e10000_30c00040_3021ffa4_30210020_b60f0008; -defparam bootram.RAM2.INIT_28=256'he063001c_10612800_10600000_be520044_16459001_3240003e_30a50001_10a00000; -defparam bootram.RAM2.INIT_29=256'haa440099_e083001c_10612800_30a50001_bc32ffd8_aa4300aa_bc12ffe0_aa4300ff; -defparam bootram.RAM2.INIT_2A=256'h3021005c_b60f0008_e9e10000_3021005c_b60f0008_e9e10000_30600001_be32ffc8; -defparam bootram.RAM2.INIT_2B=256'h10b60000_30c00006_b9f4fd08_f9e10000_10f60000_32c1001c_fac10028_3021ffd4; -defparam bootram.RAM2.INIT_2C=256'heac10028_e9e10000_a884ffff_80841800_14830000_30e00006_b9f401f8_30c01bd8; -defparam bootram.RAM2.INIT_2D=256'h65040403_64e40003_64a40007_64c40005_e0803a03_3021002c_b60f0008_6464001f; -defparam bootram.RAM2.INIT_2E=256'ha4a50008_80e73000_90a40041_a4e70004_80c62800_a4c60002_64640407_65240405; -defparam bootram.RAM2.INIT_2F=256'h81294000_a5290040_81082000_a5080020_80842800_a4840010_80a53800_10842000; -defparam bootram.RAM2.INIT_30=256'h64e50403_64c50003_64650007_64850005_a4a500ff_a46300ff_b60f0008_80634800; -defparam bootram.RAM2.INIT_31=256'ha4630008_80c62000_90650041_a4c60004_80841800_a4840002_65250407_65050405; -defparam bootram.RAM2.INIT_32=256'h81083800_a5080040_80e72800_a4e70020_80a51800_a4a50010_80633000_10a52800; -defparam bootram.RAM2.INIT_33=256'hb00000ff_fac1001c_3021ffe0_80000000_b60f0008_f9203a00_a52900ff_81294000; -defparam bootram.RAM2.INIT_34=256'h30a0ffaa_b9f4ff74_30a0ffff_b9f4ff7c_30a0ffff_b9f4ff84_f9e10000_a6c5ffff; -defparam bootram.RAM2.INIT_35=256'h30a00061_b9f4ff54_30a00032_b9f4ff5c_a2d60000_b0000b00_30a0ff99_b9f4ff6c; -defparam bootram.RAM2.INIT_36=256'h30a0ff81_b9f4ff34_30a00032_b9f4ff3c_10b60000_b9f4ff44_64b60008_b9f4ff4c; -defparam bootram.RAM2.INIT_37=256'h30a0ffa1_b9f4ff14_30a00030_b9f4ff1c_64b60010_b9f4ff24_30a0000b_b9f4ff2c; -defparam bootram.RAM2.INIT_38=256'h10a00000_b9f4fef4_30a00020_b9f4fefc_30a0000e_b9f4ff04_10a00000_b9f4ff0c; -defparam bootram.RAM2.INIT_39=256'h30210020_b60f0008_eac1001c_e9e10000_10a00000_b9f4fee4_30a00020_b9f4feec; -defparam bootram.RAM2.INIT_3A=256'hb6110000_30a0ffff_b9f4e91c_80000000_b9f4f220_f9e10000_3021ffe4_30a01be0; -defparam bootram.RAM2.INIT_3B=256'h22400003_80000000_b60f0008_80000000_b60f0008_80000000_b6910000_80000000; -defparam bootram.RAM2.INIT_3C=256'h16432000_e8660000_e8850000_bc230050_a4630003_80653000_beb2005c_16479003; -defparam bootram.RAM2.INIT_3D=256'h30e7ffff_30c60004_be52ffe0_16479003_22400003_30a50004_30e7fffc_bc320040; -defparam bootram.RAM2.INIT_3E=256'h30c60001_30a50001_be320020_16434000_e0660000_e1050000_bc120028_aa47ffff; -defparam bootram.RAM2.INIT_3F=256'h2240000f_14634000_b60f0008_10600000_b60f0008_bc32ffe0_aa47ffff_30e7ffff; -defparam bootram.RAM3.INIT_00=256'hbc070024_11050000_be030034_a4630003_80662800_10850000_beb20018_16479003; -defparam bootram.RAM3.INIT_01=256'h30c60001_be32fff0_16474000_31080001_f0680000_e0660000_10e72000_11040000; -defparam bootram.RAM3.INIT_02=256'he8860008_f8680004_e8660004_f8880000_30e7fff0_e8860000_10650000_b60f0008; -defparam bootram.RAM3.INIT_03=256'h31080010_be52ffd0_16479003_2240000f_f868000c_30c60010_e866000c_f8880008; -defparam bootram.RAM3.INIT_04=256'h22400003_d8682000_30e7fffc_c8662000_10800000_bcb2002c_16479003_22400003; -defparam bootram.RAM3.INIT_05=256'he860193c_10880000_b810ff68_11044000_10c43000_30840004_be52ffec_16479003; -defparam bootram.RAM3.INIT_06=256'h3273fffc_99fc1800_bc120018_aa43ffff_3260193c_f9e10000_fa61001c_3021ffe0; -defparam bootram.RAM3.INIT_07=256'h3021fff8_30210020_b60f0008_ea61001c_e9e10000_bc32fff0_aa43ffff_e8730000; -defparam bootram.RAM3.INIT_08=256'h30210008_b60f0008_c9e00800_80000000_b9f4ffb0_80000000_b9f4e7d4_d9e00800; -defparam bootram.RAM3.INIT_09=256'hffffffff_30210008_b60f0008_c9e00800_80000000_b9f4e74c_d9e00800_3021fff8; -defparam bootram.RAM3.INIT_0A=256'h696d6167_61696e20_523a206d_4552524f_4f4b0000_00000000_ffffffff_00000000; -defparam bootram.RAM3.INIT_0B=256'h64206d6f_206c6f61_49484558_20696e20_4261636b_65642120_7475726e_65207265; -defparam bootram.RAM3.INIT_0C=256'h53746172_720a0000_6f616465_6f6f746c_322b2062_55535250_4e4f4b00_64652e00; -defparam bootram.RAM3.INIT_0D=256'h4552524f_2e000000_6d6f6465_61666520_696e2073_50322b20_20555352_74696e67; -defparam bootram.RAM3.INIT_0E=256'h20546869_72616d21_70726f67_61696e20_6f6d206d_6e206672_65747572_523a2072; -defparam bootram.RAM3.INIT_0F=256'h523a206e_4552524f_6e210000_61707065_65722068_206e6576_6f756c64_73207368; -defparam bootram.RAM3.INIT_10=256'h626c652e_61696c61_65206176_696d6167_61726520_69726d77_66652066_6f207361; -defparam bootram.RAM3.INIT_11=256'h6c6f6164_20746f20_66726565_65656c20_6b2e2046_62726963_6d206120_20492061; -defparam bootram.RAM3.INIT_12=256'h2076616c_20666f72_6b696e67_43686563_2e000000_2052414d_5820746f_20494845; -defparam bootram.RAM3.INIT_13=256'h56616c69_2e2e2e00_6d616765_47412069_6e204650_6374696f_726f6475_69642070; -defparam bootram.RAM3.INIT_14=256'h642e2041_666f756e_61676520_4120696d_20465047_74696f6e_6f647563_64207072; -defparam bootram.RAM3.INIT_15=256'h2070726f_616c6964_4e6f2076_742e0000_20626f6f_6720746f_7074696e_7474656d; -defparam bootram.RAM3.INIT_16=256'h74656d70_2e0a4174_6f756e64_67652066_20696d61_46504741_696f6e20_64756374; -defparam bootram.RAM3.INIT_17=256'h77617265_6669726d_696f6e20_64756374_2070726f_6c6f6164_20746f20_74696e67; -defparam bootram.RAM3.INIT_18=256'h6520666f_6d776172_20666972_74696f6e_6f647563_64207072_56616c69_2e2e2e00; -defparam bootram.RAM3.INIT_19=256'h6e206672_65747572_523a2052_4552524f_2e2e2e00_64696e67_204c6f61_756e642e; -defparam bootram.RAM3.INIT_1A=256'h206e6576_6f756c64_73207368_20546869_72616d21_70726f67_61696e20_6f6d206d; -defparam bootram.RAM3.INIT_1B=256'h696f6e20_64756374_2070726f_616c6964_4e6f2076_6e210000_61707065_65722068; -defparam bootram.RAM3.INIT_1C=256'h6669726d_61666520_6e672073_54727969_6e642e20_20666f75_77617265_6669726d; -defparam bootram.RAM3.INIT_1D=256'h0018000f_ffff0031_01b200d9_05160364_14580a2c_05050400_2e2e2e00_77617265; -defparam bootram.RAM3.INIT_1E=256'hb8080000_b0000000_10101200_06820594_09c407d0_13880d05_00002710_000b0000; -defparam bootram.RAM3.INIT_1F=256'h20202020_28282820_20202828_20202020_00202020_00000000_6f72740a_0a0a6162; -defparam bootram.RAM3.INIT_20=256'h10040404_10101010_10101010_10101010_20881010_20202020_20202020_20202020; -defparam bootram.RAM3.INIT_21=256'h01010101_01010101_01010101_41414141_10104141_10101010_04040410_04040404; -defparam bootram.RAM3.INIT_22=256'h02020202_02020202_02020202_42424242_10104242_10101010_01010101_01010101; -defparam bootram.RAM3.INIT_23=256'h00000000_00000000_00000000_00000000_20000000_10101010_02020202_02020202; +defparam bootram.RAM0.INIT_00=256'h00000000_00000000_00000000_a7fc0400_3a0b0b0b_0bb1fc0c_80700b0b_0b0b0b0b; +defparam bootram.RAM0.INIT_01=256'h00000000_00000000_00000000_800c0400_880c840c_0ba8b92d_88080b0b_80088408; +defparam bootram.RAM0.INIT_02=256'h00000000_00000000_04000000_ffff0652_832b2a83_81058205_72830609_71fd0608; +defparam bootram.RAM0.INIT_03=256'h83a70400_0b0b0b0b_7383ffff_2b2b0906_05820583_83060981_83ffff73_71fd0608; +defparam bootram.RAM0.INIT_04=256'h00000000_00000000_53510400_070a8106_73097306_09060906_72057373_72098105; +defparam bootram.RAM0.INIT_05=256'h00000000_00000000_00000000_00000000_00000000_51040000_732e0753_72722473; +defparam bootram.RAM0.INIT_06=256'h00000000_53510400_81065151_0a31050a_0a720a10_30720a10_71068106_71737109; +defparam bootram.RAM0.INIT_07=256'h00000000_00000000_00000000_00000000_00000000_51040000_732e0753_72722673; +defparam bootram.RAM0.INIT_08=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM0.INIT_09=256'h00000000_00000000_00000000_00000000_00000000_00000000_c3040000_0b0b0b88; +defparam bootram.RAM0.INIT_0A=256'h00000000_00000000_00000000_00000000_00000000_00000000_0a535104_720a722b; +defparam bootram.RAM0.INIT_0B=256'h00000000_00000000_00000000_00000000_05040000_0b0b88a6_0981050b_72729f06; +defparam bootram.RAM0.INIT_0C=256'h00000000_00000000_04000000_06075351_8106ff05_0974090a_739f062a_72722aff; +defparam bootram.RAM0.INIT_0D=256'h00000000_0c515104_0772fc06_832b0b2b_81058205_73830609_020d0406_71715351; +defparam bootram.RAM0.INIT_0E=256'h00000000_00000000_00000000_51040000_0a810653_81050906_72050970_72098105; +defparam bootram.RAM0.INIT_0F=256'h00000000_00000000_00000000_53510400_0a098106_81050906_72050970_72098105; +defparam bootram.RAM0.INIT_10=256'h00000000_00000000_00000000_00000000_00000000_00000000_52040000_71098105; +defparam bootram.RAM0.INIT_11=256'h00000000_00000000_00000000_00000000_00000000_04000000_05055351_72720981; +defparam bootram.RAM0.INIT_12=256'h00000000_00000000_00000000_00000000_00000000_07535104_73730906_72097206; +defparam bootram.RAM0.INIT_13=256'h00000000_00000000_04000000_81ff0652_1010102a_81058305_72830609_71fc0608; +defparam bootram.RAM0.INIT_14=256'h00000000_00000000_88a90400_060b0b0b_10100508_e8738306_0b0b0bb1_71fc0608; +defparam bootram.RAM0.INIT_15=256'h00000000_0c510400_0c840c80_80085688_f32d5050_0b0b0ba1_88087575_80088408; +defparam bootram.RAM0.INIT_16=256'h00000000_0c510400_0c840c80_80085688_a52d5050_0b0b0ba3_88087575_80088408; +defparam bootram.RAM0.INIT_17=256'h04000000_07515151_05ff0506_73097274_70547106_8106ff05_0509060a_72097081; +defparam bootram.RAM0.INIT_18=256'h51040000_06075151_7405ff05_06730972_05705471_098106ff_0509060a_72097081; +defparam bootram.RAM0.INIT_19=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_05ff0504; +defparam bootram.RAM0.INIT_1A=256'h00000000_00000000_00000000_00000000_00000000_51040000_0bb1f80c_810b0b0b; +defparam bootram.RAM0.INIT_1B=256'h00000000_00000000_00000000_00000000_00000000_00000000_04000000_71810552; +defparam bootram.RAM0.INIT_1C=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM0.INIT_1D=256'h00000000_00000000_00000000_00000000_00000000_04000000_10100552_02840572; +defparam bootram.RAM0.INIT_1E=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM0.INIT_1F=256'h00000000_00000000_00000000_00000000_00000000_020d0400_05715351_717105ff; +defparam bootram.RAM0.INIT_20=256'h10101010_10101010_10101010_10101010_10101010_10101010_d93f0410_81f33fa1; +defparam bootram.RAM0.INIT_21=256'h060c5151_2b0772fc_05101010_09810583_06738306_047381ff_10105351_10101010; +defparam bootram.RAM0.INIT_22=256'h535104b1_ed385151_100a5372_1052720a_72060571_06ff0509_72807281_043c0472; +defparam bootram.RAM0.INIT_23=256'hcc0c8290_a0800bb9_b9c80c82_0b0b0b0b_38838080_08822eb9_a138b1fc_f808802e; +defparam bootram.RAM0.INIT_24=256'h80808480_b9cc0cf8_8082800b_c80cf880_0b0b0bb9_8080a40b_0c04f880_800bb9d0; +defparam bootram.RAM0.INIT_25=256'h0baa880b_cc0c0b0b_80940bb9_0c80c0a8_0b0bb9c8_808c0b0b_0480c0a8_0bb9d00c; +defparam bootram.RAM0.INIT_26=256'hb2840c70_92388412_5270802e_08700852_a338b284_d4335170_ff3d0db9_b9d00c04; +defparam bootram.RAM0.INIT_27=256'hc408802e_0b0b0bb9_04803d0d_833d0d04_0bb9d434_70f03881_70085252_2db28408; +defparam bootram.RAM0.INIT_28=256'hf5e23f82_510b0b0b_0b0bb9c4_3d0d040b_06853882_802e0981_0b0b800b_8e380b0b; +defparam bootram.RAM0.INIT_29=256'h518bdc3f_d0055273_3fb23dfe_525486b3_59923d70_3dfee005_d03d0db2_3d0d0404; +defparam bootram.RAM0.INIT_2A=256'h3d335473_519e3986_8e3faa8c_5273519c_38765378_ff74278f_775481ff_8008b238; +defparam bootram.RAM0.INIT_2B=256'hb039803d_85b13fff_39aac451_aa905184_3f91f53f_8c5185bf_068f38aa_812e0981; +defparam bootram.RAM0.INIT_2C=256'h0ca78851_0b81a08c_3d0d81ff_3d0d04fc_51f63982_380bff11_70ff2e87_0dff1351; +defparam bootram.RAM0.INIT_2D=256'h81ff0655_ee3f8008_84f53f83_3faac851_f43f86e9_85f43f8e_81a08c0c_dd3f800b; +defparam bootram.RAM0.INIT_2E=256'h81fc8080_5184d03f_c338aaf4_51547380_70810651_08708d2a_3f81c6b4_805182ed; +defparam bootram.RAM0.INIT_2F=256'h8ebe3f90_fc808051_ffff5281_80805380_82c33f82_a6388151_8008802e_5190d43f; +defparam bootram.RAM0.INIT_30=256'ha851848b_74b238ac_3ffe8d3f_d0518497_3f8a39ab_735191b0_5184a43f_e33fab94; +defparam bootram.RAM0.INIT_31=256'hfec03fb0_3f82ac51_815181f9_5183f83f_9938acd4_8008802e_518fbf3f_3fb0800a; +defparam bootram.RAM0.INIT_32=256'h83cd3f82_38addc51_08802eaa_8fe53f80_98800a51_5183e03f_f73fad8c_800a5190; +defparam bootram.RAM0.INIT_33=256'h3faeac51_853f8fe8_82ac51fe_5183b83f_cf3fae88_800a518d_ffff5298_80805380; +defparam bootram.RAM0.INIT_34=256'h5380ffff_38828080_08802eb5_80085480_518fa83f_81fc8080_5183a43f_ba39aee8; +defparam bootram.RAM0.INIT_35=256'hee3f82ac_ab945182_3f8fad3f_ac51fdca_82fd3f82_3fae8851_80518d94_5281fc80; +defparam bootram.RAM0.INIT_36=256'h04f83d0d_0c863d0d_cf3f7380_82d93ffc_39abd051_3f81548a_80518ff4_51fdbb3f; +defparam bootram.RAM0.INIT_37=256'h70810558_8a3d3476_17575473_b7387581_54807425_74ff1656_5a575758_7a7c7f7f; +defparam bootram.RAM0.INIT_38=256'h8a518790_81ff0654_e23f8008_ff065185_05527781_538a3dfc_a1053482_33028405; +defparam bootram.RAM0.INIT_39=256'h748338dc_5580de56_02a30533_04fa3d0d_0c8a3d0d_81547380_8538c139_3f73802e; +defparam bootram.RAM0.INIT_3A=256'h7c5702ab_04f93d0d_3f883d0d_d051ff89_81f75280_3dfc0553_34815488_5675883d; +defparam bootram.RAM0.INIT_3B=256'h56547380_81ff0670_823f8008_70525685_02a70533_3dfc0552_34815389_0533893d; +defparam bootram.RAM0.INIT_3C=256'h83388155_5473802e_ff067056_3f800881_755183c5_76537b52_77259738_2e9e3880; +defparam bootram.RAM0.INIT_3D=256'h883d3356_a03f800b_80d051ff_5381f752_883dfc05_3d0d8154_3d0d04fa_74800c89; +defparam bootram.RAM0.INIT_3E=256'h81e33f72_53538051_3d0d7470_3d0d04fe_75800c88_83388156_2e098106_567480de; +defparam bootram.RAM0.INIT_3F=256'h7481ff06_90388115_5472802e_81ff0654_56743370_0d777956_0d04fb3d_800c843d; +defparam bootram.RAM1.INIT_00=256'h8a527251_5253cb3f_74765370_04fe3d0d_0c873d0d_39800b80_81bb3fe5_53765255; +defparam bootram.RAM1.INIT_01=256'h78705555_fc3d0d76_833d0d04_8051de3f_3d0d7352_3d0d04ff_0b800c84_819f3f80; +defparam bootram.RAM1.INIT_02=256'h38807334_098106e7_52718a2e_0881ff06_08733480_81b23f80_13537451_55843981; +defparam bootram.RAM1.INIT_03=256'h33b28812_51028f05_803d0d72_833d0d04_8051c93f_3d0d7352_3d0d04ff_73800c86; +defparam bootram.RAM1.INIT_04=256'h0d04fe3d_5351833d_7022720c_10afa405_ce800575_73a02981_04ff3d0d_34823d0d; +defparam bootram.RAM1.INIT_05=256'h38843d0d_827325e7_3f811353_527251d1_b28c1333_7251c93f_88133352_0d8053b2; +defparam bootram.RAM1.INIT_06=256'h388d5273_09810687_5372812e_b2881433_81069438_748a2e09_76785654_04fc3d0d; +defparam bootram.RAM1.INIT_07=256'hff3d0d73_863d0d04_748c150c_802ef838_14085372_80055484_a02981ce_51df3f73; +defparam bootram.RAM1.INIT_08=256'h800b81c2_04ff3d0d_0c833d0d_90120880_802ef838_12085170_80055288_a02981ce; +defparam bootram.RAM1.INIT_09=256'h0681c280_227081ff_b2900570_84517010_71258338_06515184_a408708f_880c81c6; +defparam bootram.RAM1.INIT_0A=256'h05970533_76780288_04fd3d0d_0c833d0d_0b81c288_51518180_81c2840c_0c70882a; +defparam bootram.RAM1.INIT_0B=256'h10810781_70f13872_06515151_862a7081_c2900870_81863881_5171802e_55535481; +defparam bootram.RAM1.INIT_0C=256'h90087087_f13881c2_51515170_2a708106_90087081_900c81c2_900b81c2_c28c0c81; +defparam bootram.RAM1.INIT_0D=256'h38a05170_71812e83_3880e851_71802eb1_802eba38_51515170_70813251_2a708106; +defparam bootram.RAM1.INIT_0E=256'h81055634_51707470_81c28c08_5170f138_81065151_70812a70_81c29008_81c2900c; +defparam bootram.RAM1.INIT_0F=256'h02880597_3d0d7678_3d0d04fd_70800c85_81c2900c_3980c00b_39815188_ff1252cc; +defparam bootram.RAM1.INIT_10=256'hd0517180_c28c0c81_38721081_515170f1_70810651_0870862a_5481c290_05335553; +defparam bootram.RAM1.INIT_11=256'hc2900870_70f13881_06515151_812a7081_c2900870_c2900c81_90517081_2e843881; +defparam bootram.RAM1.INIT_12=256'h8c0c80d0_733381c2_2e80c538_cf387180_70802e80_51515151_06708132_872a7081; +defparam bootram.RAM1.INIT_13=256'h3881c290_515170f1_70810651_0870812a_0c81c290_7081c290_83389051_5171812e; +defparam bootram.RAM1.INIT_14=256'h81518a39_54ffb739_14ff1353_2e8e3881_51517080_81325151_70810670_0870872a; +defparam bootram.RAM1.INIT_15=256'h24a638b2_52528071_81c6a408_ff3d0d73_853d0d04_5170800c_c2900c80_80c00b81; +defparam bootram.RAM1.INIT_16=256'h7151ff11_72258938_0c515180_1122b29c_8e06b2a0_a4087010_923881c6_9c088025; +defparam bootram.RAM1.INIT_17=256'h269638c9_527180da_ff065152_a9117081_8f0533ff_ff3d0d02_833d0d04_5170fb38; +defparam bootram.RAM1.INIT_18=256'h3d0d797b_3d0d04f9_70800c83_ff065151_d0127081_b9268938_06515171_127081ff; +defparam bootram.RAM1.INIT_19=256'haa387281_5371782e_81173353_ef38810b_09810682_5371ba2e_335358ff_58568076; +defparam bootram.RAM1.INIT_1A=256'hbd387216_71802e82_53515452_06515151_337080c4_33afd511_06721970_147081ff; +defparam bootram.RAM1.INIT_1B=256'h3f800881_5252feec_06821733_842b9ff0_fb3f8008_163351fe_71d83881_70335152; +defparam bootram.RAM1.INIT_1C=256'hcb3f8008_163351fe_828a3883_54fd5374_11335753_7010178b_7084190c_ff067205; +defparam bootram.RAM1.INIT_1D=256'h53fea93f_85173352_80067305_882b83fe_bb3f8008_335253fe_80068417_8c2bbfe0; +defparam bootram.RAM1.INIT_1E=256'h163351fe_88180c87_ff067305_3f800881_5253fe98_05861733_9ff00673_8008842b; +defparam bootram.RAM1.INIT_1F=256'hd2387410_74742780_52717734_3f800812_5252fdf8_06881733_842b9ff0_873f8008; +defparam bootram.RAM1.INIT_20=256'h842b9ff0_cf3f8008_565152fd_52335552_70708105_08177119_ff068c19_89057081; +defparam bootram.RAM1.INIT_21=256'h197081ff_81ff0681_33701a70_17081570_7274348c_80081353_53fdc13f_06723352; +defparam bootram.RAM1.INIT_22=256'h05547305_0571882a_08783372_17088818_ffb03884_17087526_51515284_065a525b; +defparam bootram.RAM1.INIT_23=256'h068a1533_842b9ff0_f33f8008_515354fc_3356545b_101a8911_81ff0673_19703070; +defparam bootram.RAM1.INIT_24=256'h83398053_8539fe53_81068938_77722e09_5152fb53_7081ff06_3f800812_5252fce4; +defparam bootram.RAM1.INIT_25=256'h0d04fe3d_f138823d_51515170_2a708106_90087088_3d0d81d6_3d0d0480_72800c89; +defparam bootram.RAM1.INIT_26=256'h81065151_70882a70_81d69008_80075353_060780c0_067a8c80_337880ff_0d029305; +defparam bootram.RAM1.INIT_27=256'h900c7251_800781d6_980c7182_ff0681d6_900c7581_0c7181d6_7681d680_5170f138; +defparam bootram.RAM1.INIT_28=256'h0c843d0d_08517080_3881d680_515170f1_70810651_0870882a_3881d690_72802e96; +defparam bootram.RAM1.INIT_29=256'hf33d0d60_863d0d04_51ff873f_53805280_55885480_940c8880_810b81d6_04fc3d0d; +defparam bootram.RAM1.INIT_2A=256'h800c810b_882b81d6_d6840c7f_0c8b0b81_0b81d690_980c8880_800b81d6_59fee43f; +defparam bootram.RAM1.INIT_2B=256'h80de3888_58777927_3f615780_900cfeb3_a80b81d6_d6900c8a_88a80b81_81d6980c; +defparam bootram.RAM1.INIT_2C=256'h84085d81_085c81d6_5b81d688_81d68c08_0cfe983f_0b81d690_900c8a80_800b81d6; +defparam bootram.RAM1.INIT_2D=256'h1a547333_279c3874_80557476_83387356_56737627_31555a90_8b3d7979_d680085e; +defparam bootram.RAM1.INIT_2E=256'h800b81d6_58ff9e39_e1397518_3f811555_b05183e3_741852af_59347653_77708105; +defparam bootram.RAM1.INIT_2F=256'h57557417_84059d05_c73f8002_526851fe_545780c0_0d883d70_0d04ea3d_980c8f3d; +defparam bootram.RAM1.INIT_30=256'h2e098106_54738199_16703351_06943874_aa2e0981_9d387381_7381ff2e_70335154; +defparam bootram.RAM1.INIT_31=256'h70545486_3d0d863d_3d0d04f9_73800c98_d1388054_55be7527_8b398115_85388154; +defparam bootram.RAM1.INIT_32=256'h5574800c_06833881_752e0981_9e3f8008_52735189_8653afb8_f73f8055_527951fd; +defparam bootram.RAM1.INIT_33=256'h832a8406_872a0771_2a820671_05337085_3d0d0297_940c04fd_810b81a0_893d0d04; +defparam bootram.RAM1.INIT_34=256'h2b80c006_ff067685_07077081_a0067173_0674832b_07731090_06717307_72812a88; +defparam bootram.RAM1.INIT_35=256'hfe3d0d74_853d0d04_52555552_52535155_d4800c51_81ff0681_872b0770_70720778; +defparam bootram.RAM1.INIT_36=256'h51ff8c3f_923f8199_81aa51ff_51ff983f_9e3f81ff_81ff51ff_d00a0753_d00a0681; +defparam bootram.RAM1.INIT_37=256'hfeed3fb2_81ff0651_fef53f72_ff065252_882a7081_ff813f72_3f80e151_b251ff87; +defparam bootram.RAM1.INIT_38=256'h3fb051fe_5253fecf_7081ff06_3f72902a_2a51fedb_e23f7298_818151fe_51fee83f; +defparam bootram.RAM1.INIT_39=256'ha051feab_51feb03f_feb53f80_ba3fa051_3f8e51fe_8051febf_51fec43f_ca3f81a1; +defparam bootram.RAM1.INIT_3A=256'h9f2a515b_33703070_9005bb05_7e616302_f63d0d7c_0d04ff39_a63f843d_3f8051fe; +defparam bootram.RAM1.INIT_3B=256'h38795578_77772694_2d763057_52ad5178_2e8a3879_8f387580_57768025_5f5d5b59; +defparam bootram.RAM1.INIT_3C=256'h3351782d_08afc005_82b83f80_77527651_51ffbd3f_a03f8008_52765182_54805377; +defparam bootram.RAM1.INIT_3D=256'h52089fa4_70708405_3d0d8c3d_3d0d04f7_f0a53f82_8b053351_803d0d02_8c3d0d04; +defparam bootram.RAM1.INIT_3E=256'h80db3881_2e098106_065675a5_387681ff_802e81d1_06575775_337081ff_5c5a5878; +defparam bootram.RAM1.INIT_3F=256'h8a387580_7580e324_e32eb938_a0387580_7580f024_2e80fb38_597580f0_19703357; +defparam bootram.RAM2.INIT_00=256'h387580f3_80f5248b_2eac3875_397580f5_c638818b_80e42e80_81953975_2e819e38; +defparam bootram.RAM2.INIT_01=256'h51792d80_56805275_12335259_77841983_3880ec39_80f82eba_80f53975_2e80db38; +defparam bootram.RAM2.INIT_02=256'h559fa454_52595680_84197108_53903977_9fa45480_59568055_19710852_da397784; +defparam bootram.RAM2.INIT_03=256'h9e397784_51fdd13f_53905275_9fa45480_59568055_19710852_92397784_81538a52; +defparam bootram.RAM2.INIT_04=256'h1959fea3_2dec3981_58335179_76708105_8e388052_5675802e_59567633_19710859; +defparam bootram.RAM2.INIT_05=256'h05085182_528c0888_088c0508_0d80538c_8c0cfd3d_048c0802_0c8b3d0d_39800b80; +defparam bootram.RAM2.INIT_06=256'h08528c08_8c088c05_3d0d8153_028c0cfd_0c048c08_853d0d8c_70800c54_de3f8008; +defparam bootram.RAM2.INIT_07=256'h0b8c08fc_f93d0d80_08028c0c_8c0c048c_54853d0d_0870800c_82b93f80_88050851; +defparam bootram.RAM2.INIT_08=256'h0c8c08fc_8c08f405_050c800b_308c0888_08880508_25ab388c_88050880_050c8c08; +defparam bootram.RAM2.INIT_09=256'hab388c08_05088025_0c8c088c_8c08fc05_08f40508_f4050c8c_810b8c08_05088838; +defparam bootram.RAM2.INIT_0A=256'h050c8c08_0b8c08f0_08883881_8c08fc05_08f0050c_0c800b8c_8c088c05_8c050830; +defparam bootram.RAM2.INIT_0B=256'h8c08f805_3f800870_085181a7_8c088805_8c050852_80538c08_08fc050c_f005088c; +defparam bootram.RAM2.INIT_0C=256'h800c5489_f8050870_050c8c08_308c08f8_08f80508_2e8c388c_fc050880_0c548c08; +defparam bootram.RAM2.INIT_0D=256'h388c0888_08802593_8c088805_08fc050c_0d800b8c_8c0cfb3d_048c0802_3d0d8c0c; +defparam bootram.RAM2.INIT_0E=256'h08308c08_8c088c05_80258c38_088c0508_fc050c8c_810b8c08_0888050c_0508308c; +defparam bootram.RAM2.INIT_0F=256'h8c08fc05_f8050c54_08708c08_51ad3f80_08880508_0508528c_538c088c_8c050c81; +defparam bootram.RAM2.INIT_10=256'h8c0c048c_54873d0d_0870800c_8c08f805_08f8050c_0508308c_388c08f8_08802e8c; +defparam bootram.RAM2.INIT_11=256'h88050827_05088c08_0c8c088c_8c08f805_050c800b_0b8c08fc_fd3d0d81_08028c0c; +defparam bootram.RAM2.INIT_12=256'h088c050c_0508108c_388c088c_05082499_0b8c088c_2ea33880_fc050880_ac388c08; +defparam bootram.RAM2.INIT_13=256'h8c088805_088c0508_80c9388c_0508802e_398c08fc_fc050cc9_08108c08_8c08fc05; +defparam bootram.RAM2.INIT_14=256'h0508078c_088c08fc_8c08f805_0888050c_0508318c_088c088c_8c088805_0826a138; +defparam bootram.RAM2.INIT_15=256'hffaf398c_088c050c_08812a8c_8c088c05_08fc050c_08812a8c_8c08fc05_08f8050c; +defparam bootram.RAM2.INIT_16=256'h8c08f405_f8050870_8d398c08_f4050c51_08708c08_8c088805_802e8f38_08900508; +defparam bootram.RAM2.INIT_17=256'h38747407_8372278c_79565652_3d0d7877_8c0c04fc_0c853d0d_f4050880_0c518c08; +defparam bootram.RAM2.INIT_18=256'hbd388115_2e098106_52537271_74337433_ff2ea038_ff125271_802eb038_83065170; +defparam bootram.RAM2.INIT_19=256'h0873082e_74545170_3d0d0474_0b800c86_06e23880_ff2e0981_54555571_8115ff14; +defparam bootram.RAM2.INIT_1A=256'h31800c86_af397271_735555ff_26e93870_54517183_14fc1454_38841184_0981068f; +defparam bootram.RAM2.INIT_1B=256'ha738ff12_5170802e_75078306_278c3872_55558f72_797b5555_3d0d7670_3d0d04fc; +defparam bootram.RAM2.INIT_1C=256'h3874800c_098106ea_5271ff2e_5634ff12_74708105_81055433_98387270_5271ff2e; +defparam bootram.RAM2.INIT_1D=256'h530c7270_71708405_84055408_530c7270_71708405_84055408_74517270_863d0d04; +defparam bootram.RAM2.INIT_1E=256'hc9388372_52718f26_530cf012_71708405_84055408_530c7270_71708405_84055408; +defparam bootram.RAM2.INIT_1F=256'hfd3d0d80_54ff8339_26ed3870_12527183_05530cfc_08717084_70840554_27953872; +defparam bootram.RAM2.INIT_20=256'h3f800851_8151e2f7_3fb2b052_ce3fdfec_b9d80ce0_2e983873_54547281_0bb1fc08; +defparam bootram.RAM2.INIT_21=256'hf73d0d7b_3f00ff39_80085184_51e2e03f_b2b05281_3fdfd53f_d80ce0b7_9b3f72b9; +defparam bootram.RAM2.INIT_22=256'h55598074_81712b59_1908ff05_81881884_2e80d938_545a7780_c811085a_b2b40882; +defparam bootram.RAM2.INIT_23=256'hb5387816_5372802e_19087706_56568180_78118805_3873822b_807424b5_2480e938; +defparam bootram.RAM2.INIT_24=256'h38770858_738025d6_5a575754_1779812c_14fc17fc_53722dff_79517408_70085353; +defparam bootram.RAM2.INIT_25=256'h1779812c_14fc17fc_53722dff_993f7408_387951f5_bc1308a5_b2b40853_77ffad38; +defparam bootram.RAM2.INIT_26=256'hed3fff3d_2d7951f4_13085372_397251bc_8057ff94_a938d239_738025ff_5a575754; +defparam bootram.RAM2.INIT_27=256'h06f13883_ff2e0981_08525270_2dfc1270_2e913870_525270ff_fc057008_0db9b80b; +defparam bootram.RAM2.INIT_28=256'h696d6167_61696e20_523a206d_4552524f_4f4b0000_00000040_dfbe3f04_3d0d0404; +defparam bootram.RAM2.INIT_29=256'h64206d6f_206c6f61_49484558_20696e20_4261636b_65642120_7475726e_65207265; +defparam bootram.RAM2.INIT_2A=256'h70657220_72207375_6f616465_6f6f746c_322b2062_55535250_4e4f4b00_64652e00; +defparam bootram.RAM2.INIT_2B=256'h20555352_74696e67_53746172_6e0a0000_6974696f_55206564_61205a50_756c7472; +defparam bootram.RAM2.INIT_2C=256'h65747572_523a2072_4552524f_2e000000_6d6f6465_61666520_696e2073_50322b20; +defparam bootram.RAM2.INIT_2D=256'h6f756c64_73207368_20546869_72616d21_70726f67_61696e20_6f6d206d_6e206672; +defparam bootram.RAM2.INIT_2E=256'h66652066_6f207361_523a206e_4552524f_6e210000_61707065_65722068_206e6576; +defparam bootram.RAM2.INIT_2F=256'h6d206120_20492061_626c652e_61696c61_65206176_696d6167_61726520_69726d77; +defparam bootram.RAM2.INIT_30=256'h5820746f_20494845_6c6f6164_20746f20_66726565_65656c20_6b2e2046_62726963; +defparam bootram.RAM2.INIT_31=256'h726f6475_69642070_2076616c_20666f72_6b696e67_43686563_2e000000_2052414d; +defparam bootram.RAM2.INIT_32=256'h6f647563_64207072_56616c69_2e2e2e00_6d616765_47412069_6e204650_6374696f; +defparam bootram.RAM2.INIT_33=256'h7074696e_7474656d_642e2041_666f756e_61676520_4120696d_20465047_74696f6e; +defparam bootram.RAM2.INIT_34=256'h696f6e20_64756374_2070726f_616c6964_4e6f2076_742e0000_20626f6f_6720746f; +defparam bootram.RAM2.INIT_35=256'h20746f20_74696e67_74656d70_2e0a4174_6f756e64_67652066_20696d61_46504741; +defparam bootram.RAM2.INIT_36=256'h56616c69_2e2e2e00_77617265_6669726d_696f6e20_64756374_2070726f_6c6f6164; +defparam bootram.RAM2.INIT_37=256'h204c6f61_756e642e_6520666f_6d776172_20666972_74696f6e_6f647563_64207072; +defparam bootram.RAM2.INIT_38=256'h61727469_2e205374_64696e67_206c6f61_73686564_46696e69_2e2e2e00_64696e67; +defparam bootram.RAM2.INIT_39=256'h6f6d206d_6e206672_65747572_523a2052_4552524f_2e000000_6d616765_6e672069; +defparam bootram.RAM2.INIT_3A=256'h65722068_206e6576_6f756c64_73207368_20546869_72616d21_70726f67_61696e20; +defparam bootram.RAM2.INIT_3B=256'h6669726d_696f6e20_64756374_2070726f_616c6964_4e6f2076_6e210000_61707065; +defparam bootram.RAM2.INIT_3C=256'h77617265_6669726d_61666520_6e672073_54727969_6e642e20_20666f75_77617265; +defparam bootram.RAM2.INIT_3D=256'h80700000_0b0b0b0b_25640a00_25643a20_01b200d9_05160364_14580a2c_2e2e2e00; +defparam bootram.RAM2.INIT_3E=256'h20202828_20202020_00202020_00000000_43444546_38394142_34353637_30313233; +defparam bootram.RAM2.INIT_3F=256'h10101010_10101010_20881010_20202020_20202020_20202020_20202020_28282820; +defparam bootram.RAM3.INIT_00=256'h01010101_41414141_10104141_10101010_04040410_04040404_10040404_10101010; +defparam bootram.RAM3.INIT_01=256'h02020202_42424242_10104242_10101010_01010101_01010101_01010101_01010101; +defparam bootram.RAM3.INIT_02=256'h00000000_00000000_20000000_10101010_02020202_02020202_02020202_02020202; +defparam bootram.RAM3.INIT_03=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_04=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_05=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_06=256'h792e6578_64756d6d_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_07=256'h00000000_00000000_ffffff00_ffff00ff_ff00ffff_00ffffff_43000000_65000000; +defparam bootram.RAM3.INIT_08=256'hffffffff_000b0000_0018000f_ffff0031_05050400_01010100_00001cc0_00000000; +defparam bootram.RAM3.INIT_09=256'h00001ba0_00000000_00001938_000018d8_06820594_09c407d0_13880d05_00002710; +defparam bootram.RAM3.INIT_0A=256'h00000000_00000000_00000000_00000000_00000000_00000000_00001c58_00001bfc; +defparam bootram.RAM3.INIT_0B=256'h00000000_00000000_00000000_00000000_000018e4_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_0C=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_0D=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_0E=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_0F=256'h00000000_00000000_00000000_000b0000_deec0005_1234e66d_330eabcd_00000001; +defparam bootram.RAM3.INIT_10=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_11=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_12=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_13=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_14=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_15=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_16=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_17=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_18=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_19=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_1A=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_1B=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_1C=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_1D=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_1E=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_1F=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_20=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_21=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_22=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_23=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; defparam bootram.RAM3.INIT_24=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; -defparam bootram.RAM3.INIT_25=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; +defparam bootram.RAM3.INIT_25=256'hffffffff_00000000_ffffffff_00000000_00000000_00000000_00000000_00000000; defparam bootram.RAM3.INIT_26=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; -defparam bootram.RAM3.INIT_27=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; -defparam bootram.RAM3.INIT_28=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; -defparam bootram.RAM3.INIT_29=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; -defparam bootram.RAM3.INIT_2A=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; -defparam bootram.RAM3.INIT_2B=256'h28282020_20282828_20202020_20202020_00000000_00000000_00000000_00000000; -defparam bootram.RAM3.INIT_2C=256'h10101010_10101010_10101010_88101010_20202020_20202020_20202020_20202020; -defparam bootram.RAM3.INIT_2D=256'h01010101_01010101_41414101_10414141_10101010_04041010_04040404_04040404; -defparam bootram.RAM3.INIT_2E=256'h02020202_02020202_42424202_10424242_10101010_01010110_01010101_01010101; -defparam bootram.RAM3.INIT_2F=256'h00000000_00000000_00000000_00000000_10101020_02020210_02020202_02020202; -defparam bootram.RAM3.INIT_30=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; -defparam bootram.RAM3.INIT_31=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; -defparam bootram.RAM3.INIT_32=256'h00000000_00000000_00000000_00000000_00000000_00000000_00000000_00000000; -defparam bootram.RAM3.INIT_33=256'h01010100_00001948_00000000_00000000_00000000_00000000_00000000_00000000; -defparam bootram.RAM3.INIT_34=256'h00000000_00000000_00000000_00000000_00000000_00000000_00001d70_ffffffff; diff --git a/usrp2/top/u2plus/u2plus_core.v b/usrp2/top/u2plus/u2plus_core.v index 72dee909b..1969883d7 100644 --- a/usrp2/top/u2plus/u2plus_core.v +++ b/usrp2/top/u2plus/u2plus_core.v @@ -131,7 +131,7 @@ module u2plus_core output spiflash_cs, output spiflash_clk, input spiflash_miso, output spiflash_mosi ); - localparam SR_BUF_POOL = 64; // Uses 1 reg + localparam SR_BUF_POOL = 64; // router localparam SR_UDP_SM = 96; // 64 regs localparam SR_RX_DSP = 160; // 16 localparam SR_RX_CTRL = 176; // 16 @@ -197,21 +197,21 @@ module u2plus_core wb_1master #(.decode_w(8), .s0_addr(8'b0000_0000),.s0_mask(8'b1110_0000), // 0-8K, Boot RAM - .s1_addr(8'b0100_0000),.s1_mask(8'b1100_0000), // 16K-32K, Buffer Pool - .s2_addr(8'b0011_0000),.s2_mask(8'b1111_1111), // SPI - .s3_addr(8'b0011_0001),.s3_mask(8'b1111_1111), // I2C - .s4_addr(8'b0011_0010),.s4_mask(8'b1111_1111), // GPIO - .s5_addr(8'b0011_0011),.s5_mask(8'b1111_1111), // Readback - .s6_addr(8'b0011_0100),.s6_mask(8'b1111_1111), // Ethernet MAC - .s7_addr(8'b0010_0000),.s7_mask(8'b1111_0000), // 8-12K, Settings Bus (only uses 1K) - .s8_addr(8'b0011_0101),.s8_mask(8'b1111_1111), // PIC - .s9_addr(8'b0011_0110),.s9_mask(8'b1111_1111), // Unused - .sa_addr(8'b0011_0111),.sa_mask(8'b1111_1111), // UART - .sb_addr(8'b0011_1000),.sb_mask(8'b1111_1111), // ATR - .sc_addr(8'b0011_1001),.sc_mask(8'b1111_1111), // Unused - .sd_addr(8'b0011_1010),.sd_mask(8'b1111_1111), // ICAP - .se_addr(8'b0011_1011),.se_mask(8'b1111_1111), // SPI Flash - .sf_addr(8'b1000_0000),.sf_mask(8'b1000_0000), // 32-64K, Main RAM + .s1_addr(8'b0100_0000),.s1_mask(8'b1111_0000), // 16K-20K, Buffer Pool + .s2_addr(8'b0110_0000),.s2_mask(8'b1111_1111), // SPI + .s3_addr(8'b0110_0001),.s3_mask(8'b1111_1111), // I2C + .s4_addr(8'b0110_0010),.s4_mask(8'b1111_1111), // GPIO + .s5_addr(8'b0110_0011),.s5_mask(8'b1111_1111), // Readback + .s6_addr(8'b0110_0100),.s6_mask(8'b1111_1111), // Ethernet MAC + .s7_addr(8'b0101_0000),.s7_mask(8'b1111_0000), // 20K-24K, Settings Bus (only uses 1K) + .s8_addr(8'b0110_0101),.s8_mask(8'b1111_1111), // PIC + .s9_addr(8'b0110_0110),.s9_mask(8'b1111_1111), // Unused + .sa_addr(8'b0110_0111),.sa_mask(8'b1111_1111), // UART + .sb_addr(8'b0110_1000),.sb_mask(8'b1111_1111), // ATR + .sc_addr(8'b0110_1001),.sc_mask(8'b1111_1111), // Unused + .sd_addr(8'b0110_1010),.sd_mask(8'b1111_1111), // ICAP + .se_addr(8'b0110_1011),.se_mask(8'b1111_1111), // SPI Flash + .sf_addr(8'b1000_0000),.sf_mask(8'b1100_0000), // 32-48K, Main RAM .dw(dw),.aw(aw),.sw(sw)) wb_1master (.clk_i(wb_clk),.rst_i(wb_rst), .m0_dat_o(m0_dat_o),.m0_ack_o(m0_ack),.m0_err_o(m0_err),.m0_rty_o(m0_rty),.m0_dat_i(m0_dat_i), @@ -251,33 +251,58 @@ module u2plus_core ////////////////////////////////////////////////////////////////////////////////////////// // Reset Controller - + + reg cpu_bldr_ctrl_state; + localparam CPU_BLDR_CTRL_WAIT = 0; + localparam CPU_BLDR_CTRL_DONE = 1; + + wire bldr_done; + reg cpu_rst; + wire cpu_enb = ~cpu_rst; + wire [aw-1:0] cpu_adr; + wire [aw-1:0] cpu_sp_init = (cpu_bldr_ctrl_state == CPU_BLDR_CTRL_DONE)? + 16'h3ff8 /*16K main ram*/: 16'h1ff8 /*8K boot ram*/; + + //When the main program runs, it will try to access system ram at 0. + //This logic sets the upper bit high to force select the system ram. + assign m0_adr = ((cpu_bldr_ctrl_state == CPU_BLDR_CTRL_DONE) && + (cpu_adr[15:14] == 2'b00))? {2'b10, cpu_adr[13:0]} : cpu_adr; + + always @(posedge wb_clk) + if(wb_rst) begin + cpu_bldr_ctrl_state <= CPU_BLDR_CTRL_WAIT; + cpu_rst <= 1'b0; + end + else begin + case(cpu_bldr_ctrl_state) + + CPU_BLDR_CTRL_WAIT: begin + if (bldr_done == 1'b1) begin //set by the bootloader + cpu_bldr_ctrl_state <= CPU_BLDR_CTRL_DONE; + cpu_rst <= 1'b1; + end + end + + CPU_BLDR_CTRL_DONE: begin //stay here forever + cpu_rst <= 1'b0; + end + + endcase //cpu_bldr_ctrl_state + end + // ///////////////////////////////////////////////////////////////////////// // Processor -// wire [31:0] if_dat; -// wire [15:0] if_adr; - -// aeMB_core_BE #(.ISIZ(16),.DSIZ(16),.MUL(0),.BSF(1)) -// aeMB (.sys_clk_i(wb_clk), .sys_rst_i(wb_rst), -// // Instruction Wishbone bus to I-RAM -// .if_adr(if_adr), -// .if_dat(if_dat), -// // Data Wishbone bus to system bus fabric -// .dwb_we_o(m0_we),.dwb_stb_o(m0_stb),.dwb_dat_o(m0_dat_i),.dwb_adr_o(m0_adr), -// .dwb_dat_i(m0_dat_o),.dwb_ack_i(m0_ack),.dwb_sel_o(m0_sel),.dwb_cyc_o(m0_cyc), -// // Interrupts and exceptions -// .sys_int_i(proc_int),.sys_exc_i(bus_error) ); - -// assign bus_error = m0_err | m0_rty; + + assign bus_error = m0_err | m0_rty; wire [63:0] zpu_status; zpu_wb_top #(.dat_w(dw), .adr_w(aw), .sel_w(sw)) - zpu_top0 (.clk(wb_clk), .rst(wb_rst), .enb(ram_loader_done), + zpu_top0 (.clk(wb_clk), .rst(wb_rst | cpu_rst), .enb(cpu_enb), // Data Wishbone bus to system bus fabric - .we_o(m0_we),.stb_o(m0_stb),.dat_o(m0_dat_i),.adr_o(m0_adr), + .we_o(m0_we),.stb_o(m0_stb),.dat_o(m0_dat_i),.adr_o(cpu_adr), .dat_i(m0_dat_o),.ack_i(m0_ack),.sel_o(m0_sel),.cyc_o(m0_cyc), // Interrupts and exceptions - .zpu_status(zpu_status), .interrupt(proc_int & 1'b0)); + .stack_start(cpu_sp_init), .zpu_status(zpu_status), .interrupt(proc_int & 1'b0)); // ///////////////////////////////////////////////////////////////////////// @@ -476,6 +501,8 @@ module u2plus_core .in(set_data),.out(adc_outs),.changed()); setting_reg #(.my_addr(4),.width(1)) sr_phy (.clk(wb_clk),.rst(wb_rst),.strobe(set_stb),.addr(set_addr), .in(set_data),.out(phy_reset),.changed()); + setting_reg #(.my_addr(5),.width(1)) sr_bldr (.clk(wb_clk),.rst(wb_rst),.strobe(set_stb),.addr(set_addr), + .in(set_data),.out(bldr_done),.changed()); // ///////////////////////////////////////////////////////////////////////// // LEDS @@ -694,8 +721,17 @@ module u2plus_core // ///////////////////////////////////////////////////////////////////////////////////////// // Debug Pins - assign debug_clk = 2'b00; // {dsp_clk, clk_to_mac}; - assign debug = 32'd0; // debug_extfifo; + //assign debug_clk = 2'b00; // {dsp_clk, clk_to_mac}; + //assign debug = 32'd0; // debug_extfifo; + assign debug_clk = {wb_rst, wb_clk}; + assign debug = { + cpu_adr, //16 bits + cpu_bldr_ctrl_state, //1 bits + bldr_done, //1 bit + cpu_rst, cpu_enb, // 2 bits + m0_we, m0_stb, m0_ack, m0_cyc, //4 + button, 7'b0 + }; assign debug_gpio_0 = 32'd0; assign debug_gpio_1 = 32'd0; |