2017-06-27 14 views
-1

ここに、畳み込み符号器の最上位モジュールのエンティティがあります。 input_tlast = '1'のとき、input_tdataにゼロパディングを行いたい。問題はinput_tlastがちょうど1クロックサイクル間ハイであることですが、k = 7のように(k-1)桁のクロックサイクルでゼロを追加したいのです。どんな助け?畳み込みエンコーダのゼロパディング(テールビット)。 VHDL

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; 
+0

CSSタグを削除してコードレイアウトを改善してください。 – JHBonarius

答えて

0

通常、十分な深度のFIFOを構築する必要があります。書き込み側は入力に接続され、読み取り側は出力に接続されます。 input_tlastがアサートされると、FIFOからの読み出しを一時停止し、カウントダウンを使用して出力にゼロを挿入します。

これを簡略化できるかどうかは、要件の詳細によって異なります。たとえば、 "End of Packet"の後に入力データを破棄することができれば、実際にはFIFOは必要ありません。