卷积编码器中的零填充(尾部位)。 VHDL

时间:2017-06-27 10:58:51

标签: vhdl fpga

这是卷积编码器的顶级模块的实体。我想在input_tlast ='1'时对input_tdata进行零填充。问题是input_tlast仅在1个时钟周期内很高,但我想在尽可能多的时钟周期中添加(k-1)个零,其中k = 7。任何帮助?

entity conv_encoder is

    Port (

           clk         : in STD_LOGIC;
           rst         : in STD_LOGIC;

           input_tvalid : in STD_LOGIC; 
           input_tdata  : in STD_LOGIC; -- Input data to be encoded
           input_tlast  : in STD_LOGIC; --Indicates End of Packet

           output_tvalid   : out STD_LOGIC;

           y_out_1         : out STD_LOGIC;
           y_out_2         : out STD_LOGIC;        
           output_tdata    : out STD_LOGIC_VECTOR (1 downto 0)
           );
end conv_encoder;

1 个答案:

答案 0 :(得分:0)

一般情况下,您必须构建一个具有足够深度的FIFO。写入侧将连接到输入,读取侧将连接到输出。当input_tlast被置位时,您暂停从FIFO读取并使用倒计时将零插入输出。

这取决于要求的细节是否可以简化这一点。例如,如果在"数据包结束后"输入数据可以丢弃,那么你真的不需要FIFO。