stash pop
This commit is contained in:
@@ -0,0 +1,149 @@
|
||||
`timescale 1ns / 1ps
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
// Company:
|
||||
// Engineer:
|
||||
//
|
||||
// Create Date: 2019/11/14 17:44:48
|
||||
// Design Name:
|
||||
// Module Name: CCSDS_LDPC_DEC_K1024_R12_TOPP
|
||||
// Project Name:
|
||||
// Target Devices:
|
||||
// Tool Versions:
|
||||
// Description:
|
||||
//
|
||||
// Dependencies:
|
||||
//
|
||||
// Revision:
|
||||
// Revision 0.01 - File Created
|
||||
// Additional Comments:
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
module CCSDS_LDPC_DEC_K1024_R12_TOPP
|
||||
#(
|
||||
parameter MAX_ITER_NUM = 6'd14, //最大迭代次数常量
|
||||
parameter WIDTH = 4'd8, //量化比特
|
||||
parameter OUT_ONLY_INFORMATION = 1'b0 //译码输出格式选择标志,1:只输出信息位;0:输出整个码字
|
||||
)
|
||||
(
|
||||
input clk, //工作时钟,100MHz
|
||||
input Rst, //同步复位信号,高有效
|
||||
input FrameSync, //帧同步标志,高脉冲
|
||||
input Nd, //译码输入数据有效标志,高有效
|
||||
input [WIDTH-1:0] Din, //译码输入数据,软信息
|
||||
|
||||
|
||||
output LDPC_SyncOut, //LDPC 模块帧同步输出信号,高脉冲,指示帧起点
|
||||
output Rdy, //译码输出信号有效标志,高有效
|
||||
output [0:0] LDPC_Dout, //译码输出信号,MSB输出
|
||||
|
||||
output [8:0] good_frames, //译码好帧计数
|
||||
output [8:0] bad_frames, //译码坏帧计数
|
||||
output [8:0] total_frames //译码总帧数计数
|
||||
);
|
||||
|
||||
wire FrameSync_A_TM;
|
||||
wire Nd_A_TM;
|
||||
wire [WIDTH-1:0] Din_A_TM;
|
||||
|
||||
wire FrameSync_B_TM;
|
||||
wire Nd_B_TM;
|
||||
wire [WIDTH-1:0] Din_B_TM;
|
||||
|
||||
wire LDPC_SyncOut_A;
|
||||
wire Rdy_A;
|
||||
wire [0:0] LDPC_Dout_A;
|
||||
wire [8:0] good_frames_A;
|
||||
wire [8:0] bad_frames_A;
|
||||
wire [8:0] total_frames_A;
|
||||
|
||||
wire LDPC_SyncOut_B;
|
||||
wire Rdy_B;
|
||||
wire [0:0] LDPC_Dout_B;
|
||||
wire [8:0] good_frames_B;
|
||||
wire [8:0] bad_frames_B;
|
||||
wire [8:0] total_frames_B;
|
||||
|
||||
|
||||
LDPC_TopManage_2
|
||||
#(
|
||||
.WIDTH(WIDTH)
|
||||
)
|
||||
TM (
|
||||
.clk(clk),
|
||||
.Rst(Rst),
|
||||
.FrameSync_TM(FrameSync),
|
||||
.Nd_TM(Nd),
|
||||
.Din_TM(Din),
|
||||
.FrameSync_A_TM(FrameSync_A_TM),
|
||||
.Nd_A_TM(Nd_A_TM),
|
||||
.Din_A_TM(Din_A_TM),
|
||||
.FrameSync_B_TM(FrameSync_B_TM),
|
||||
.Nd_B_TM(Nd_B_TM),
|
||||
.Din_B_TM(Din_B_TM),
|
||||
.LDPC_SyncOut_A_TM(LDPC_SyncOut_A),
|
||||
.Rdy_A_TM(Rdy_A),
|
||||
.LDPC_Dout_A_TM(LDPC_Dout_A),
|
||||
.good_frames_A_TM(good_frames_A),
|
||||
.bad_frames_A_TM(bad_frames_A),
|
||||
.total_frames_A_TM(total_frames_A),
|
||||
.LDPC_SyncOut_B_TM(LDPC_SyncOut_B),
|
||||
.Rdy_B_TM(Rdy_B),
|
||||
.LDPC_Dout_B_TM(LDPC_Dout_B),
|
||||
.good_frames_B_TM(good_frames_B),
|
||||
.bad_frames_B_TM(bad_frames_B),
|
||||
.total_frames_B_TM(total_frames_B),
|
||||
.LDPC_SyncOut_TM(LDPC_SyncOut),
|
||||
.Rdy_TM(Rdy),
|
||||
.LDPC_Dout_TM(LDPC_Dout),
|
||||
.good_frames_TM(good_frames),
|
||||
.bad_frames_TM(bad_frames),
|
||||
.total_frames_TM(total_frames)
|
||||
);
|
||||
|
||||
CCSDS_LDPC_DEC_K1024_R12
|
||||
#(
|
||||
.MAX_ITER_NUM(MAX_ITER_NUM),
|
||||
.WIDTH(WIDTH),
|
||||
.OUT_ONLY_INFORMATION(OUT_ONLY_INFORMATION)
|
||||
)
|
||||
inst_DEC_A (
|
||||
.clk(clk),
|
||||
.Rst(Rst),
|
||||
.FrameSync(FrameSync_A_TM),
|
||||
.Nd(Nd_A_TM),
|
||||
.Din(Din_A_TM),
|
||||
.LDPC_SyncOut(LDPC_SyncOut_A),
|
||||
.Rdy(Rdy_A),
|
||||
.LDPC_Dout(LDPC_Dout_A),
|
||||
.good_frames(good_frames_A),
|
||||
.bad_frames(bad_frames_A),
|
||||
.total_frames(total_frames_A)
|
||||
);
|
||||
|
||||
CCSDS_LDPC_DEC_K1024_R12
|
||||
#(
|
||||
.MAX_ITER_NUM(MAX_ITER_NUM),
|
||||
.WIDTH(WIDTH),
|
||||
.OUT_ONLY_INFORMATION(OUT_ONLY_INFORMATION)
|
||||
)
|
||||
inst_DEC_B (
|
||||
.clk(clk),
|
||||
.Rst(Rst),
|
||||
.FrameSync(FrameSync_B_TM),
|
||||
.Nd(Nd_B_TM),
|
||||
.Din(Din_B_TM),
|
||||
.LDPC_SyncOut(LDPC_SyncOut_B),
|
||||
.Rdy(Rdy_B),
|
||||
.LDPC_Dout(LDPC_Dout_B),
|
||||
.good_frames(good_frames_B),
|
||||
.bad_frames(bad_frames_B),
|
||||
.total_frames(total_frames_B)
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
endmodule
|
||||
|
||||
Reference in New Issue
Block a user