-
umarsohod
-
-
Не в сети
-
Администратор
-
-
Сообщений: 816
-
Спасибо получено: 168
-
-
|
Можно, только шины между собой не соединяйте, они должны быть разорваны.
На старших битах будет ноль, если вы принудительно их никуда не подключите.
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
KIV
-
Автор темы
-
Не в сети
-
Давно я тут
-
-
Сообщений: 121
-
Спасибо получено: 5
-
-
|
ОК, понял. А в каких случаях применяют bus vs conduit?
И как принудительно подключить куда-то нужные биты шины? (Пример, плз.)
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от KIV.
|
-
KIV
-
Автор темы
-
Не в сети
-
Давно я тут
-
-
Сообщений: 121
-
Спасибо получено: 5
-
-
|
В приведенной Вами ссылки (я ее изучил раньше) не нашел того, что мне нужно.
Конкретно: есть модуль, с одной выходной шиной ctrl[7..0].
К этой шине должно быть присоединено три разных модуля-приемника, входные шины которых обозначены как ctrl[3..0], ctrl[5..4], ctrl[7..6].
Как заставить общаться одну выходную с тремя входными шинами? Как правильно изобразить это на схеме?
Как добавить еще один приемный модуль, на который нужно завести, допустим, 0, 4 и 6 биты шины ctrl[7..0]?
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от KIV.
|
-
umarsohod
-
-
Не в сети
-
Администратор
-
-
Сообщений: 816
-
Спасибо получено: 168
-
-
|
Если правильно вас понял:
По последнему вопросу - переименовывайте, в статье про это есть.
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
KIV
-
Автор темы
-
Не в сети
-
Давно я тут
-
-
Сообщений: 121
-
Спасибо получено: 5
-
-
|
Вы правильно меня поняли. Это я не могу корректно поставить вопрос.
Я обычно присваиваю входам и выходам модулей имена типа ctrl_in[x..y], ctrl_out[x..0]. Затем пытаюсь законнектить их в Верилоге.
Видимо причина моих неудач в том, что у меня получаются разные имена шин, которые нужно соединить.
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
KIV
-
Автор темы
-
Не в сети
-
Давно я тут
-
-
Сообщений: 121
-
Спасибо получено: 5
-
-
|
А можно ли к входам/выходам создаваемых блоков, которые носят одни имена, присоединять шины, у которых другие имена?
Блоки-мегафункций это съедают, а как быть с блоками, которые я создаю сам? Ведь у них нет точек на контуре блока, обозначенных как тот или иной вход или выход. Поэтому приходится шине, идущей к этому IO присваивать имя конкретного IO.
Те блоки, которые я сам создаю в своем проекте, имеют вид таблицы (две колонки I/O | Type), в которой перечислены все выходы и выходы блока. Но нет выводов этих входов и выходов (условных пинов блока), как у любого блока мега-функции из библиотеки.
В то же время, допустим, в проекте "Посох" я нашел "самодельный" блок "effeсt", который графически соответствует библиотечному блоку. Как создать свой блок в подобном виде?
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от KIV.
|
-
umarsohod
-
-
Не в сети
-
Администратор
-
-
Сообщений: 816
-
Спасибо получено: 168
-
-
|
Я все-таки чего-то не понимаю.
Вы бы посмотрели какой-нибудь из моих проектов, может что прояснится.
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
alman
-
-
Не в сети
-
Завсегдатай
-
-
Сообщений: 263
-
Спасибо получено: 41
-
-
-
-
-
|
Не уверен что я правильно понял вопрос.
Проблема в том, чтобы соединить два модуля?
Например, где-то определены два модуля first_module и second_module, соответственно у одного один выход, а у второго один вход.
Как вариант, создать wire и с его помощью соединить оба модуля с помощью такой конструкции:
module top_module();
wire it_is_wire;
first_module first( .my_ouput(it_is_wire) );
second_module second( .my_input(it_is_wire) );
endmodule
Писал по памяти, не проверял - соответственно мог ошибиться в синтаксисе. Но идею этот код демонстрирует. Т.е. используется форма записи, при которой с точки начинается имя входа или выхода модуля, а после него в скобка имя провода или регистра, которые соединяется с входом или выходом.
p.s. пример всё же неудачный, потому как Квартус оптимизирует этот код, поскольку top_module не имеет выходных сигналов.
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от alman.
|
-
KIV
-
Автор темы
-
Не в сети
-
Давно я тут
-
-
Сообщений: 121
-
Спасибо получено: 5
-
-
|
Пока редактировал свое сообщение #5044, пришло два ответных сообщения от umarsohod и alman.
Пожалуйста, посмотрите еще раз пост 5044.
P.S. Как экспортировать часть окна Верилога со схемой в графический файл (как в ответе umarsohod'a)? Возможно, если я сделаю скрин, станет понятно, чего я не догоняю.
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от KIV.
|
Время создания страницы: 0.616 секунд