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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Освоение ISE
ReedCat
сообщение Aug 5 2008, 12:11
Сообщение #31


Частый гость
**

Группа: Свой
Сообщений: 109
Регистрация: 14-01-08
Из: Москва
Пользователь №: 34 069



Цитата(Nuts @ Aug 5 2008, 15:48) *
ReedCat спасибо. smile.gif

В FIFO данные записываются одним процессом с одной синхронизирующей частотой, а считываются другим процессом с другой синхронизирующей частотой. Причем эти частоты меняются. было бы замечательно если тот процесс который заполнил FIFo поставил флажок "1", а процесс который считывает, считал и убрал флажок в "0". 05.gif И желательно ПЛИС завести на этих синхронизирующих частотах, на какой нибудь из них. - такая задача.

Уууххх, ещё раз...

Асинхронное FIFO в полный рост... Берите примеры реализации и вдумчиво читайте...

Учтите, что если там обнаружится непонятный кусок кода, то это не значит, что он ненужный...
"Врубайтесь" до тех пор, пока не поймёте, а зачем он именно там и зачем сделано именно так.

Больше ничего посоветовать не могу, на пальцах это не объяснить, разбирайтесь (именно разбирайтесь, а не копируйте!) с примерами... Эта задачка - чуть ли не тест на все возможные грабли, её хорошо давать студентам, чтобы выяснить, понимают ли они что такое FPGA или так "мимо проходили" smile.gif
Go to the top of the page
 
+Quote Post
Maverick
сообщение Aug 6 2008, 07:48
Сообщение #32


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(Nuts @ Aug 5 2008, 14:30) *
Это простой пример. Я пишу чтото вроде асинхронного FIFO, там такая вещь очень пригодилась бы. Да и сигналы выводятся на одну ножку в разное время, один на спаде фронта, другой на подъеме- т.е. вроде конфликта быть не должно.


FIFO, двупортовую память и др. Вы коректно, можете не описать, эта тема обсуждалась уже на форуме. Лучше воспользуйтесь для его создания программой CoreGenerator для Xilinx или каким-то визардом если пишете в другом САПРе


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
BSV
сообщение Aug 6 2008, 07:58
Сообщение #33


Знающий
****

Группа: Свой
Сообщений: 541
Регистрация: 11-04-05
Из: Москва
Пользователь №: 4 045



Цитата(Maverick @ Aug 6 2008, 11:48) *
FIFO, двупортовую память и др. Вы коректно не опишете, эта тема обсуждалась уже на форуме.
Это с чего Вы взяли? Невозможно описать разве что память шириной не 2^x, а 2^x+2 (+1) и двухпортовую ROM (да и то в более свежих версиях софта от Xilinx это может быть пофиксено). А все остальное пожалуйста. Я, например, с успехом пользуюсь самописными параметризуемыми (глубина, ширина, тип памяти) модулями синхронного и асинхронного FIFO. И Вам советую...


--------------------
Дурак, занимающий высокий пост, подобен человеку на вершине горы - все ему кажется маленьким, а всем остальным кажется маленьким он сам. /Законы Мерфи/
Go to the top of the page
 
+Quote Post
Maverick
сообщение Aug 6 2008, 09:26
Сообщение #34


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(BSV @ Aug 6 2008, 10:58) *
Это с чего Вы взяли? Невозможно описать разве что память шириной не 2^x, а 2^x+2 (+1) и двухпортовую ROM (да и то в более свежих версиях софта от Xilinx это может быть пофиксено). А все остальное пожалуйста. Я, например, с успехом пользуюсь самописными параметризуемыми (глубина, ширина, тип памяти) модулями синхронного и асинхронного FIFO. И Вам советую...


Может быть, я погорячился. Но смущает это:

http://electronix.ru/forum/index.php?showt...8&hl=Memory

http://electronix.ru/forum/index.php?showt...675&hl=FIFO

Кстати когда-то я пытался, сделать FIFO ручками с помощью рекомендаций Xilinx, но так и не получилось и где-то я читал (не помню) на форуме и мне старшие товарищи порекомендовали использовать все таки готовое! Может поделитесь опытом

http://electronix.ru/forum/index.php?showtopic=5242&hl=#

Цитата(BSV @ May 30 2005, 22:50) *
У Xilinx'а есть несколько xapp'ов, посвященных реализации синхронных (один клок на чтение и на запись) и асинхронных (разные клоки) FIFO на блочной и распределенной памяти, смотрите на их сайте (там есть и исходники для разных вариантов).
Флаги лучше применять регистровые - положительно скажется на частоте.

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


как это "переработали с использованием generate и констант в разрядности шин" на языке VHDL?


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
BSV
сообщение Aug 6 2008, 10:17
Сообщение #35


Знающий
****

Группа: Свой
Сообщений: 541
Регистрация: 11-04-05
Из: Москва
Пользователь №: 4 045



Цитата(Maverick @ Aug 6 2008, 13:26) *
Про двухпортовую ROM я писал, что есть проблемы у синтезатора Xilinx, однако другие-то справляются (Synplify например) - значит рано или поздно и XST начнет корректно работать (особенно если Xilinx'у на мозги подавить). Но в FIFO Вам двухпортовая ROM на кой ляд?

Цитата(Maverick @ Aug 6 2008, 13:26) *
Кстати когда-то я пытался, сделать FIFO ручками с помощью рекомендаций Xilinx, но так и не получилось и где-то я читал (не помню) на форуме и мне старшие товарищи порекомендовали использовать все таки готовое! Может поделитесь опытом.
Да там собственно исходники есть и они вполне корректно работают - применял раньше, до того как параметризовал. Вот ссылки:
http://www.xilinx.com/bvdocs/appnotes/xapp258.zip
http://www.xilinx.com/bvdocs/appnotes/xapp691.zip (это новое, тут по идее уже параметризованное должно быть, не смотрел)

Цитата(Maverick @ Aug 6 2008, 13:26) *
как это "переработали с использованием generate и констант в разрядности шин" на языке VHDL?
Вот секция generic:
Код
generic (
  USE_RAM_SYLE : STRING := "distributed"; -- Возможные значения: "distributed", "block"
  USE_REG_OUT : STRING := "yes"; -- Возможные значения: "yes", "no"
  ADDR_WIDTH : INTEGER := 4; -- Ширина адресной шины
  DATA_WIDTH : INTEGER := 8 -- Ширина шины данных
);
При вставке примитивов использовал generate.


--------------------
Дурак, занимающий высокий пост, подобен человеку на вершине горы - все ему кажется маленьким, а всем остальным кажется маленьким он сам. /Законы Мерфи/
Go to the top of the page
 
+Quote Post
Maverick
сообщение Aug 6 2008, 10:31
Сообщение #36


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(BSV @ Aug 6 2008, 13:17) *
Но в FIFO Вам двухпортовая ROM на кой ляд?


Я так понимаю, что двухпортовая ROM и является основным элементом, на основе(вокруг) которого все строится smile.gif


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Aug 6 2008, 10:34
Сообщение #37


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

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(Maverick @ Aug 6 2008, 14:31) *
Я так понимаю, что двухпортовая ROM и является основным элементом, на основе(вокруг) которого все строится smile.gif
ROM, RAM... Какая разница?..
С синтезом двухпортовой RAM всё нормально.
Go to the top of the page
 
+Quote Post
Nuts
сообщение Aug 12 2008, 17:05
Сообщение #38


Участник
*

Группа: Новичок
Сообщений: 28
Регистрация: 21-07-08
Пользователь №: 39 128



Здраствуйте.
Скажите пожалуста, в PLIS архитектуры CPLD ( Xilinx семейство XC9500).
Данная PLIS выполнена по технологии FLASH, имеет не менее 10 тыс. циклов запись/стирание, возникает вопрос: Переменные в исполняемом модуле записываются/перезаписываются много раз, получается если переменная изменится более 10 тыс раз то PLIS умрет (например если цикл 0..10001)? 05.gif
Go to the top of the page
 
+Quote Post
Boris_TS
сообщение Aug 12 2008, 19:08
Сообщение #39


Злополезный
****

Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188



Цитата(Nuts @ Aug 12 2008, 21:05) *
Скажите пожалуста, в PLIS архитектуры CPLD ( Xilinx семейство XC9500).
Данная PLIS выполнена по технологии FLASH, имеет не менее 10 тыс. циклов запись/стирание, возникает вопрос: Переменные в исполняемом модуле записываются/перезаписываются много раз, получается если переменная изменится более 10 тыс раз то PLIS умрет (например если цикл 0..10001)? 05.gif

Нет, конечно. Во Flash памяти хранятся не переменные а "прошивка" (конфигурационная последовательность, которая является "программой" ПЛИС). А переменные храняться в триггерах - т.е. в элементарных ячейках статической памяти. Т.е. XC9500 имеет 10 тыс циклов перепрограммирования (смены прошивки), а в процессе работы ПЛИС переменные могут менять свои значения сколь угодно много раз.

ПЛИС - это русская аббревиатура (Программируемая Логическая Интегральная Схема - правда, лет 20 незад были "Полузаказные Л.И.С." - но время идет, а аббревиатура не меняется).
ПЛИС не может быть выполнена по технологии FLASH, просто у CPLD есть nonvolatile memory, сделанная на базе Flash памяти.
А вот FPGA (за исключением Actal и Spartan-3AN) имеют только volatile memory (Static RAM) для прошики, в которую необходимо записывать "прошивку" из внешней пямяти, после подачи питания на ПЛИС.
Go to the top of the page
 
+Quote Post
Nuts
сообщение Aug 13 2008, 11:46
Сообщение #40


Участник
*

Группа: Новичок
Сообщений: 28
Регистрация: 21-07-08
Пользователь №: 39 128



Спасибо smile.gif
Go to the top of the page
 
+Quote Post
Nuts
сообщение Aug 13 2008, 16:47
Сообщение #41


Участник
*

Группа: Новичок
Сообщений: 28
Регистрация: 21-07-08
Пользователь №: 39 128



В EDK, для КID на Virtex4, собрал BSP, установил ОС XilKernel, написал простенькое приложение для отправки UDP пакетов. Дело в том, что после компиляции всего этого, вылазит сообщение о том что, Ethernet IP ядро требует лицензию. Все это загружается и работает, но скорость по Ethernet очень маленькая, 20 Кбит/с (ожидаемая не менее 400 Мбит/c, ну хотябы 100 набрать). Может скорость по Ethernet быть ограничена, всвязи с отсутствием лицензии на IP ядро? Может кто сталкивался с подобной ситуацией. 05.gif
Go to the top of the page
 
+Quote Post
dvladim
сообщение Aug 13 2008, 17:45
Сообщение #42


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Цитата(Boris_TS @ Aug 12 2008, 23:08) *
ПЛИС - это русская аббревиатура (Программируемая Логическая Интегральная Схема - правда, лет 20 незад были "Полузаказные Л.И.С." - но время идет, а аббревиатура не меняется).

Полузаказные обычно назывались БМК (Базовый матричный кристалл).
Go to the top of the page
 
+Quote Post
Timonnn
сообщение Aug 14 2008, 05:34
Сообщение #43





Группа: Новичок
Сообщений: 10
Регистрация: 22-04-08
Пользователь №: 36 987



Цитата(Nuts @ Aug 13 2008, 19:47) *
В EDK, для КID на Virtex4, собрал BSP, установил ОС XilKernel, написал простенькое приложение для отправки UDP пакетов. Дело в том, что после компиляции всего этого, вылазит сообщение о том что, Ethernet IP ядро требует лицензию. Все это загружается и работает, но скорость по Ethernet очень маленькая, 20 Кбит/с (ожидаемая не менее 400 Мбит/c, ну хотябы 100 набрать). Может скорость по Ethernet быть ограничена, всвязи с отсутствием лицензии на IP ядро? Может кто сталкивался с подобной ситуацией. 05.gif


подскажи подробнее, пожалуйста, как ты генерировал ядро для езернета - тоже интересует данный вопрос, только пишу езернет на Спартане-3Е

Спасибо.
Go to the top of the page
 
+Quote Post
Boris_TS
сообщение Aug 14 2008, 09:08
Сообщение #44


Злополезный
****

Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188



Цитата(dvladim @ Aug 13 2008, 21:45) *
Полузаказные обычно назывались БМК (Базовый матричный кристалл).

Да, есть и БМК, но это несколько другие изделия. Обратитесь к истории (проверьте по тому же Белорусскому Интегралу), в 80-х (т.е. лет 25-30 назад, а не 20 как я указал выше - ошибся: постарел лет на семь и даже не заметил как) были также и ПЛИС (в смысле полузаказных). До недавнего времени (а может и сейчас тоже, но в меньшей степени) среди ПЛИС были hardwire продукты - однократного программирования; вот полузаказнухи и "полузаказывались" на уровне логики, а в БМК (как я знаю) "полузаказывается" на уровне транзисторов, т.е. в БМК можно собирать как цифровые, так и аналоговые узлы, что позволяет делать на БМК очень интересные (эксклюзивные) устройства.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Aug 14 2008, 13:03
Сообщение #45


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Boris_TS @ Aug 14 2008, 13:08) *
в БМК можно собирать как цифровые, так и аналоговые узлы, что позволяет делать на БМК очень интересные (эксклюзивные) устройства.

можно-то можно... только жутко дорого. И цена ошибки очень высока...


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post

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

 


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


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