Можно ли иметь два экземпляра с одинаковыми именами в списке соединений?
Можно ли иметь два флопа / любые другие экземпляры с одинаковыми именами в списке соединений?
Учитывая, что иерархии нет, скажем, у меня есть дизайн 10M экземпляров, и существует флоп с именем foo, возможно ли, чтобы другой флоп имел то же имя 'foo'?
3 ответа
Нет. В пределах одной области вы не можете повторно использовать этот идентификатор для другой цели,
Как говорит Дейв, нет. Но если бы у вас было 10 миллионов экземпляров, вы бы не закодировали это вручную, как у вашего логического синтезатора. И это не выведет незаконный список соединений.
Единственный способ, которым ваш вопрос имеет смысл, - это рассмотреть один большой файл verilog - очевидно, здесь не может быть более одного reg/logic с именем foo
, Это основополагающее значение для правил определения объема verilog.
Если в вашем проекте есть какая-либо итерация или локальная область действия какой-либо формы, процесс разработки создаст форму иерархии для обработки этой итерации. Если вы сгладите результирующий список соединений (по умолчанию или дизайн), то каждый элемент либо получит абстрактный уникальный идентификатор (n1, n2, n3...), либо будет предварительно / пост исправлен с некоторой иерархической информацией (gen_1_foo, gen_2_foo...).
После генерации списка соединений может быть нетривиально связать конкретный флоп с его синтаксическим источником в verilog - но вы поняли это из-за отсутствия иерархии и структуры в дизайне.