0

bit_proc_rw信号値に応じて 2 つのモジュールを異なる方法で接続しようとしています。写真はまだ投稿できません。

bit_proc_rw データフローの場合: bit_in --> SCR --> CRC --> bit_out

そうでない場合は、レシーバーです: bit_in --> CRC --> SCR --> bit_out

だから私はトップモジュール(すべてのワイヤタイプ)でこれを行いました:

assign SCR_input = (bit_proc_rw) ?  bit_proc_in : CRC_output; 
assign SCR_input_dav = (bit_proc_rw) ? bit_proc_in_dav : CRC_output_dav;

assign SCR_output = (bit_proc_rw) ? CRC_input : bit_proc_out;
assign SCR_output_dav = (bit_proc_rw) ? CRC_input_dav : bit_proc_out_dav;

assign CRC_input = (bit_proc_rw) ?  SCR_output : bit_proc_in; 
assign CRC_input_dav = (bit_proc_rw) ? SCR_output_dav : bit_proc_in_dav;

assign CRC_output = (bit_proc_rw) ? bit_proc_out : SCR_input;
assign CRC_output_dav = (bit_proc_rw) ? bit_proc_out_dav : SCR_input_dav;


crc_gen crc_gen_u (
.clk (clk),
.crc_in (CRC_input),
.crc_in_dav (CRC_input_dav),
.crc_out (CRC_output),
.crc_out_dav (CRC_output_dav),
.bit_proc_rw (bit_proc_rw),

);

scr scr_u (
.clk (clk),
.scr_in (SCR_input),
.scr_in_dav (SCR_input_dav),
.scr_out (SCR_output),
.scr_out_dav (SCR_output_dav),
.bit_proc_rw (bit_proc_rw)
);

テストベンチは、入力のみが駆動されていることを示しています (例: rw=0 CRC 入力は機能しますが、残りは不明な値です)。入力を出力に、出力を入力に同時に割り当てているためですか?または、これは正しいので、コードのバグを探す必要がありますか? そうでない場合、各モジュールのインスタンスを 1 つだけ使用してこれを行うにはどうすればよいですか?

お時間をいただきありがとうございます。

4

1 に答える 1