Sobol' 0 24 февраля, 2015 Опубликовано 24 февраля, 2015 (изменено) · Жалоба также и выходные шины данных мешать можно, при условии, что невыбранный модуль выдает на нее нули - передается всем одна шина типа wor (или wand - если невыбранный модуль вылает FFFFF). ..или wire, если невыбранный модуль передает ZZZZ - вариант? ну всмысле обычная шина без подтяжки и буферы с третьим состоянием. Изменено 24 февраля, 2015 пользователем Sobol' Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 24 февраля, 2015 Опубликовано 24 февраля, 2015 · Жалоба ..или wire, если невыбранный модуль передает ZZZZ - вариант? не, не вариант. По правилам языка, тогда нужен тип "tri/trior/triand/trireg/tri0/tri1", но они, на сколько я понимаю, не синтезируемы. А конвертация внутренних тристабильных шин для типа wire реализована для синтеза редко где. из стандарта: A wire net can be used for nets that are driven by a single gate or continuous assignment. The tri net type can be used where multiple drivers drive a net. UPD: Зато, это вариант, если технология позволяет создавать на кристалле реальные тристабильные шины. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 24 февраля, 2015 Опубликовано 24 февраля, 2015 · Жалоба ISE все шины собранные в кучу которые данные или ZZZZ прекрасно переваривает и заменяет по-моему шиной или. Я как то смотрел как он делает, но сейчас забыл) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sobol' 0 24 февраля, 2015 Опубликовано 24 февраля, 2015 · Жалоба А конвертация внутренних тристабильных шин для типа wire реализована для синтеза редко где. работаю в ISE 14.7, шину с третьем состоянием переваривает нормально. Повесил киперы (приметив KEEPER) на всякий случай.. Кстати, в ISE в Language Templates (verilog->Synthesis Constructs->Coding Examples->Bi-directional I/O->Unregistered) описаны примеры использования двунаправленных портов, и судя по всему тристабильных. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 24 февраля, 2015 Опубликовано 24 февраля, 2015 · Жалоба а использовать киперы разве корректно? Они же 3 состояние заменять прошлым и весь мультиплексор рухнет, нет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sobol' 0 24 февраля, 2015 Опубликовано 24 февраля, 2015 (изменено) · Жалоба а использовать киперы разве корректно? Они же 3 состояние заменять прошлым и весь мультиплексор рухнет, нет? есть шина wire [7:0] data_bus; KEEPER (.O(data_bus[0])); KEEPER (.O(data_bus[1])); KEEPER (.O(data_bus[2])); ....... она присоединина к куче двунаправленных портов различных модулей. В каждом модуле конструкция типа: inout [7:0] data_bus; input mem_RE; reg [7:0] memory; assign data_bus = mem_RE ? memory : 8'hZZ; Я ни чего некоректного тут не вижу, может быть кто-то из гуру меня поправит. Изменено 24 февраля, 2015 пользователем Sobol' Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 24 февраля, 2015 Опубликовано 24 февраля, 2015 · Жалоба работаю в ISE 14.7, шину с третьем состоянием переваривает нормально. ISE и должен. Потому, что в древних кристаллах были физические тристабильные буфера. Ну а от совместимости, когда их не стало, им деваться и некуда. И опасно это тем, что потом, вдруг, на какой-то другой архитектуре это ляжет на реальные тристабильные шины, с какими нибудь последствиями, например, в виде коллизий... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 25 февраля, 2015 Опубликовано 25 февраля, 2015 · Жалоба В Альтерах цепи с тремя состояниями преобразуются в обычную логику, мультиплексоры. Можно использовать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sobol' 0 25 февраля, 2015 Опубликовано 25 февраля, 2015 · Жалоба А вот интересно, как обстоит дело с энергопотреблением? наверное, у монтажного ИЛИ утечки куда больше чем у ИЛИ на логических элементах? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 25 февраля, 2015 Опубликовано 25 февраля, 2015 · Жалоба и вот тут у меня возник вопрос, что есть монтажное или, и что есть логические элементы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 25 февраля, 2015 Опубликовано 25 февраля, 2015 · Жалоба и вот тут у меня возник вопрос, что есть монтажное или, и что есть логические элементы? Это разные методы описать одно и то же, используя разные средства языка описания аппаратуры. Если рассматривать в рамках темы - оператора непрерывного присваивания Verilog. В железе - монтажное ИЛИ делается соединением выходов с открытым эмиттером в одну цепь, или соединением выходов через диоды в одну цепь. А как это описание синтезатор реализует в железе, зависит от возможностей той технологии, на которой это реализуется - это уже надо смотреть конкретные возможности конкретной технологии. PS А еще для wired logic в верилоге есть всякие nmos, pmos, tranif0, tranif1, и подобное.... Но, тоже, в основном, не синтезируемое. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 26 февраля, 2015 Опубликовано 26 февраля, 2015 · Жалоба и вот тут у меня возник вопрос, что есть монтажное или, и что есть логические элементы?Вы беспросветный программист ))) (по складу ума) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 26 февраля, 2015 Опубликовано 26 февраля, 2015 · Жалоба ну прекрасно, а скажите мне, ваши логические элементы не сведутся в итоге к транзисторам? то есть вопрос что больше потребляет монтажное ИЛИ или ЛОГИЧЕСКИЕ элементы по мне поставлен не корректно. Потому что схема (ну я опускаю суммирование при помощи диодов) в целом одна и та же, и там и там в итоге будут транзисторы. Остается вопрос быстродействия, потому что даже схему на диодах можно так задавить резисторами, что она будет потреблять микроамперы, другое дело что и в 1 будет выходить долго долго.... И кто теперь беспросветный программист? ;) хоть и по складу ума... Может я упустил момент какого-то прогресса, и сейчас есть какие-то Логические элементы которые в итоге собраны не на транзисторах? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bambr 0 26 февраля, 2015 Опубликовано 26 февраля, 2015 · Жалоба Синтезатор ничего в железе не реализует. Синтезатор создает описание вашего проекта ввиде списка цепей - RTL. Затем Имплементатор переводит его на ту технологию, которая используется, сопоставляя логическую схему существующим у него компонентам. И потом роутер уже разводит это по кристаллу (в случае FPGA) Таким образом, конечно в конечном итоге, все оказывается собранным на транзисторах, но логические функции в FPGA реализуются на основе LUT ( это память где записаны всевозможные результаты). Таким образом, и wire и reg это математические сущности, играющие по определенным правилам. В конечном итоге, схему синтезированную из Veriloga, можно реализовать хоть в майнкрафте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 26 февраля, 2015 Опубликовано 26 февраля, 2015 · Жалоба Синтезатор ничего в железе не реализует. Синтезатор создает описание вашего проекта ввиде списка цепей - RTL. Затем Имплементатор переводит его на ту технологию, которая используется, сопоставляя логическую схему существующим у него компонентам.Не знаю, что за имплементатор Вы имеете в виду, но после операции синтез (выполняемой для Xilinx программой xst.exe) создаётся список цепей - тут Вы правы. Но упомянутые цепи соединяют, как раз, те аппаратные примитивы, которые существуют в ПЛИС, которая используется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться