Провода не подключены в RTL

У меня какая-то странная проблема, некоторые провода не подключены в моем дизайне.

Я пытаюсь сделать простой файл регистрации (я использую Xilinx ISE). Этот регистровый файл содержит 32 регистра, каждый из которых имеет размер 32 бита. Файл регистров имеет два MUX для выбора чтения (2 чтения параллельно) и декодер для выбора записи. Когда я пытаюсь подключить сигналы от каждого регистра к 2 MUX, сигналы появляются в RTL, подключенном только к одному из MUX. Например, пусть сигнал reg2out быть результатом reg2, Я подключаю reg2out приколоть I1 из mux1и подключите снова reg2out приколоть I1 из mux2, RTL тогда показывает второй мультиплексор, подключенный правильно, но первый мультиплексор появляется без входов, селекторов и выходов, подключенных к нему. Следующее изображение показывает RTL.проблема

Примечание: ISE генерирует следующее предупреждение при синтезировании

"ПРЕДУПРЕЖДЕНИЕ:Xst:1348 - мультиплексирование устройства объединено (выходной интерфейс имеет тристаты)"

чего я не понимаю.

Основной источник модуля "RegisterFile.vhd" можно найти здесь. Я попытался исправить дюжину модификаций, включая добавление новых сигналов, сохранение выходных регистров в D-FF и сохранение выходных регистров в переменных процесса; и проблема все еще существует. Дизайн содержит два других файла: "dec.vhd" и "mux.vhd". Я считаю, что дизайн этих модулей является правильным.

Как я могу исправить проблему? Это скорее ошибка в ИСЕ?

1 ответ

Решение

Это ошибка в ISE 12.1. однако кажется, что это только ошибка в схематической визуализации RTL, поскольку в сводном отчете правильно упоминаются используемые компоненты. использование версии 12.2 ISE, проблема больше не воспроизводима.

Другие вопросы по тегам