Как VHDL гарантирует временные ограничения
Мой вопрос, представьте, у вас есть счетчик, подключенный к выходу для регистрации. Теперь при падении / нарастании фронта регистра часов (FF) хранятся данные, а счетчик генерирует новые данные, но что, если счетчик действительно быстр и данные поступают на вход регистра во времени меньше времени удержания? он не будет правильно хранить предыдущее значение, верно? Как VHDL обрабатывает такие ситуации?
2 ответа
Язык ничего не гарантирует. Инструмент синтеза, а также инструмент определения местоположения и маршрута выясняют это, зная минимальные / максимальные значения и неопределенности всех соединений для данного устройства и его ожидаемые параметры PVT (процесс, напряжение, температура). Эти параметры поступают от поставщика и включаются в инструменты проектирования.
Процесс примерно такой: синтез вычисляет, какие "блоки" (CLB /ALM, жесткие ядра, такие как RAM, DSP и PLL и т. Д.) Необходимы для удовлетворения вашего проекта, и определяет, как их соединить, создавая список соединений. Этот список соединений затем отправляется в инструмент P&R, который пытается вписать все в указанное устройство. Во время этой задачи P&R известные задержки между блоком A и блоком B учитываются и суммируются (это упрощение). Исходя из этого, вы получаете отчет о времени, который представляет собой гигантский список каждого соединения и время наилучшего и наихудшего случая для передачи сигнала от одного к другому. Ваша максимальная частота (насколько быстро вы можете запустить дизайн) зависит от этого и зависит от предоставленного размещения и списка соединений.
Ваш файл ограничений - это бит, в котором вы определяете требуемое время в дизайне. Возможно, у вас есть синхронный с источником интерфейс для внешнего PHY или у вас есть какая-то другая шина, которая имеет определенную настройку и время удержания между тактовым сигналом, сигналом управления и данными. Ограничения также могут возникать в результате взаимодействия между внутренними блоками внутри устройства. Этот файл ограничений используется во время определения местоположения и маршрута, чтобы помочь при размещении и маршрутизации, а также при окончательной проверке времени, чтобы убедиться, что все заданные вами времена установки и удержания были соблюдены в проекте с учетом рабочей температуры, активной зоны. напряжение и конкретное целевое устройство.
Не за что. VHDL описывает общее поведение, но не время. Моделирование синхронизации может быть выполнено после синтеза, но в то время синтезатор уже должен был принять во внимание временные ограничения.