インテル® Quartus® Prime 開発ソフトウェア・プロ・エディション・バージョン 21.3 以前の問題により、高速入力レジスター、高速出力レジスター、または高速出力イネーブル・レジスターのアサインメントで双方向ピンを使用する際に内部エラーが発生する可能性があります。高速レジスターのいずれかが有効になっている場合、それらのすべてを有効にする必要があります。
失敗したケースの例:
入力レジスターは高速入力レジスターに割り当てられますが、OE /出力レジスターは高速 OE レジスターおよび高速出力レジスターとして割り当てされていません。次の内部エラーメッセージが生成されます。
内部エラー: サブシステム: U2B2_GENERIC、ファイル: /quartus/db/u2b2_generic/u2b2_generic_translator.cpp、Line: 353
pio_1_1のソリューションが見つかりませんでした
ルール: fmgpio_reg::io_gpio_reg_rule @ pio_1_1.x0.fmio96_core_inst.fmio48tile_bot.x3.u1_0.x0.ioereg_top_5_.gpio_wrapper_0.gpio_reg pio_1_1.x0.fmio96_core_inst.fmio48tile_bot.x3.u1_0.x0.ioereg_top_5_.gpio_wrapper_0.gpio_reg.mode != BIDIR_MODE ||pio_1_1.x0.fmio96_core_inst.fmio48tile_bot.x3.u1_0.x0.ioereg_top_5_gpio_wrapper_0.gpio_reg.xio_gpio_ireg.mode != REG_MODE | |pio_1_1.x0.fmio96_core_inst.fmio48tile_bot.x3.u1_0.ioereg_top_5_.gpio_wrapper_0.gpio_reg.xio_gpio_oreg.mode inside {DDR_MODE_FR,SDR_MODE}
入力変数とその値:
pio_1_1.x0.fmio96_core_inst.fmio48tile_bot.x3.u1_0.x0.ioereg_top_5_.gpio_wrapper_0.gpio_reg.xio_ireg.mode == REG_MODE
pio_1_1.x0.fmio96_core_inst.fmio48tile_bot.x3.u1_0.x0.ioereg_top_5_.gpio_wrapper_0.gpio_reg.xio_gpio_oreg.mode == COMBI_MODE
pio_1_1.x0.fmio96_core_inst.fmio48tile_bot.x3.u1_0.x0.ioereg_top_5_gpio_wrapper_0.gpio_reg.mode == BIDIR_MODE
オプション 1:
いずれのレジスターも Fast * Register に設定しないでください。
オプション 2:
すべての入力 / OE / 出力を Fast * レジスターに割り当てます。たとえば、.qsf ファイルに次の行を追加します。
レジスターパッキングの入力: set_instance_assignment -name FAST_INPUT_REGISTERオン -to
出力レジスターパッキング: レジスターのパスset_instance_assignment -name FAST_OUTPUT_REGISTER ON -to
出力イネーブルレジスターパッキング:set_instance_assignment -name FAST_OUTPUT_ENABLE_REGISTERオン -to レジスターへのパス
オプション 3:
次の割り当てを使用して、すべてのレジスターをパックします。.qsf ファイルに次の行を追加します。
set_global_assignment -name OPTIMIZE_IOC_REGISTER_PLACEMENT_FOR_TIMING「すべての IO レジスターをパックする」
これは、インテル® Quartus® Prime 開発ソフトウェア・プロ・エディションバージョン 21.3 ですでに修正されています。