stash pop

This commit is contained in:
2024-07-22 15:09:15 +08:00
parent d210233e74
commit da1073f750
13 changed files with 12668 additions and 158 deletions
+149
View File
@@ -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