реклама на сайте
подробности

 
 
> Вопрос про ПЛИС в целом и VHDL, как описать адресуемый модуль
Golikov A.
сообщение Jul 18 2006, 19:54
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Здрасте. Пробовал воспользоваться поиском, ни к чему хорошему это не привело.

Вопроса 2.

Первый
Можно ли описать такую вещ? Шину надо отпускать в 3 состояние (или high impedance не уверен что это одно и тоже) но при этом подтянуть ее к земле. В смысле чтобы если ее никто не дергает она ноль, но если кто ее дергает, конфликтов нет. Можно ли это сделать внутри ПЛИС? Это аналог того, что с наружи резюком к земле шинку подтянуть ну или к питанию. Если можно то лучше пример.

Второй
Я как то его поднимал, и ответы меня устроили, но сейчас чуть другая ситуация. На плате 9 одинаковых ЦАП, хочется написать один интерфейсный модуль, а потом его размножить. Для этого надо писать модуль с возможностью задачи адреса (даже адресов). Как я понимаю это надо делать через Женерик или через внешнюю шину на которую константой задать адрес. Но вот беда, все что написано в женерике или передается снаружи не является статиком, и в кейз это запихать нельзя. На кейзе построен внутренний дешифратор адреса, каждый блок имеет несколько адресов. Я решил проблему описав кейз через иф и елсиф, но как то это криво. Как решают проблему профессионалы? Я имею ввиду как делаются по уму модули с меняемыми адресными пространствами? Пакедж не подойдет, потому что надо уметь создавать копии модулей с разными адресами.

И как бы подпункт этого вопроса, я потом все написанные модули объединяю в графике, мне так как то удобно, но вот вопрос, как нарисованному модулю задать параметры женерика? Есть ли какие методы, я вроде все обтыкал не нашел.

Ну вот и все, надеюсь вопросы не вызовут бурю негодования по поводу их несерьезности, заранее спасибо. Все это для Ксалинксов и среды ИСЕ 7.1, и VHDL, но ради эрудиции хотелось бы и про другие плис-среды услышать.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
dinam
сообщение Jul 19 2006, 05:14
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 415
Регистрация: 10-06-05
Из: Наукоград Кольцово(Новосибирск)
Пользователь №: 5 898



Цитата(Golikov A. @ Jul 19 2006, 02:54) *
... в 3 состояние (или high impedance не уверен что это одно и тоже) ...
Одно и тоже smile.gif
Цитата(Golikov A. @ Jul 19 2006, 02:54) *
В смысле чтобы если ее никто не дергает она ноль, но если кто ее дергает, конфликтов нет. Можно ли это сделать внутри ПЛИС? Это аналог того, что с наружи резюком к земле шинку подтянуть ну или к питанию. Если можно то лучше пример.
У Altera, такая возможность обзывается bus-hold. Это уже обсуждалось, вот, здесь, например, http://electronix.ru/forum/index.php?showt...&hl=pull-up
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jul 19 2006, 08:42
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



[quote name='dinam' date='Jul 19 2006, 09:14' post='135467']
[/quote] У Altera, такая возможность обзывается bus-hold. Это уже обсуждалось, вот, здесь, например, http://electronix.ru/forum/index.php?showt...&hl=pull-up
[/quote]

не совсем то!
это если шина выходит наружу. А меня интересует как это реализовать внутри ПЛИС, то есть если внутри ПЛИС блоки все висят на одной шине, и когда не выбраны отпускают ее в Z, но вот хочется чтобы когда все ее в Z отпустили она была бы в нуле.



Про instantiation.
если я правильно понял сделать еще один блок который следит за шиной, и если все устройства ее отпустили делает шину нулевой, а если кто то держит то наружу выпускает то что на шине? Глобально это имелось ввиду? или я совсем ничего не понял...


почему кейз не ест, ну наверное вот почему

ADRES_WIDTH - определен в пакедже.

generic (constant SDAC_ADR : std_logic_vector ((ADRES_WIDTH-1) downto 0) :=(others=>'0'));

case ADR is
when SDAC_ADR =>TimeOutAfterCS<="0000";
when others => Null;
end case;

Line 139. Choice SDAC_ADR is not a locally static expression.

причем вот сейчас это пишу и это просто варнинг, а вчера это был еррор... Странно может устал вчера и не так что то понял, но смысл такой. Наверное через кейз можно.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 22:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01372 секунд с 7
ELECTRONIX ©2004-2016