Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Unsorted (http://zx-pk.ru/forumdisplay.php?f=13)
-   -   ПЛИС и всё что с ними связано (http://zx-pk.ru/showthread.php?t=9342)

Ewgeny7 27th July 2009 01:00

Quote:

Originally Posted by zst (Post 210303)
1. Что скрывается за словом process и для чего указывать все используемые сигналы? Сколько это отъедает макроячеек?

Процесс - функционально самостоятельный кусок схемы. Все реакции внутри процесса происходят только при событиях на описанных в заголовке сигналах. Нет события ни на одном сигнале - процесс "стоит". Если ты опишешь не все сигналы "чувствительности" - анализатор сделает это сам и выдаст об этом предупреждение.

Quote:

Originally Posted by zst (Post 210303)
2. Можно ли написать конструкцию типа if then else без process?

Нельзя. Допутимо так - xxx<=yy when (aaa) else zz;

Quote:

Originally Posted by zst (Post 210303)
4. Как уменьшать объем прошивки в макроячейках для серии MAX3000A?

Можно немного уменьшить количество ячеек, переключая приоритеты компилятора. Их три варианта - скорость работы, количество ячеек, сбалансированно. По дефолту стоит скорость. Это выбирается где-то в properties проекта.

Quote:

Originally Posted by zst (Post 210303)
5. Какая разница: сначала получить сигнал из нескольких с помощью логических конструкций, а потом записать по фронту в процессе или тоже самое, но в процессе ожидается фронт, а потом логические конструкции для получения сигнала?

Ну ты накрутил! :) Разница может быть, оценить это можно только мозгом или симулятором. Это моя излюбленная ошибка (в сложных процессах). Если по логике разницы никакой, то так оно и будет.
Quote:

Originally Posted by zst (Post 210303)
3. Причины ошибки типа "требуется 7 выходов, а у устройства только 6"? Подозреваю, что это ограничивает число процессов, на которые можно подать один сигнал. Как из этого выходить?

Х.з. Чтото похожее было разочек, но вроде было связано с рулением ног inout, когда я некорректно указал когда нужно переключаться в Z-состояние.

Spir0 31st July 2009 10:14

Решил тут "заПЛИСовать" схему расширения Ленинграда 2 - http://zx.pk.ru/showpost.php?p=198332&postcount=58
Все отлично влезло в плиску от Xilinx, только возникли проблемы с последним мультиплексором (IC8) - на реальной схеме выходы объединены и все работает нормально, но в плис при попытке объединить выходы получаем ошибку что несколько соединений от одного источника и прошивка не компилится. Если же развести выходы на отдельные пины, а потом объединить уже вне плис, то получаю подсаженные уровни и ничего не работает.

Может кто знает как разрулить эту ситуацию ? :v2_conf2:

caro 31st July 2009 10:41

Quote:

Originally Posted by Spir0
Может кто знает как разрулить эту ситуацию ? :v2_conf2:

Обьединять надо не физически, а логически.
Выложи исходник, думаю тебе помогут.

Spir0 31st July 2009 11:27

1 Attachment(s)
Делал в схематике, так как пока еще не совсем вник в суть VHDL :)

Attachment 12727

Глядя на схему КП12 возникло подозрение что мультиплексор в ISE с входом ENABLE, всего лишь устанавливает 0 на выходе, в то время как в КП12 - этот вход переводит соответствующий выход в TRI-State.

caro 31st July 2009 12:03

1 Attachment(s)
Quote:

Originally Posted by Spir0 (Post 210978)
Делал в схематике...

Я так и понял.
Тогда сделай так:

IanPo 31st July 2009 12:59

Читал туториалы, смотрел всякое, попробовал поделать схемки в MAX+ Plus и Quartus. Возникли такие вопросы:

1) Нужно подавать тактовый сигнал на саму ПЛИС (если в схеме нет тактового сигнала)?

2) Компилятор пишет что-то типа сигнал нужно сделать Global. Что это значит?

3) В схеме нарисовал ИР22. Ее выводы выводятся наружу ПЛИСины, и они должны быть 3-стабильными. Как это задается, и как указать, что третье состояние на наружных выводах наступает по такому-то (внутр.) сигналу?

Spir0 31st July 2009 13:48

Quote:

Originally Posted by IanPo (Post 210989)
1) Нужно подавать тактовый сигнал на саму ПЛИС (если в схеме нет тактового сигнала)?

Не нужно, глобальные сигналы обычно используются, если надо получить гарантированный сброс всех ячеек, которые используются или засинхронизировать все внутренние элементы (счетчики или регистры). Если это несущественно, то например в Xilinx их можно использовать как обычные IN/OUT пины.

Quote:

2) Компилятор пишет что-то типа сигнал нужно сделать Global. Что это значит?
Тут не помогу, надо код видеть :)

Quote:

3) В схеме нарисовал ИР22. Ее выводы выводятся наружу ПЛИСины, и они должны быть 3-стабильными. Как это задается, и как указать, что третье состояние на наружных выводах наступает по такому-то (внутр.) сигналу?
Обычно это описывается в VHDL, как <в зависимости от сигнала такого то (event) на выходах установить "ZZZZ">, если в схематике, то там есть либо регистр с Z-состоянием, либо буфер с Z-состоянием, на вход управления которого и подается сигнал управления.

IanPo 31st July 2009 16:22

1) Что такое глобальный сигнал?

Quote:

Originally Posted by Spir0 (Post 210996)
Обычно это описывается в VHDL, как <в зависимости от сигнала такого то (event) на выходах установить "ZZZZ">, если в схематике, то там есть либо регистр с Z-состоянием, либо буфер с Z-состоянием, на вход управления которого и подается сигнал управления.

2) Фишка в том, что Z-выходы регистра внутри ПЛИС я могу задать, а вот будут ли ВНЕШНИЕ выводы ПЛИС при этом с Z-состоянием? Это ведь не одно и то же?

Spir0 31st July 2009 17:13

Quote:

Originally Posted by IanPo (Post 211019)
1) Что такое глобальный сигнал?

"GSR (Global Set/Reset), который можно использовать для установки или сброса всех триггеров в проекте (для этого достаточно их назначить), GTS (Global Tri-State) - для перевода всех буферов ПЛИС в "третье" состояние и GCK (Global Clock) - для подачи тактового сигнала"

Quote:

Originally Posted by IanPo (Post 211019)
2) Фишка в том, что Z-выходы регистра внутри ПЛИС я могу задать, а вот будут ли ВНЕШНИЕ выводы ПЛИС при этом с Z-состоянием? Это ведь не одно и то же?

Если подключишь эти выходы к внешним выводам (назначишь внешние пины), то будут. Fitter же просто раскидывает функции по внутренним блокам и соединяет с внешними пинами, т.е. ему нет разницы внутренний или внешний, как работа элемента соединенного с внешним пином прописана, то на выходе и получишь.

Spir0 31st July 2009 22:37

Вообщем все решилось, заменил 4_1E мультиплексоры на один 8_1E с управлением H1,H2,RAS - 128 режим заработал :)


All times are GMT +4. The time now is 06:40.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.