SM 0 19 февраля, 2015 Опубликовано 19 февраля, 2015 · Жалоба Так тем и отличается непрерывное присваивание (соединение), которое непрерывно подключает несколько драйверов к одной net, от регистрового типа, который хранит моментно-записанные значения по событиям из always (по-этому, и не непрерывное оно тут). Кстати, можно в цикле и net испольовать. Только инициализировать не надо!!!! wor b; generate for b = a; endgenerate и получите b= a[0] | a[1] | ... a[N] - куча драйверов a[x], объединенных в "монтажное ИЛИ" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 19 февраля, 2015 Опубликовано 19 февраля, 2015 · Жалоба вот тут понятность падает, коментов надо напихать... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 19 февраля, 2015 Опубликовано 19 февраля, 2015 · Жалоба вот тут понятность падает, коментов надо напихать... Да не падает она - точнее падает для тех, кто плохо знает язык. Это, вообще, не угадаешь, где для какого "читателя" она упадет. Обычно там, где самому даже и не кажется. А вообще, хорошее понимание всех особенностей работы с типами net - дает изучение AHDL. Там главная вкусность есть - объявление переменной типа "модуль". И других типов переменных нет в природе. Модуль может быть как и примитивным проводом или регистром (модули-примитивы), так и любым своим большим блоком. А все присваивания - только непрерывные. И, также, можно использовать в присваиваниях модули как функции. Хотя, в общем, язык куда более простой, чем verilog, так как в принципе не предназначен для моделирования, а только для синтеза, но, зато, зная AHDL, сразу не совершаешь многих ошибок ни на верилоге, ни на VHDL. Особенно, вот конкретно таких. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sobol' 0 20 февраля, 2015 Опубликовано 20 февраля, 2015 · Жалоба generate for b = a; endgenerate оператор "|" не нужен? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 20 февраля, 2015 Опубликовано 20 февраля, 2015 · Жалоба именно поэтому я и говорю читаемость падает... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 20 февраля, 2015 Опубликовано 20 февраля, 2015 · Жалоба да ещё и если объявление wor где-то далеко Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sobol' 0 20 февраля, 2015 Опубликовано 20 февраля, 2015 · Жалоба Да с WOR как раз все нормально - монтажное "или" более наглядно описать нельзя. Вот циклы - это уже шаг в сторону. ИМХО. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 24 февраля, 2015 Опубликовано 24 февраля, 2015 · Жалоба монтажное "или" более наглядно описать нельзяЗато можно схему смешения, например, сигналов прерываний сделать в явном виде на логике, без монтажного "или". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sobol' 0 24 февраля, 2015 Опубликовано 24 февраля, 2015 · Жалоба Зато можно схему смешения, например, сигналов прерываний сделать в явном виде на логике, без монтажного "или" можно. Но имхо, если драйверов действительно дофига, то удобнее WOR. Меня, как схемотехника, ставят в ступор циклы в синтезируемом модуле )) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 24 февраля, 2015 Опубликовано 24 февраля, 2015 · Жалоба А без циклов наверное в любом случае не получится, если число суммируемых сигналов заранее неизвестно и определяется параметром Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 24 февраля, 2015 Опубликовано 24 февраля, 2015 · Жалоба Зато можно схему смешения, например, сигналов прерываний сделать в явном виде на логике, без монтажного "или". Зато лишние сигналы объявлять надо, чтобы от каждого модуля отводить отросток до "большого или". Лишнюю работу делать. Для каждого случая надо использовать свою конструкцию языка, которая более удобна. Для того их и придумывали. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 24 февраля, 2015 Опубликовано 24 февраля, 2015 · Жалоба объявить сигнал как wor. и передать его на каждый модуль при подключении модуля. вот они все и поилится, правильно же я понимаю да? правда я лучше пару строк напишу чтобы даже еж догадался что я сделал... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 24 февраля, 2015 Опубликовано 24 февраля, 2015 · Жалоба объявить сигнал как wor. и передать его на каждый модуль при подключении модуля. вот они все и поилится, правильно же я понимаю да? именно - просто и красиво. А если надо, к нему еще чего нибудь домешать и assign-ами, что не из модулей. также и выходные шины данных мешать можно, при условии, что невыбранный модуль выдает на нее нули - передается всем одна шина типа wor (или wand - если невыбранный модуль вылает FFFFF). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Timmy 1 24 февраля, 2015 Опубликовано 24 февраля, 2015 · Жалоба именно - просто и красиво. А если надо, к нему еще чего нибудь домешать и assign-ами, что не из модулей. также и выходные шины данных мешать можно, при условии, что невыбранный модуль выдает на нее нули - передается всем одна шина типа wor (или wand - если невыбранный модуль вылает FFFFF). Однажды я попробовал сделать именно так в Квартусе 13.1. Выяснилось, что шина wor нормально работает, только если смешивать сигналы исключительно assign-ами, а если её ещё указывать прямо в port mappings, то не работает. А потом это увидел заказчик, и попросил wor вообще не использовать, так как ему ничего не понятно:). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 24 февраля, 2015 Опубликовано 24 февраля, 2015 · Жалоба А потом это увидел заказчик, и попросил wor вообще не использовать, так как ему ничего не понятно:). Э... А какое дело заказчику до этого, если не секрет? Я, вообще, пока еще не видел заказчиков, которые бы понимали верилог :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться