⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ldpc.v

📁 ldpc verilog 程序 做ldpc硬件实现的可以
💻 V
📖 第 1 页 / 共 3 页
字号:
						data_out <= fifo_out;												end											if((count_127>=7'd2)&&(count_127<=7'd60)) //使能信号						begin						data_out_en<=1'b1;						end					else						begin						data_out_en<=1'b0;						end						end				else					begin					indication<= 1'b0;					data_out_en<=1'b0;					rd_en<=1'b0;					end				end			default :            // 默认0.4码率				begin									if(count_row == 0) // 最后一行运算					begin					case (count_127)  // 输出校验位						7'd2 :	data_out <= data_0;		7'd12 : data_out <= data_10;	7'd22 : data_out <= data_20;	7'd32 : data_out <= data_30;						7'd3 :	data_out <= data_1;		7'd13 : data_out <= data_11;	7'd23 : data_out <= data_21;	7'd33 : data_out <= data_31;						7'd4 :	data_out <= data_2;		7'd14 : data_out <= data_12;	7'd24 : data_out <= data_22;	7'd34 : data_out <= data_32;						7'd5 :	data_out <= data_3;		7'd15 : data_out <= data_13;	7'd25 : data_out <= data_23;	7'd35 : data_out <= data_33;						7'd6 :	data_out <= data_4;		7'd16 : data_out <= data_14;	7'd26 : data_out <= data_24;	7'd36 : data_out <= data_34;						7'd7 : data_out <= data_5;		7'd17 : data_out <= data_15;	7'd27 : data_out <= data_25;						7'd8 : data_out <= data_6;		7'd18 : data_out <= data_16;	7'd28 : data_out <= data_26;						7'd9 : data_out <= data_7;		7'd19 : data_out <= data_17;	7'd29 : data_out <= data_27;						7'd10 : data_out <= data_8;	7'd20 : data_out <= data_18;	7'd30 : data_out <= data_28;						7'd11 : data_out <= data_9;	7'd21 : data_out <= data_19;	7'd31 : data_out <= data_29;					endcase										if(count_127==2) // 输出第一个127指示信号						begin						indication <= 1'b1;						end					else						begin						indication <= 1'b0;						end											if((count_127>=34)&&(count_127<=58))  //发出读fifo指令						begin						rd_en<=1'b1;												end					else						begin						rd_en<=1'b0;						end												if((count_127>=36)&&(count_127<=60))  //读fifo输出,输出数据位						begin						data_out <= fifo_out;												end											if((count_127>=2)&&(count_127<=60)) //使能信号						begin						data_out_en<=1'b1;						end					else						begin						data_out_en<=1'b0;						end						end				else					begin					indication<= 1'b0;					data_out_en<=1'b0;					rd_en<=1'b0;					end				end			endcase				end		end			end	wire[126:0] rom_data04; wire[126:0] rom_data06;wire[126:0] rom_data08; wire data_media0,data_media1,data_media2,data_media3,data_media4,data_media5,data_media6,data_media7,data_media8,data_media9,	 data_media10,data_media11,data_media12,data_media13,data_media14,data_media15,data_media16,data_media17,data_media18,data_media19,	 data_media20,data_media21,data_media22,data_media23,data_media24,data_media25,data_media26,data_media27,data_media28,data_media29,	 data_media30,data_media31,data_media32,data_media33,data_media34;  // 数据wire en_media0,en_media1,en_media2,en_media3,en_media4,en_media5,en_media6,en_media7,en_media8,en_media9,	 en_media10,en_media11,en_media12,en_media13,en_media14,en_media15,en_media16,en_media17,en_media18,en_media19,	 en_media20,en_media21,en_media22,en_media23,en_media24,en_media25,en_media26,en_media27,en_media28,en_media29,	 en_media30,en_media31,en_media32,en_media33,en_media34;  // 连接bit_enwire first_media0,first_media1,first_media2,first_media3,first_media4,first_media5,first_media6,first_media7,first_media8,first_media9,	 first_media10,first_media11,first_media12,first_media13,first_media14,first_media15,first_media16,first_media17,first_media18,first_media19,	 first_media20,first_media21,first_media22,first_media23,first_media24,first_media25,first_media26,first_media27,first_media28,first_media29,	 first_media30,first_media31,first_media32,first_media33,first_media34;wire[126:0] data_0,data_1,data_2,data_3,data_4,data_5,data_6,data_7,data_8,data_9,	 data_10,data_11,data_12,data_13,data_14,data_15,data_16,data_17,data_18,data_19,	 data_20,data_21,data_22,data_23,data_24,data_25,data_26,data_27,data_28,data_29,	 data_30,data_31,data_32,data_33,data_34;		matrix_op     m0( .clk(clk),.reset(reset),.bit_in(bit_in),.bit_in_en(bit_in_en), .media_in(rom_data),.media_in_en(media_en[0]),	  .coder_first(coder_first),.bit_out(data_media0),.bit_out_en(en_media0), .first_out(first_media0),.data_out(data_0));	matrix_op     m1( .clk(clk),.reset(reset),.bit_in(data_media0),.bit_in_en(en_media0), .media_in(rom_data),.media_in_en(media_en[1]),	  .coder_first(first_media0),.bit_out(data_media1),.bit_out_en(en_media1), .first_out(first_media1),.data_out(data_1));	matrix_op     m2( .clk(clk),.reset(reset),.bit_in(data_media1),.bit_in_en(en_media1), .media_in(rom_data),.media_in_en(media_en[2]),	  .coder_first(first_media1),.bit_out(data_media2),.bit_out_en(en_media2), .first_out(first_media2),.data_out(data_2) );	matrix_op     m3( .clk(clk),.reset(reset),.bit_in(data_media2),.bit_in_en(en_media2), .media_in(rom_data),.media_in_en(media_en[3]),	  .coder_first(first_media2),.bit_out(data_media3),.bit_out_en(en_media3), .first_out(first_media3),.data_out(data_3) );	matrix_op     m4( .clk(clk),.reset(reset),.bit_in(data_media3),.bit_in_en(en_media3), .media_in(rom_data),.media_in_en(media_en[4]),	  .coder_first(first_media3),.bit_out(data_media4),.bit_out_en(en_media4), .first_out(first_media4),.data_out(data_4) );	matrix_op     m5( .clk(clk),.reset(reset),.bit_in(data_media4),.bit_in_en(en_media4), .media_in(rom_data),.media_in_en(media_en[5]),	  .coder_first(first_media4),.bit_out(data_media5),.bit_out_en(en_media5), .first_out(first_media5),.data_out(data_5) );	matrix_op     m6( .clk(clk),.reset(reset),.bit_in(data_media5),.bit_in_en(en_media5), .media_in(rom_data),.media_in_en(media_en[6]),	  .coder_first(first_media5),.bit_out(data_media6),.bit_out_en(en_media6), .first_out(first_media6),.data_out(data_6));	matrix_op     m7( .clk(clk),.reset(reset),.bit_in(data_media6),.bit_in_en(en_media6), .media_in(rom_data),.media_in_en(media_en[7]),	  .coder_first(first_media6),.bit_out(data_media7),.bit_out_en(en_media7), .first_out(first_media7),.data_out(data_7) );	matrix_op     m8( .clk(clk),.reset(reset),.bit_in(data_media7),.bit_in_en(en_media7), .media_in(rom_data),.media_in_en(media_en[8]),	  .coder_first(first_media7),.bit_out(data_media8),.bit_out_en(en_media8), .first_out(first_media8),.data_out(data_8));	matrix_op      m9( .clk(clk),.reset(reset),.bit_in(data_media8),.bit_in_en(en_media8), .media_in(rom_data),.media_in_en(media_en[9]),	  .coder_first(first_media8),.bit_out(data_media9),.bit_out_en(en_media9), .first_out(first_media9),.data_out(data_9));	matrix_op      m10( .clk(clk),.reset(reset),.bit_in(data_media9),.bit_in_en(en_media9), .media_in(rom_data),.media_in_en(media_en[10]),  .coder_first(first_media9),.bit_out(data_media10),.bit_out_en(en_media10), .first_out(first_media10),.data_out(data_10) );	matrix_op      m11( .clk(clk),.reset(reset),.bit_in(data_media10),.bit_in_en(en_media10), .media_in(rom_data),.media_in_en(media_en[11]),  .coder_first(first_media10),.bit_out(data_media11),.bit_out_en(en_media11), .first_out(first_media11),.data_out(data_11) );	matrix_op      m12( .clk(clk),.reset(reset),.bit_in(data_media11),.bit_in_en(en_media11), .media_in(rom_data),.media_in_en(media_en[12]),  .coder_first(first_media11),.bit_out(data_media12),.bit_out_en(en_media12), .first_out(first_media12),.data_out(data_12) );	matrix_op      m13( .clk(clk),.reset(reset),.bit_in(data_media12),.bit_in_en(en_media12), .media_in(rom_data),.media_in_en(media_en[13]),  .coder_first(first_media12),.bit_out(data_media13),.bit_out_en(en_media13), .first_out(first_media13),.data_out(data_13) );	matrix_op      m14( .clk(clk),.reset(reset),.bit_in(data_media13),.bit_in_en(en_media13), .media_in(rom_data),.media_in_en(media_en[14]),  .coder_first(first_media13),.bit_out(data_media14),.bit_out_en(en_media14), .first_out(first_media14),.data_out(data_14) );	matrix_op      m15( .clk(clk),.reset(reset),.bit_in(data_media14),.bit_in_en(en_media14), .media_in(rom_data),.media_in_en(media_en[15]),  .coder_first(first_media14),.bit_out(data_media15),.bit_out_en(en_media15), .first_out(first_media15),.data_out(data_15) );	matrix_op      m16( .clk(clk),.reset(reset),.bit_in(data_media15),.bit_in_en(en_media15), .media_in(rom_data),.media_in_en(media_en[16]),  .coder_first(first_media15),.bit_out(data_media16),.bit_out_en(en_media16), .first_out(first_media16),.data_out(data_16) );	matrix_op      m17( .clk(clk),.reset(reset),.bit_in(data_media16),.bit_in_en(en_media16), .media_in(rom_data),.media_in_en(media_en[17]),  .coder_first(first_media16),.bit_out(data_media17),.bit_out_en(en_media17), .first_out(first_media17),.data_out(data_17) );	matrix_op      m18( .clk(clk),.reset(reset),.bit_in(data_media17),.bit_in_en(en_media17), .media_in(rom_data),.media_in_en(media_en[18]),  .coder_first(first_media17),.bit_out(data_media18),.bit_out_en(en_media18), .first_out(first_media18),.data_out(data_18) );	matrix_op      m19( .clk(clk),.reset(reset),.bit_in(data_media18),.bit_in_en(en_media18), .media_in(rom_data),.media_in_en(media_en[19]),  .coder_first(first_media18),.bit_out(data_media19),.bit_out_en(en_media19), .first_out(first_media19),.data_out(data_19) );	matrix_op      m20( .clk(clk),.reset(reset),.bit_in(data_media19),.bit_in_en(en_media19), .media_in(rom_data),.media_in_en(media_en[20]),  .coder_first(first_media19),.bit_out(data_media20),.bit_out_en(en_media20), .first_out(first_media20),.data_out(data_20) );	matrix_op      m21( .clk(clk),.reset(reset),.bit_in(data_media20),.bit_in_en(en_media20), .media_in(rom_data),.media_in_en(media_en[21]),  .coder_first(first_media20),.bit_out(data_media21),.bit_out_en(en_media21), .first_out(first_media21),.data_out(data_21) );	matrix_op      m22( .clk(clk),.reset(reset),.bit_in(data_media21),.bit_in_en(en_media21), .media_in(rom_data),.media_in_en(media_en[22]),  .coder_first(first_media21),.bit_out(data_media22),.bit_out_en(en_media22), .first_out(first_media22),.data_out(data_22));	matrix_op      m23( .clk(clk),.reset(reset),.bit_in(data_media22),.bit_in_en(en_media22), .media_in(rom_data),.media_in_en(media_en[23]),  .coder_first(first_media22),.bit_out(data_media23),.bit_out_en(en_media23), .first_out(first_media23),.data_out(data_23));	matrix_op      m24( .clk(clk),.reset(reset),.bit_in(data_media23),.bit_in_en(en_media23), .media_in(rom_data),.media_in_en(media_en[24]),  .coder_first(first_media23),.bit_out(data_media24),.bit_out_en(en_media24), .first_out(first_media24),.data_out(data_24));	matrix_op      m25( .clk(clk),.reset(reset),.bit_in(data_media24),.bit_in_en(en_media24), .media_in(rom_data),.media_in_en(media_en[25]),  .coder_first(first_media24),.bit_out(data_media25),.bit_out_en(en_media25), .first_out(first_media25),.data_out(data_25));	matrix_op      m26( .clk(clk),.reset(reset),.bit_in(data_media25),.bit_in_en(en_media25), .media_in(rom_data),.media_in_en(media_en[26]),  .coder_first(first_media25),.bit_out(data_media26),.bit_out_en(en_media26), .first_out(first_media26),.data_out(data_26) );	matrix_op      m27( .clk(clk),.reset(reset),.bit_in(data_media26),.bit_in_en(en_media26), .media_in(rom_data),.media_in_en(media_en[27]),  .coder_first(first_media26),.bit_out(data_media27),.bit_out_en(en_media27), .first_out(first_media27),.data_out(data_27));	matrix_op      m28( .clk(clk),.reset(reset),.bit_in(data_media27),.bit_in_en(en_media27), .media_in(rom_data),.media_in_en(media_en[28]),  .coder_first(first_media27),.bit_out(data_media28),.bit_out_en(en_media28), .first_out(first_media28),.data_out(data_28));	matrix_op      m29( .clk(clk),.reset(reset),.bit_in(data_media28),.bit_in_en(en_media28), .media_in(rom_data),.media_in_en(media_en[29]),  .coder_first(first_media28),.bit_out(data_media29),.bit_out_en(en_media29), .first_out(first_media29),.data_out(data_29));	matrix_op      m30( .clk(clk),.reset(reset),.bit_in(data_media29),.bit_in_en(en_media29), .media_in(rom_data),.media_in_en(media_en[30]),  .coder_first(first_media29),.bit_out(data_media30),.bit_out_en(en_media30), .first_out(first_media30),.data_out(data_30));	matrix_op      m31( .clk(clk),.reset(reset),.bit_in(data_media30),.bit_in_en(en_media30), .media_in(rom_data),.media_in_en(media_en[31]),  .coder_first(first_media30),.bit_out(data_media31),.bit_out_en(en_media31), .first_out(first_media31),.data_out(data_31) );	matrix_op      m32( .clk(clk),.reset(reset),.bit_in(data_media31),.bit_in_en(en_media31), .media_in(rom_data),.media_in_en(media_en[32]),  .coder_first(first_media31),.bit_out(data_media32),.bit_out_en(en_media32), .first_out(first_media32),.data_out(data_32) );	matrix_op      m33( .clk(clk),.reset(reset),.bit_in(data_media32),.bit_in_en(en_media32), .media_in(rom_data),.media_in_en(media_en[33]),  .coder_first(first_media32),.bit_out(data_media33),.bit_out_en(en_media33), .first_out(first_media33),.data_out(data_33) );	matrix_op      m34( .clk(clk),.reset(reset),.bit_in(data_media33),.bit_in_en(en_media33), .media_in(rom_data),.media_in_en(media_en[34]),  .coder_first(first_media33),.bit_out(data_media34),.bit_out_en(en_media34), .first_out(first_media34),.data_out(data_34) );	altsyncram	altsyncram_component_04 (				.clock0 (clk),				.address_a (address_04),				.q_a (rom_data04),				.aclr0 (1'b0),				.aclr1 (1'b0),				.q_b (),				.clocken1 (1'b1),				.clocken0 (1'b1),				.data_b (1'b1),				.wren_a (1'b0),				.data_a ({127{1'b1}}),				.rden_b (1'b1),				.address_b (1'b1),				.wren_b (1'b0),				.byteena_b (1'b1),				.addressstall_a (1'b0),				.byteena_a (1'b1),				.addressstall_b (1'b0),				.clock1 (1'b1));	defparam		altsyncram_component_04.address_aclr_a = "NONE",		altsyncram_component_04.init_file = "0.4转换矩.mif",		altsyncram_component_04.intended_device_family = "Stratix",		altsyncram_component_04.lpm_hint = "ENABLE_RUNTIME_MOD=NO",		altsyncram_component_04.lpm_type = "altsyncram",		altsyncram_component_04.numwords_a = 840,		altsyncram_component_04.operation_mode = "ROM",		altsyncram_component_04.outdata_aclr_a = "NONE",		altsyncram_component_04.outdata_reg_a = "CLOCK0",		altsyncram_component_04.widthad_a = 10,		altsyncram_component_04.width_a = 127,		altsyncram_component_04.width_byteena_a = 1;		altsyncram	altsyncram_component_06 (				.clock0 (clk),				.address_a (address_06),				.q_a (rom_data06),				.aclr0 (1'b0),				.aclr1 (1'b0),				.q_b (),				.clocken1 (1'b1),				.clocken0 (1'b1),				.data_b (1'b1),				.wren_a (1'b0),				.data_a ({127{1'b1}}),				.rden_b (1'b1),				.address_b (1'b1),				.wren_b (1'b0),				.byteena_b (1'b1),				.addressstall_a (1'b0),				.byteena_a (1'b1),				.addressstall_b (1'b0),				.clock1 (1'b1));	defparam		altsyncram_component_06.address_aclr_a = "NONE",		altsyncram_component_06.init_file = "0.6转换矩.mif",		altsyncram_component_06.intended_device_family = "Stratix",		altsyncram_component_06.lpm_hint = "ENABLE_RUNTIME_MOD=NO",		altsyncram_component_06.lpm_type = "altsyncram",		altsyncram_component_06.numwords_a = 828,		altsyncram_component_06.operation_mode = "ROM",		altsyncram_component_06.outdata_aclr_a = "NONE",		altsyncram_component_06.outdata_reg_a = "CLOCK0",		altsyncram_component_06.widthad_a = 10,		altsyncram_component_06.width_a = 127,		altsyncram_component_06.width_byteena_a = 1;				altsyncram	altsyncram_component_08 (				.clock0 (clk),				.address_a (address_08),				.q_a (rom_data08),				.aclr0 (1'b0),				.aclr1 (1'b0),				.q_b (),				.clocken1 (1'b1),				.clocken0 (1'b1),				.data_b (1'b1),				.wren_a (1'b0),				.data_a ({127{1'b1}}),				.rden_b (1'b1),				.address_b (1'b1),				.wren_b (1'b0),				.byteena_b (1'b1),				.addressstall_a (1'b0),				.byteena_a (1'b1),				.addressstall_b (1'b0),				.clock1 (1'b1));	defparam		altsyncram_component_08.address_aclr_a = "NONE",		altsyncram_component_08.init_file = "0.8转换矩.mif",		altsyncram_component_08.intended_device_family = "Stratix",		altsyncram_component_08.lpm_hint = "ENABLE_RUNTIME_MOD=NO",		altsyncram_component_08.lpm_type = "altsyncram",		altsyncram_component_08.numwords_a = 528,		altsyncram_component_08.operation_mode = "ROM",		altsyncram_component_08.outdata_aclr_a = "NONE",		altsyncram_component_08.outdata_reg_a = "CLOCK0",		altsyncram_component_08.widthad_a = 10,		altsyncram_component_08.width_a = 127,		altsyncram_component_08.width_byteena_a = 1;		scfifo	scfifo_component (				.rdreq (rd_en),				.clock (clk),				.wrreq (wr_en),				.data (wr_data),				.q (fifo_out)				// synopsys translate_off				,				.usedw (),				.almost_empty (),				.sclr (),				.almost_full (),				.aclr (),				.empty (),				.full ()				// synopsys translate_on				);	defparam		scfifo_component.add_ram_output_register = "OFF",		scfifo_component.intended_device_family = "Stratix",		scfifo_component.lpm_numwords = 64,		scfifo_component.lpm_showahead = "OFF",		scfifo_component.lpm_type = "scfifo",		scfifo_component.lpm_width = 127,		scfifo_component.lpm_widthu = 6,		scfifo_component.overflow_checking = "ON",		scfifo_component.underflow_checking = "ON",		scfifo_component.use_eab = "ON";endmodule

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -