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

 
 
> Dual port ram Spartan
at90
сообщение Jul 1 2007, 12:52
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 866
Регистрация: 31-03-05
Из: Краснодар
Пользователь №: 3 814



Делаю контроллер TFT дисплея PD035VX3. Тайминг контроллер написал. Работает отлично.
Вот решил пока для теста использовать внутренню память плиски. плиска xc3s500e.
Сгенерил память двухпортовую.
ENTITY rambmax IS
port (
addra: IN std_logic_VECTOR(18 downto 0);
addrb: IN std_logic_VECTOR(18 downto 0);
clka: IN std_logic;
clkb: IN std_logic;
dina: IN std_logic_VECTOR(0 downto 0);
dinb: IN std_logic_VECTOR(0 downto 0);
douta: OUT std_logic_VECTOR(0 downto 0);
doutb: OUT std_logic_VECTOR(0 downto 0);
ena: IN std_logic;
enb: IN std_logic;
wea: IN std_logic;
web: IN std_logic);
END rambmax;

вот как её прикрутить ,что бы синхронно читать её и плевать данные в tft?

Данные вывожу в TFT так!
process (iCLK_TF)
begin
if rising_edge(iCLK_TF)then
if ycur<480 then
RGB<=iRGB;
end if;
end process;

Сильно не пинайте! Это мой первый проект на FPGA!


--------------------
<<Первая производная от чужой идеи - уже твоя идея.>>
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
at90
сообщение Jul 1 2007, 18:49
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 866
Регистрация: 31-03-05
Из: Краснодар
Пользователь №: 3 814



Спасибо! С памятью разобрался! Подскажите как можно её инициализировать какими нить значениями. Вроде можно подключить файл. Как это сделать?


--------------------
<<Первая производная от чужой идеи - уже твоя идея.>>
Go to the top of the page
 
+Quote Post
CodeWarrior1241
сообщение Jul 1 2007, 19:06
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 496
Регистрация: 14-03-07
Из: In The District
Пользователь №: 26 165



Цитата(at90 @ Jul 1 2007, 14:49) *
Спасибо! С памятью разобрался! Подскажите как можно её инициализировать какими нить значениями. Вроде можно подключить файл. Как это сделать?

Совершенно верно - как раз для этого есть .COE файлы. Примеры находятся в $XILINX/coregen/data - посмотрите на blkmem_v3_256x16.coe, это пример того что нужно. Откройте эту линк в Вашей OS - file:///F:/XilinxISE8/doc/usenglish/help/iseguide/mergedProjects/coregen/coregen.htm#html/cgn_b_overview.htm (у меня стоит в F:/XilinxISE8, введите диск и директорию которая соответствует Вашей конфигурации), там обясняют про .COE файлы.


--------------------
In Mozilla, you keep tabs on your browser. In the USSR, your browser keeps tabs on you.
Go to the top of the page
 
+Quote Post
AVR
сообщение Jul 7 2007, 20:52
Сообщение #4


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(CodeWarrior1241 @ Jul 1 2007, 23:06) *
Совершенно верно - как раз для этого есть .COE файлы.
А можно ли инициализировать ROM память файлами других форматов, таких как hex, mif, mem?..


--------------------
Go to the top of the page
 
+Quote Post
CodeWarrior1241
сообщение Jul 7 2007, 21:18
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 496
Регистрация: 14-03-07
Из: In The District
Пользователь №: 26 165



Цитата(AVR @ Jul 7 2007, 16:52) *
А можно ли инициализировать ROM память файлами других форматов, таких как hex, mif, mem?..
Разгавор шел не о ROM, а о SRAM (В данном примере dual-port) которая является instantiated из block RAM которое на самом кристалле (die) ПЛИСа. Блочную память конечно можно использовать как ROM убрав WE в CORE generator. Насколько я знаю, кроме .coe можно использовать .mem - но это глобальная файл для всего проекта которая инициализирует все структуры RAMB4 and RAMB16. Если Вы пользуетесь CORE generator, .coe удобнее, поскольку в ней Вы даете инициализацию только тех ресурсов которые используются конкретно тем ядром которым Вы пользуетесь. На off-chip ресурсы естессно .coe не распространяется.


--------------------
In Mozilla, you keep tabs on your browser. In the USSR, your browser keeps tabs on you.
Go to the top of the page
 
+Quote Post
AVR
сообщение Jul 7 2007, 21:42
Сообщение #6


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(CodeWarrior1241 @ Jul 8 2007, 01:18) *
Разгавор шел не о ROM, а о SRAM (В данном примере dual-port) которая является instantiated из block RAM которое на самом кристалле (die) ПЛИСа. Блочную память конечно можно использовать как ROM убрав WE в CORE generator. Насколько я знаю, кроме .coe можно использовать .mem - но это глобальная файл для всего проекта которая инициализирует все структуры RAMB4 and RAMB16. Если Вы пользуетесь CORE generator, .coe удобнее, поскольку в ней Вы даете инициализацию только тех ресурсов которые используются конкретно тем ядром которым Вы пользуетесь. На off-chip ресурсы естессно .coe не распространяется.
Спасибо за инфу.
Вот ещё вопрос если можно: создав rom и указав ему .coe я могу отдельно редактировать этот файл, т.е. нет необходимости загружать .coe после каждого изменения?
P.S.
В Altera Quartus всё гораздо удобнее: можно для каждого rom свой файл формата .hex или .mif указать, причем и удобный редактор имеется для обоих форматов...


--------------------
Go to the top of the page
 
+Quote Post
CodeWarrior1241
сообщение Jul 7 2007, 21:51
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 496
Регистрация: 14-03-07
Из: In The District
Пользователь №: 26 165



Цитата(AVR @ Jul 7 2007, 17:42) *
Спасибо за инфу.
P.S.
В Altera Quartus всё гораздо удобнее: можно для каждого rom свой файл формата .hex или .mif указать, причем и удобный редактор имеется для обоих форматов...
Вроде существует hex2coe utility для похожего для ISE... А расширение .mif ваще незнакомо.

Мы настолько крепко стоим на Xilinx что на altera flow вряд ли перейдем в ближайшее время, хотя было бы интересно посмотреть насколько там у них все удобнее в плане софта.



--------------------
In Mozilla, you keep tabs on your browser. In the USSR, your browser keeps tabs on you.
Go to the top of the page
 
+Quote Post
AVR
сообщение Jul 7 2007, 23:06
Сообщение #8


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(CodeWarrior1241 @ Jul 8 2007, 01:51) *
Мы настолько крепко стоим на Xilinx что на altera flow вряд ли перейдем в ближайшее время, хотя было бы интересно посмотреть насколько там у них все удобнее в плане софта.

Намного удобнее и интуитивно понятнее, симулятор удобнее, RTL viewer приятнее... А вот ISE жуть: добавил CoreGen'ом ROM, настроил, инициализировал с помощью .coe - Sythesize и Implement проходит успешно, а вот когда я пытаюсь запустить это на симуляторе - "ERROR:HDLParsers:3482 - Could not resolve instantiated unit rom in Verilog module work/test in any library"...
ADD: Разобрался: ISE не добавляло .v файл в список для симуляции smile.gif

Цитата
А расширение .mif ваще незнакомо.
Кстати, CoreGen в ISE его (.mif) создает из .coe и даёт ссылку на него в создаваемом экземпляре wink.gif Отсюда вопрос если можно: создав rom и указав ему .coe я могу отдельно редактировать этот файл, т.е. нет необходимости загружать .coe после каждого изменения?


--------------------
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 07:33
Рейтинг@Mail.ru


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