|
Spartan6/Coregen/ BRAM memory, CoreGen выдает ошибку (version 13.1) |
|
|
|
Jul 14 2011, 03:24
|

Знающий
   
Группа: Свой
Сообщений: 618
Регистрация: 7-06-08
Из: USSR
Пользователь №: 38 121

|
Нужно сгенерить такую память: ширина данных 1024 бита, глубина 2048 элементов (Для обоих портов А и В). Тип: True Dual Port Ram, с возможностью побайтовой записи в каждый адрес (8 бит). Во время настройки блока памяти, в коргене соблюдаю лимиты указанные в интерфейсе, и тем не менее после того как нажал кнопку сгенерить память он выдает: ERROR:sim - Process will terminate. For technical support on this issue, please open a WebCase with this project attached at http://www.xilinx.com/support. ERROR:sim - Failed executing Tcl generator.Непонятно это баг, или данная память не допустима.. думаю стоит может вручную слепить из примитивов.
--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 14)
|
Jul 14 2011, 07:53
|
Знающий
   
Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741

|
Цитата(BlackOps @ Jul 14 2011, 06:24)  Нужно сгенерить такую память: ширина данных 1024 бита, глубина 2048 элементов (Для обоих портов А и В). Тип: True Dual Port Ram, с возможностью побайтовой записи в каждый адрес (8 бит). Во время настройки блока памяти, в коргене соблюдаю лимиты указанные в интерфейсе, и тем не менее после того как нажал кнопку сгенерить память он выдает: ERROR:sim - Process will terminate. For technical support on this issue, please open a WebCase with this project attached at http://www.xilinx.com/support. ERROR:sim - Failed executing Tcl generator.Непонятно это баг, или данная память не допустима.. думаю стоит может вручную слепить из примитивов. 128 блоков памяти объединить в один? Не слабо. А чем ddr внешний плох?
|
|
|
|
|
Jul 15 2011, 02:19
|

Знающий
   
Группа: Свой
Сообщений: 618
Регистрация: 7-06-08
Из: USSR
Пользователь №: 38 121

|
Цитата(dmitry-tomsk @ Jul 14 2011, 12:53)  128 блоков памяти объединить в один? Не слабо. А чем ddr внешний плох? Тем что архитектура его не подходит приложению. des00: Я посмотрел тот пример DSP где Вы помогли справится с аналогичной задачей, старался ему проследовать но не получается. Вот что имею: 1. вам нужно добраться до компонента XilinxCoreLib.mult_gen_v11_2(behavioral) и посмотреть что именно оно вставляет.В моем случае это XilinxCoreLib.blk_mem_gen_v6_1(behavioral), добрался я до него, файлы лежат в папке C:\Xilinx\13.1\ISE_DS\ISE\vhdl\src, а именно следующие .VHD файлы: BLK_MEM_GEN_V6_1 - файл описания модели для симуляции BLK_MEM_GEN_V6_1_comp - описание компонента BLK_MEM_GEN_V6_1_xst - враппер для модели BLK_MEM_GEN_V6_1_xst_comp - враппер для компонента модели2. Я также посмотрел описание данного типа памяти и ВСЕХ его параметров, все настроил как мне надо. Но при реализации проекта выдается следующая ошибка: Код ERROR:NgdBuild:604 - logical block 'system_memory' with type 'sysmem' could not be resolved. A pin name misspelling can cause this, a missing edif or ngc file, case mismatch between the block name and the edif or ngc file name, or the misspelling of a type name. Symbol 'sysmem' is not supported in target 'spartan6'. Как видите для того чтобы реализовать проект всеравно требуется ngc файл.. или это все надо делать как то по другому? Дело в том что сам элемент blk_mem_gen_v6_1 это модель для симуляции и все. Единстненное что увидел в файле BLK_MEM_GEN_V6_1_comp в конце вот это: Код -- The following tells XST that blk_mem_gen_v6_1 is a black box which -- should be generated command given by the value of this attribute -- Note the fully qualified SIM (JAVA class) name that forms the -- basis of the core
-- xcc exclude ATTRIBUTE box_type : STRING; ATTRIBUTE generator_default : STRING; ATTRIBUTE box_type OF blk_mem_gen_v6_1 : COMPONENT IS "black_box"; ATTRIBUTE generator_default OF blk_mem_gen_v6_1 : COMPONENT IS "generatecore com.xilinx.ip.blk_mem_gen_v6_1.blk_mem_gen_v6_1"; -- xcc include Может это надо как то использовать... что скажите?
--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
|
|
|
|
|
Jul 19 2011, 01:43
|

Знающий
   
Группа: Свой
Сообщений: 618
Регистрация: 7-06-08
Из: USSR
Пользователь №: 38 121

|
Цитата(des00 @ Jul 15 2011, 10:06)  с чего не будет то ? обертка вставляет технологические примитивы + логику, ISE разучился их вставлять ? Ну вобщем в описании библиотек Спартан6 есть элементы так называемые макросы, и приводится пример как их в коде инстанциировать. Так и сделал все сработало. Единственное что в мануале говоритсся что надо вставлять библиотеку: library unisim; use unisim.vcomponents.all;но это видимо опечатка, т.к. ISIM не компилирует и не понимает эти макросы. А вставлять надо вот это: Library UNIMACRO; use UNIMACRO.vcomponents.all;
--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
|
|
|
|
|
Jul 19 2011, 17:07
|
Знающий
   
Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650

|
Цитата(des00 @ Jul 14 2011, 11:09)  Прокатывает только для примитивов нижнего уровня (типа DSP блока). В случае более высокоуровнего элемента (генератора блочной памяти) нужно генерить *.NGC. Без *.ngc - только синтез (ему вообще ничего не надо, ибо там ссылка на black box) и симуляция. Для имплементации - надо NGC. Здесь Вам не Альтера  ) Ну либо собирать руками из примитивов для памяти самого нижнего уровня. Самый эффективный и трудоёмкий путь.Но без труда, как известно не вытащишь рыбку из пруда.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|