mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 03:32:29 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			561 lines
		
	
	
	
		
			15 KiB
		
	
	
	
		
			Systemverilog
		
	
	
	
	
	
			
		
		
	
	
			561 lines
		
	
	
	
		
			15 KiB
		
	
	
	
		
			Systemverilog
		
	
	
	
	
	
| `define PARAMS_INIT_9 \
 | |
| 	.INIT_00(slice_init('h00)), \
 | |
| 	.INIT_01(slice_init('h01)), \
 | |
| 	.INIT_02(slice_init('h02)), \
 | |
| 	.INIT_03(slice_init('h03)), \
 | |
| 	.INIT_04(slice_init('h04)), \
 | |
| 	.INIT_05(slice_init('h05)), \
 | |
| 	.INIT_06(slice_init('h06)), \
 | |
| 	.INIT_07(slice_init('h07)), \
 | |
| 	.INIT_08(slice_init('h08)), \
 | |
| 	.INIT_09(slice_init('h09)), \
 | |
| 	.INIT_0A(slice_init('h0a)), \
 | |
| 	.INIT_0B(slice_init('h0b)), \
 | |
| 	.INIT_0C(slice_init('h0c)), \
 | |
| 	.INIT_0D(slice_init('h0d)), \
 | |
| 	.INIT_0E(slice_init('h0e)), \
 | |
| 	.INIT_0F(slice_init('h0f)), \
 | |
| 	.INIT_10(slice_init('h10)), \
 | |
| 	.INIT_11(slice_init('h11)), \
 | |
| 	.INIT_12(slice_init('h12)), \
 | |
| 	.INIT_13(slice_init('h13)), \
 | |
| 	.INIT_14(slice_init('h14)), \
 | |
| 	.INIT_15(slice_init('h15)), \
 | |
| 	.INIT_16(slice_init('h16)), \
 | |
| 	.INIT_17(slice_init('h17)), \
 | |
| 	.INIT_18(slice_init('h18)), \
 | |
| 	.INIT_19(slice_init('h19)), \
 | |
| 	.INIT_1A(slice_init('h1a)), \
 | |
| 	.INIT_1B(slice_init('h1b)), \
 | |
| 	.INIT_1C(slice_init('h1c)), \
 | |
| 	.INIT_1D(slice_init('h1d)), \
 | |
| 	.INIT_1E(slice_init('h1e)), \
 | |
| 	.INIT_1F(slice_init('h1f)),
 | |
| 
 | |
| `define PARAMS_INITP_9 \
 | |
| 	.INITP_00(slice_initp('h00)), \
 | |
| 	.INITP_01(slice_initp('h01)), \
 | |
| 	.INITP_02(slice_initp('h02)), \
 | |
| 	.INITP_03(slice_initp('h03)),
 | |
| 
 | |
| `define PARAMS_INIT_18 \
 | |
| 	.INIT_00(slice_init('h00)), \
 | |
| 	.INIT_01(slice_init('h01)), \
 | |
| 	.INIT_02(slice_init('h02)), \
 | |
| 	.INIT_03(slice_init('h03)), \
 | |
| 	.INIT_04(slice_init('h04)), \
 | |
| 	.INIT_05(slice_init('h05)), \
 | |
| 	.INIT_06(slice_init('h06)), \
 | |
| 	.INIT_07(slice_init('h07)), \
 | |
| 	.INIT_08(slice_init('h08)), \
 | |
| 	.INIT_09(slice_init('h09)), \
 | |
| 	.INIT_0A(slice_init('h0a)), \
 | |
| 	.INIT_0B(slice_init('h0b)), \
 | |
| 	.INIT_0C(slice_init('h0c)), \
 | |
| 	.INIT_0D(slice_init('h0d)), \
 | |
| 	.INIT_0E(slice_init('h0e)), \
 | |
| 	.INIT_0F(slice_init('h0f)), \
 | |
| 	.INIT_10(slice_init('h10)), \
 | |
| 	.INIT_11(slice_init('h11)), \
 | |
| 	.INIT_12(slice_init('h12)), \
 | |
| 	.INIT_13(slice_init('h13)), \
 | |
| 	.INIT_14(slice_init('h14)), \
 | |
| 	.INIT_15(slice_init('h15)), \
 | |
| 	.INIT_16(slice_init('h16)), \
 | |
| 	.INIT_17(slice_init('h17)), \
 | |
| 	.INIT_18(slice_init('h18)), \
 | |
| 	.INIT_19(slice_init('h19)), \
 | |
| 	.INIT_1A(slice_init('h1a)), \
 | |
| 	.INIT_1B(slice_init('h1b)), \
 | |
| 	.INIT_1C(slice_init('h1c)), \
 | |
| 	.INIT_1D(slice_init('h1d)), \
 | |
| 	.INIT_1E(slice_init('h1e)), \
 | |
| 	.INIT_1F(slice_init('h1f)), \
 | |
| 	.INIT_20(slice_init('h20)), \
 | |
| 	.INIT_21(slice_init('h21)), \
 | |
| 	.INIT_22(slice_init('h22)), \
 | |
| 	.INIT_23(slice_init('h23)), \
 | |
| 	.INIT_24(slice_init('h24)), \
 | |
| 	.INIT_25(slice_init('h25)), \
 | |
| 	.INIT_26(slice_init('h26)), \
 | |
| 	.INIT_27(slice_init('h27)), \
 | |
| 	.INIT_28(slice_init('h28)), \
 | |
| 	.INIT_29(slice_init('h29)), \
 | |
| 	.INIT_2A(slice_init('h2a)), \
 | |
| 	.INIT_2B(slice_init('h2b)), \
 | |
| 	.INIT_2C(slice_init('h2c)), \
 | |
| 	.INIT_2D(slice_init('h2d)), \
 | |
| 	.INIT_2E(slice_init('h2e)), \
 | |
| 	.INIT_2F(slice_init('h2f)), \
 | |
| 	.INIT_30(slice_init('h30)), \
 | |
| 	.INIT_31(slice_init('h31)), \
 | |
| 	.INIT_32(slice_init('h32)), \
 | |
| 	.INIT_33(slice_init('h33)), \
 | |
| 	.INIT_34(slice_init('h34)), \
 | |
| 	.INIT_35(slice_init('h35)), \
 | |
| 	.INIT_36(slice_init('h36)), \
 | |
| 	.INIT_37(slice_init('h37)), \
 | |
| 	.INIT_38(slice_init('h38)), \
 | |
| 	.INIT_39(slice_init('h39)), \
 | |
| 	.INIT_3A(slice_init('h3a)), \
 | |
| 	.INIT_3B(slice_init('h3b)), \
 | |
| 	.INIT_3C(slice_init('h3c)), \
 | |
| 	.INIT_3D(slice_init('h3d)), \
 | |
| 	.INIT_3E(slice_init('h3e)), \
 | |
| 	.INIT_3F(slice_init('h3f)),
 | |
| 
 | |
| `define PARAMS_INIT_18_U \
 | |
| 	.INIT_00(slice_init('h40)), \
 | |
| 	.INIT_01(slice_init('h41)), \
 | |
| 	.INIT_02(slice_init('h42)), \
 | |
| 	.INIT_03(slice_init('h43)), \
 | |
| 	.INIT_04(slice_init('h44)), \
 | |
| 	.INIT_05(slice_init('h45)), \
 | |
| 	.INIT_06(slice_init('h46)), \
 | |
| 	.INIT_07(slice_init('h47)), \
 | |
| 	.INIT_08(slice_init('h48)), \
 | |
| 	.INIT_09(slice_init('h49)), \
 | |
| 	.INIT_0A(slice_init('h4a)), \
 | |
| 	.INIT_0B(slice_init('h4b)), \
 | |
| 	.INIT_0C(slice_init('h4c)), \
 | |
| 	.INIT_0D(slice_init('h4d)), \
 | |
| 	.INIT_0E(slice_init('h4e)), \
 | |
| 	.INIT_0F(slice_init('h4f)), \
 | |
| 	.INIT_10(slice_init('h50)), \
 | |
| 	.INIT_11(slice_init('h51)), \
 | |
| 	.INIT_12(slice_init('h52)), \
 | |
| 	.INIT_13(slice_init('h53)), \
 | |
| 	.INIT_14(slice_init('h54)), \
 | |
| 	.INIT_15(slice_init('h55)), \
 | |
| 	.INIT_16(slice_init('h56)), \
 | |
| 	.INIT_17(slice_init('h57)), \
 | |
| 	.INIT_18(slice_init('h58)), \
 | |
| 	.INIT_19(slice_init('h59)), \
 | |
| 	.INIT_1A(slice_init('h5a)), \
 | |
| 	.INIT_1B(slice_init('h5b)), \
 | |
| 	.INIT_1C(slice_init('h5c)), \
 | |
| 	.INIT_1D(slice_init('h5d)), \
 | |
| 	.INIT_1E(slice_init('h5e)), \
 | |
| 	.INIT_1F(slice_init('h5f)), \
 | |
| 	.INIT_20(slice_init('h60)), \
 | |
| 	.INIT_21(slice_init('h61)), \
 | |
| 	.INIT_22(slice_init('h62)), \
 | |
| 	.INIT_23(slice_init('h63)), \
 | |
| 	.INIT_24(slice_init('h64)), \
 | |
| 	.INIT_25(slice_init('h65)), \
 | |
| 	.INIT_26(slice_init('h66)), \
 | |
| 	.INIT_27(slice_init('h67)), \
 | |
| 	.INIT_28(slice_init('h68)), \
 | |
| 	.INIT_29(slice_init('h69)), \
 | |
| 	.INIT_2A(slice_init('h6a)), \
 | |
| 	.INIT_2B(slice_init('h6b)), \
 | |
| 	.INIT_2C(slice_init('h6c)), \
 | |
| 	.INIT_2D(slice_init('h6d)), \
 | |
| 	.INIT_2E(slice_init('h6e)), \
 | |
| 	.INIT_2F(slice_init('h6f)), \
 | |
| 	.INIT_30(slice_init('h70)), \
 | |
| 	.INIT_31(slice_init('h71)), \
 | |
| 	.INIT_32(slice_init('h72)), \
 | |
| 	.INIT_33(slice_init('h73)), \
 | |
| 	.INIT_34(slice_init('h74)), \
 | |
| 	.INIT_35(slice_init('h75)), \
 | |
| 	.INIT_36(slice_init('h76)), \
 | |
| 	.INIT_37(slice_init('h77)), \
 | |
| 	.INIT_38(slice_init('h78)), \
 | |
| 	.INIT_39(slice_init('h79)), \
 | |
| 	.INIT_3A(slice_init('h7a)), \
 | |
| 	.INIT_3B(slice_init('h7b)), \
 | |
| 	.INIT_3C(slice_init('h7c)), \
 | |
| 	.INIT_3D(slice_init('h7d)), \
 | |
| 	.INIT_3E(slice_init('h7e)), \
 | |
| 	.INIT_3F(slice_init('h7f)),
 | |
| 
 | |
| `define PARAMS_INITP_18 \
 | |
| 	.INITP_00(slice_initp('h00)), \
 | |
| 	.INITP_01(slice_initp('h01)), \
 | |
| 	.INITP_02(slice_initp('h02)), \
 | |
| 	.INITP_03(slice_initp('h03)), \
 | |
| 	.INITP_04(slice_initp('h04)), \
 | |
| 	.INITP_05(slice_initp('h05)), \
 | |
| 	.INITP_06(slice_initp('h06)), \
 | |
| 	.INITP_07(slice_initp('h07)),
 | |
| 
 | |
| `define PARAMS_INIT_36 \
 | |
| 	.INIT_00(slice_init('h00)), \
 | |
| 	.INIT_01(slice_init('h01)), \
 | |
| 	.INIT_02(slice_init('h02)), \
 | |
| 	.INIT_03(slice_init('h03)), \
 | |
| 	.INIT_04(slice_init('h04)), \
 | |
| 	.INIT_05(slice_init('h05)), \
 | |
| 	.INIT_06(slice_init('h06)), \
 | |
| 	.INIT_07(slice_init('h07)), \
 | |
| 	.INIT_08(slice_init('h08)), \
 | |
| 	.INIT_09(slice_init('h09)), \
 | |
| 	.INIT_0A(slice_init('h0a)), \
 | |
| 	.INIT_0B(slice_init('h0b)), \
 | |
| 	.INIT_0C(slice_init('h0c)), \
 | |
| 	.INIT_0D(slice_init('h0d)), \
 | |
| 	.INIT_0E(slice_init('h0e)), \
 | |
| 	.INIT_0F(slice_init('h0f)), \
 | |
| 	.INIT_10(slice_init('h10)), \
 | |
| 	.INIT_11(slice_init('h11)), \
 | |
| 	.INIT_12(slice_init('h12)), \
 | |
| 	.INIT_13(slice_init('h13)), \
 | |
| 	.INIT_14(slice_init('h14)), \
 | |
| 	.INIT_15(slice_init('h15)), \
 | |
| 	.INIT_16(slice_init('h16)), \
 | |
| 	.INIT_17(slice_init('h17)), \
 | |
| 	.INIT_18(slice_init('h18)), \
 | |
| 	.INIT_19(slice_init('h19)), \
 | |
| 	.INIT_1A(slice_init('h1a)), \
 | |
| 	.INIT_1B(slice_init('h1b)), \
 | |
| 	.INIT_1C(slice_init('h1c)), \
 | |
| 	.INIT_1D(slice_init('h1d)), \
 | |
| 	.INIT_1E(slice_init('h1e)), \
 | |
| 	.INIT_1F(slice_init('h1f)), \
 | |
| 	.INIT_20(slice_init('h20)), \
 | |
| 	.INIT_21(slice_init('h21)), \
 | |
| 	.INIT_22(slice_init('h22)), \
 | |
| 	.INIT_23(slice_init('h23)), \
 | |
| 	.INIT_24(slice_init('h24)), \
 | |
| 	.INIT_25(slice_init('h25)), \
 | |
| 	.INIT_26(slice_init('h26)), \
 | |
| 	.INIT_27(slice_init('h27)), \
 | |
| 	.INIT_28(slice_init('h28)), \
 | |
| 	.INIT_29(slice_init('h29)), \
 | |
| 	.INIT_2A(slice_init('h2a)), \
 | |
| 	.INIT_2B(slice_init('h2b)), \
 | |
| 	.INIT_2C(slice_init('h2c)), \
 | |
| 	.INIT_2D(slice_init('h2d)), \
 | |
| 	.INIT_2E(slice_init('h2e)), \
 | |
| 	.INIT_2F(slice_init('h2f)), \
 | |
| 	.INIT_30(slice_init('h30)), \
 | |
| 	.INIT_31(slice_init('h31)), \
 | |
| 	.INIT_32(slice_init('h32)), \
 | |
| 	.INIT_33(slice_init('h33)), \
 | |
| 	.INIT_34(slice_init('h34)), \
 | |
| 	.INIT_35(slice_init('h35)), \
 | |
| 	.INIT_36(slice_init('h36)), \
 | |
| 	.INIT_37(slice_init('h37)), \
 | |
| 	.INIT_38(slice_init('h38)), \
 | |
| 	.INIT_39(slice_init('h39)), \
 | |
| 	.INIT_3A(slice_init('h3a)), \
 | |
| 	.INIT_3B(slice_init('h3b)), \
 | |
| 	.INIT_3C(slice_init('h3c)), \
 | |
| 	.INIT_3D(slice_init('h3d)), \
 | |
| 	.INIT_3E(slice_init('h3e)), \
 | |
| 	.INIT_3F(slice_init('h3f)), \
 | |
| 	.INIT_40(slice_init('h40)), \
 | |
| 	.INIT_41(slice_init('h41)), \
 | |
| 	.INIT_42(slice_init('h42)), \
 | |
| 	.INIT_43(slice_init('h43)), \
 | |
| 	.INIT_44(slice_init('h44)), \
 | |
| 	.INIT_45(slice_init('h45)), \
 | |
| 	.INIT_46(slice_init('h46)), \
 | |
| 	.INIT_47(slice_init('h47)), \
 | |
| 	.INIT_48(slice_init('h48)), \
 | |
| 	.INIT_49(slice_init('h49)), \
 | |
| 	.INIT_4A(slice_init('h4a)), \
 | |
| 	.INIT_4B(slice_init('h4b)), \
 | |
| 	.INIT_4C(slice_init('h4c)), \
 | |
| 	.INIT_4D(slice_init('h4d)), \
 | |
| 	.INIT_4E(slice_init('h4e)), \
 | |
| 	.INIT_4F(slice_init('h4f)), \
 | |
| 	.INIT_50(slice_init('h50)), \
 | |
| 	.INIT_51(slice_init('h51)), \
 | |
| 	.INIT_52(slice_init('h52)), \
 | |
| 	.INIT_53(slice_init('h53)), \
 | |
| 	.INIT_54(slice_init('h54)), \
 | |
| 	.INIT_55(slice_init('h55)), \
 | |
| 	.INIT_56(slice_init('h56)), \
 | |
| 	.INIT_57(slice_init('h57)), \
 | |
| 	.INIT_58(slice_init('h58)), \
 | |
| 	.INIT_59(slice_init('h59)), \
 | |
| 	.INIT_5A(slice_init('h5a)), \
 | |
| 	.INIT_5B(slice_init('h5b)), \
 | |
| 	.INIT_5C(slice_init('h5c)), \
 | |
| 	.INIT_5D(slice_init('h5d)), \
 | |
| 	.INIT_5E(slice_init('h5e)), \
 | |
| 	.INIT_5F(slice_init('h5f)), \
 | |
| 	.INIT_60(slice_init('h60)), \
 | |
| 	.INIT_61(slice_init('h61)), \
 | |
| 	.INIT_62(slice_init('h62)), \
 | |
| 	.INIT_63(slice_init('h63)), \
 | |
| 	.INIT_64(slice_init('h64)), \
 | |
| 	.INIT_65(slice_init('h65)), \
 | |
| 	.INIT_66(slice_init('h66)), \
 | |
| 	.INIT_67(slice_init('h67)), \
 | |
| 	.INIT_68(slice_init('h68)), \
 | |
| 	.INIT_69(slice_init('h69)), \
 | |
| 	.INIT_6A(slice_init('h6a)), \
 | |
| 	.INIT_6B(slice_init('h6b)), \
 | |
| 	.INIT_6C(slice_init('h6c)), \
 | |
| 	.INIT_6D(slice_init('h6d)), \
 | |
| 	.INIT_6E(slice_init('h6e)), \
 | |
| 	.INIT_6F(slice_init('h6f)), \
 | |
| 	.INIT_70(slice_init('h70)), \
 | |
| 	.INIT_71(slice_init('h71)), \
 | |
| 	.INIT_72(slice_init('h72)), \
 | |
| 	.INIT_73(slice_init('h73)), \
 | |
| 	.INIT_74(slice_init('h74)), \
 | |
| 	.INIT_75(slice_init('h75)), \
 | |
| 	.INIT_76(slice_init('h76)), \
 | |
| 	.INIT_77(slice_init('h77)), \
 | |
| 	.INIT_78(slice_init('h78)), \
 | |
| 	.INIT_79(slice_init('h79)), \
 | |
| 	.INIT_7A(slice_init('h7a)), \
 | |
| 	.INIT_7B(slice_init('h7b)), \
 | |
| 	.INIT_7C(slice_init('h7c)), \
 | |
| 	.INIT_7D(slice_init('h7d)), \
 | |
| 	.INIT_7E(slice_init('h7e)), \
 | |
| 	.INIT_7F(slice_init('h7f)),
 | |
| 
 | |
| `define PARAMS_INIT_36_U \
 | |
| 	.INIT_00(slice_init('h80)), \
 | |
| 	.INIT_01(slice_init('h81)), \
 | |
| 	.INIT_02(slice_init('h82)), \
 | |
| 	.INIT_03(slice_init('h83)), \
 | |
| 	.INIT_04(slice_init('h84)), \
 | |
| 	.INIT_05(slice_init('h85)), \
 | |
| 	.INIT_06(slice_init('h86)), \
 | |
| 	.INIT_07(slice_init('h87)), \
 | |
| 	.INIT_08(slice_init('h88)), \
 | |
| 	.INIT_09(slice_init('h89)), \
 | |
| 	.INIT_0A(slice_init('h8a)), \
 | |
| 	.INIT_0B(slice_init('h8b)), \
 | |
| 	.INIT_0C(slice_init('h8c)), \
 | |
| 	.INIT_0D(slice_init('h8d)), \
 | |
| 	.INIT_0E(slice_init('h8e)), \
 | |
| 	.INIT_0F(slice_init('h8f)), \
 | |
| 	.INIT_10(slice_init('h90)), \
 | |
| 	.INIT_11(slice_init('h91)), \
 | |
| 	.INIT_12(slice_init('h92)), \
 | |
| 	.INIT_13(slice_init('h93)), \
 | |
| 	.INIT_14(slice_init('h94)), \
 | |
| 	.INIT_15(slice_init('h95)), \
 | |
| 	.INIT_16(slice_init('h96)), \
 | |
| 	.INIT_17(slice_init('h97)), \
 | |
| 	.INIT_18(slice_init('h98)), \
 | |
| 	.INIT_19(slice_init('h99)), \
 | |
| 	.INIT_1A(slice_init('h9a)), \
 | |
| 	.INIT_1B(slice_init('h9b)), \
 | |
| 	.INIT_1C(slice_init('h9c)), \
 | |
| 	.INIT_1D(slice_init('h9d)), \
 | |
| 	.INIT_1E(slice_init('h9e)), \
 | |
| 	.INIT_1F(slice_init('h9f)), \
 | |
| 	.INIT_20(slice_init('ha0)), \
 | |
| 	.INIT_21(slice_init('ha1)), \
 | |
| 	.INIT_22(slice_init('ha2)), \
 | |
| 	.INIT_23(slice_init('ha3)), \
 | |
| 	.INIT_24(slice_init('ha4)), \
 | |
| 	.INIT_25(slice_init('ha5)), \
 | |
| 	.INIT_26(slice_init('ha6)), \
 | |
| 	.INIT_27(slice_init('ha7)), \
 | |
| 	.INIT_28(slice_init('ha8)), \
 | |
| 	.INIT_29(slice_init('ha9)), \
 | |
| 	.INIT_2A(slice_init('haa)), \
 | |
| 	.INIT_2B(slice_init('hab)), \
 | |
| 	.INIT_2C(slice_init('hac)), \
 | |
| 	.INIT_2D(slice_init('had)), \
 | |
| 	.INIT_2E(slice_init('hae)), \
 | |
| 	.INIT_2F(slice_init('haf)), \
 | |
| 	.INIT_30(slice_init('hb0)), \
 | |
| 	.INIT_31(slice_init('hb1)), \
 | |
| 	.INIT_32(slice_init('hb2)), \
 | |
| 	.INIT_33(slice_init('hb3)), \
 | |
| 	.INIT_34(slice_init('hb4)), \
 | |
| 	.INIT_35(slice_init('hb5)), \
 | |
| 	.INIT_36(slice_init('hb6)), \
 | |
| 	.INIT_37(slice_init('hb7)), \
 | |
| 	.INIT_38(slice_init('hb8)), \
 | |
| 	.INIT_39(slice_init('hb9)), \
 | |
| 	.INIT_3A(slice_init('hba)), \
 | |
| 	.INIT_3B(slice_init('hbb)), \
 | |
| 	.INIT_3C(slice_init('hbc)), \
 | |
| 	.INIT_3D(slice_init('hbd)), \
 | |
| 	.INIT_3E(slice_init('hbe)), \
 | |
| 	.INIT_3F(slice_init('hbf)), \
 | |
| 	.INIT_40(slice_init('hc0)), \
 | |
| 	.INIT_41(slice_init('hc1)), \
 | |
| 	.INIT_42(slice_init('hc2)), \
 | |
| 	.INIT_43(slice_init('hc3)), \
 | |
| 	.INIT_44(slice_init('hc4)), \
 | |
| 	.INIT_45(slice_init('hc5)), \
 | |
| 	.INIT_46(slice_init('hc6)), \
 | |
| 	.INIT_47(slice_init('hc7)), \
 | |
| 	.INIT_48(slice_init('hc8)), \
 | |
| 	.INIT_49(slice_init('hc9)), \
 | |
| 	.INIT_4A(slice_init('hca)), \
 | |
| 	.INIT_4B(slice_init('hcb)), \
 | |
| 	.INIT_4C(slice_init('hcc)), \
 | |
| 	.INIT_4D(slice_init('hcd)), \
 | |
| 	.INIT_4E(slice_init('hce)), \
 | |
| 	.INIT_4F(slice_init('hcf)), \
 | |
| 	.INIT_50(slice_init('hd0)), \
 | |
| 	.INIT_51(slice_init('hd1)), \
 | |
| 	.INIT_52(slice_init('hd2)), \
 | |
| 	.INIT_53(slice_init('hd3)), \
 | |
| 	.INIT_54(slice_init('hd4)), \
 | |
| 	.INIT_55(slice_init('hd5)), \
 | |
| 	.INIT_56(slice_init('hd6)), \
 | |
| 	.INIT_57(slice_init('hd7)), \
 | |
| 	.INIT_58(slice_init('hd8)), \
 | |
| 	.INIT_59(slice_init('hd9)), \
 | |
| 	.INIT_5A(slice_init('hda)), \
 | |
| 	.INIT_5B(slice_init('hdb)), \
 | |
| 	.INIT_5C(slice_init('hdc)), \
 | |
| 	.INIT_5D(slice_init('hdd)), \
 | |
| 	.INIT_5E(slice_init('hde)), \
 | |
| 	.INIT_5F(slice_init('hdf)), \
 | |
| 	.INIT_60(slice_init('he0)), \
 | |
| 	.INIT_61(slice_init('he1)), \
 | |
| 	.INIT_62(slice_init('he2)), \
 | |
| 	.INIT_63(slice_init('he3)), \
 | |
| 	.INIT_64(slice_init('he4)), \
 | |
| 	.INIT_65(slice_init('he5)), \
 | |
| 	.INIT_66(slice_init('he6)), \
 | |
| 	.INIT_67(slice_init('he7)), \
 | |
| 	.INIT_68(slice_init('he8)), \
 | |
| 	.INIT_69(slice_init('he9)), \
 | |
| 	.INIT_6A(slice_init('hea)), \
 | |
| 	.INIT_6B(slice_init('heb)), \
 | |
| 	.INIT_6C(slice_init('hec)), \
 | |
| 	.INIT_6D(slice_init('hed)), \
 | |
| 	.INIT_6E(slice_init('hee)), \
 | |
| 	.INIT_6F(slice_init('hef)), \
 | |
| 	.INIT_70(slice_init('hf0)), \
 | |
| 	.INIT_71(slice_init('hf1)), \
 | |
| 	.INIT_72(slice_init('hf2)), \
 | |
| 	.INIT_73(slice_init('hf3)), \
 | |
| 	.INIT_74(slice_init('hf4)), \
 | |
| 	.INIT_75(slice_init('hf5)), \
 | |
| 	.INIT_76(slice_init('hf6)), \
 | |
| 	.INIT_77(slice_init('hf7)), \
 | |
| 	.INIT_78(slice_init('hf8)), \
 | |
| 	.INIT_79(slice_init('hf9)), \
 | |
| 	.INIT_7A(slice_init('hfa)), \
 | |
| 	.INIT_7B(slice_init('hfb)), \
 | |
| 	.INIT_7C(slice_init('hfc)), \
 | |
| 	.INIT_7D(slice_init('hfd)), \
 | |
| 	.INIT_7E(slice_init('hfe)), \
 | |
| 	.INIT_7F(slice_init('hff)),
 | |
| 
 | |
| `define PARAMS_INITP_36 \
 | |
| 	.INITP_00(slice_initp('h00)), \
 | |
| 	.INITP_01(slice_initp('h01)), \
 | |
| 	.INITP_02(slice_initp('h02)), \
 | |
| 	.INITP_03(slice_initp('h03)), \
 | |
| 	.INITP_04(slice_initp('h04)), \
 | |
| 	.INITP_05(slice_initp('h05)), \
 | |
| 	.INITP_06(slice_initp('h06)), \
 | |
| 	.INITP_07(slice_initp('h07)), \
 | |
| 	.INITP_08(slice_initp('h08)), \
 | |
| 	.INITP_09(slice_initp('h09)), \
 | |
| 	.INITP_0A(slice_initp('h0a)), \
 | |
| 	.INITP_0B(slice_initp('h0b)), \
 | |
| 	.INITP_0C(slice_initp('h0c)), \
 | |
| 	.INITP_0D(slice_initp('h0d)), \
 | |
| 	.INITP_0E(slice_initp('h0e)), \
 | |
| 	.INITP_0F(slice_initp('h0f)),
 | |
| 
 | |
| `define MAKE_DO(do, dop, rdata) \
 | |
| 	wire [63:0] do; \
 | |
| 	wire [7:0] dop; \
 | |
| 	assign rdata = { \
 | |
| 		dop[7], \
 | |
| 		do[63:56], \
 | |
| 		dop[6], \
 | |
| 		do[55:48], \
 | |
| 		dop[5], \
 | |
| 		do[47:40], \
 | |
| 		dop[4], \
 | |
| 		do[39:32], \
 | |
| 		dop[3], \
 | |
| 		do[31:24], \
 | |
| 		dop[2], \
 | |
| 		do[23:16], \
 | |
| 		dop[1], \
 | |
| 		do[15:8], \
 | |
| 		dop[0], \
 | |
| 		do[7:0] \
 | |
| 	};
 | |
| 
 | |
| `define MAKE_DI(di, dip, wdata) \
 | |
| 	wire [63:0] di; \
 | |
| 	wire [7:0] dip; \
 | |
| 	assign { \
 | |
| 		dip[7], \
 | |
| 		di[63:56], \
 | |
| 		dip[6], \
 | |
| 		di[55:48], \
 | |
| 		dip[5], \
 | |
| 		di[47:40], \
 | |
| 		dip[4], \
 | |
| 		di[39:32], \
 | |
| 		dip[3], \
 | |
| 		di[31:24], \
 | |
| 		dip[2], \
 | |
| 		di[23:16], \
 | |
| 		dip[1], \
 | |
| 		di[15:8], \
 | |
| 		dip[0], \
 | |
| 		di[7:0] \
 | |
| 	} = wdata;
 | |
| 
 | |
| function [71:0] ival;
 | |
| 	input integer width;
 | |
| 	input [71:0] val;
 | |
| 	if (width == 72)
 | |
| 		ival = {
 | |
| 			val[71],
 | |
| 			val[62],
 | |
| 			val[53],
 | |
| 			val[44],
 | |
| 			val[35],
 | |
| 			val[26],
 | |
| 			val[17],
 | |
| 			val[8],
 | |
| 			val[70:63],
 | |
| 			val[61:54],
 | |
| 			val[52:45],
 | |
| 			val[43:36],
 | |
| 			val[34:27],
 | |
| 			val[25:18],
 | |
| 			val[16:9],
 | |
| 			val[7:0]
 | |
| 		};
 | |
| 	else if (width == 36)
 | |
| 		ival = {
 | |
| 			val[35],
 | |
| 			val[26],
 | |
| 			val[17],
 | |
| 			val[8],
 | |
| 			val[34:27],
 | |
| 			val[25:18],
 | |
| 			val[16:9],
 | |
| 			val[7:0]
 | |
| 		};
 | |
| 	else if (width == 18)
 | |
| 		ival = {
 | |
| 			val[17],
 | |
| 			val[8],
 | |
| 			val[16:9],
 | |
| 			val[7:0]
 | |
| 		};
 | |
| 	else
 | |
| 		ival = val;
 | |
| endfunction
 | |
| 
 | |
| function [255:0] slice_init;
 | |
| 	input integer idx;
 | |
| 	integer i;
 | |
| 	for (i = 0; i < 32; i = i + 1)
 | |
| 		slice_init[i*8+:8] = INIT[(idx * 32 + i)*9+:8];
 | |
| endfunction
 | |
| 
 | |
| function [255:0] slice_initp;
 | |
| 	input integer idx;
 | |
| 	integer i;
 | |
| 	for (i = 0; i < 256; i = i + 1)
 | |
| 		slice_initp[i] = INIT[(idx * 256 + i)*9+8];
 | |
| endfunction
 |