Devido a um problema no software Intel® Quartus® Prime Pro Edition versão 21.3 e anterior, você pode observar um erro interno ao usar pinos bidirecionais com registro de entrada rápida, registro de saída rápida ou atribuição de Registro de habilitação de saída rápida. Se algum dos registros rápidos estiver habilitado, você será obrigado a habilitar todos eles.
Um exemplo de um caso de falha:
O registro de entrada é atribuído ao Registro de entrada rápida, mas os registros de OE/Saída não são atribuídos como Registro de OE Rápido e Registro de Saída Rápida. A seguinte mensagem de erro interno é gerada:
Erro interno: subsistema: U2B2_GENERIC, arquivo: /quartus/db/u2b2_generic/u2b2_generic_translator.cpp, linha: 353
Não foi possível encontrar uma solução para pio_1_1
Regra: 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.x0.ioereg_top_5_.gpio_wrapper_0.gpio_reg.xio_gpio_oreg.mode dentro {DDR_MODE_FR,SDR_MODE}
Variáveis de entrada e seus valores:
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.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
Opção 1:
Não defina nenhum dos registros como Fast * Register.
Opção 2:
Atribua toda a entrada/OE/saída para o registro *rápido. Por exemplo, adicione as seguintes linhas no arquivo .qsf:
Embalagem do registro de entrada: set_instance_assignment -name FAST_INPUT_REGISTER ON -para
Embalagem do registro de saída: set_instance_assignment -name FAST_OUTPUT_REGISTER ON -para
Habilite a embalagem do registro de saída: set_instance_assignment -name FAST_OUTPUT_ENABLE_REGISTER ON -para
Opção 3:
Use a atribuição a seguir para embalar todos os registros. Adicione a seguinte linha ao arquivo .qsf:
set_global_assignment nome OPTIMIZE_IOC_REGISTER_PLACEMENT_FOR_TIMING "EMBALAR TODOS OS REGISTROS DE IO"
Isso já está corrigido no software Intel® Quartus® Prime Pro Edition versão 21.3.