|
|
  |
Dual port ram Spartan |
|
|
|
Jul 1 2007, 18:18
|
Местный
  
Группа: Свой
Сообщений: 496
Регистрация: 14-03-07
Из: In The District
Пользователь №: 26 165

|
У вас нескольлко задач: 1. Надо создать (instantiate) Вашу blockRam. 2. Надо написать в неё Вашу data с portA. 3. Надо читать с неё data с portB. 4. И, транслировать data вычитаеммое из blockRam в то что Ваша TFT ожидает увидеть. С четвертым не могу помочь, я не совсем понял Ваш пример, но это и не важно, у Вас интерфайс с TFT уже работает. Instantiate blockRam через coregen duak-port block ram 6.3, оно Вам даст VHDL wrapper который Вы, собственно, и придали в Вашем посте. Если у Вас data принемает TFT display, получается что portB будет только read, а portA будет только write. Тогда Вам надо реализовать circular buffer с числом n позиций. Это показано в атачменте.
--------------------
In Mozilla, you keep tabs on your browser. In the USSR, your browser keeps tabs on you.
|
|
|
|
|
Jul 1 2007, 19:06
|
Местный
  
Группа: Свой
Сообщений: 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.
|
|
|
|
|
Jul 7 2007, 21:18
|
Местный
  
Группа: Свой
Сообщений: 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.
|
|
|
|
|
Jul 7 2007, 21:42
|

фанат 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 указать, причем и удобный редактор имеется для обоих форматов...
--------------------
|
|
|
|
|
Jul 7 2007, 21:51
|
Местный
  
Группа: Свой
Сообщений: 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.
|
|
|
|
|
Jul 7 2007, 23:06
|

фанат 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 файл в список для симуляции  Цитата А расширение .mif ваще незнакомо. Кстати, CoreGen в ISE его (.mif) создает из .coe и даёт ссылку на него в создаваемом экземпляре  Отсюда вопрос если можно: создав rom и указав ему .coe я могу отдельно редактировать этот файл, т.е. нет необходимости загружать .coe после каждого изменения?
--------------------
|
|
|
|
|
Jul 8 2007, 03:27
|
Местный
  
Группа: Свой
Сообщений: 496
Регистрация: 14-03-07
Из: In The District
Пользователь №: 26 165

|
Цитата(AVR @ Jul 7 2007, 19:06)  Отсюда вопрос если можно: создав rom и указав ему .coe я могу отдельно редактировать этот файл, т.е. нет необходимости загружать .coe после каждого изменения? Прочитал про .mif files... Не могу поверить что мог такое пропустить! Дествительно, при симуляции, не обязательно изменять .coe и потом делать regeneration, можно спокойно изменять .mif и все!!! В behavioral simulation это точно работает, проверил... Столько времени экономит, просто жуть.
--------------------
In Mozilla, you keep tabs on your browser. In the USSR, your browser keeps tabs on you.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|