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 つだけ使用してこれを行うにはどうすればよいですか?
お時間をいただきありがとうございます。