Jump to content
    

Про различие можно, например в даташите на используемую микросхему почитать - распределенная память строится на LUT'ах (1 LUT - однопортовая ячейка 16х1, на двух LUT можно сделать двухпортовую ячейку 16х1 или однопортовую 32х1) блочная память - это специально выделенный блок ПЛИС различного максимального объема (в зависимости от типа ПЛИС) с конфигурируемыми портами (их 2 независимых - каждый можно использовать и на чтение и на запись). Более подробно про взаимодействие с различной памятью читайте в Libraries Guide, ключевые слова RAMB, RAM. Также полезно ознакомиться с Language Templates -> VHDL -> Synthesis Templates -> Coding Examples -> RAM.

Share this post


Link to post
Share on other sites

при создании тестбенча хочу, чтобы данные , которые я задаю в паттерн визарде изменялись синхронно с Clk, а не в произвольные моменты времени, куда клацнешь мышкой....как можно так сделать?

Share this post


Link to post
Share on other sites

скажите, что не совсем корректно, если при синтезе появляется предупреждение:

Warning XST 737: Found 1-Bit Latch for signal <A>

Found 1-Bit Register for signal <B>

Found 64-Bit Register for signal <C>

...

?

Share this post


Link to post
Share on other sites

Не все варианты значений сигналов перечислены в конструкции if или case (процессе без тактирования). Хотя тут не так давно утверждалось, что внедрение латчей (фиктивных) может уменьшить задержки. Что-ж, проверим, хотя сомнительно.

Share this post


Link to post
Share on other sites

спасибо, BSV. еще такой вопрос: в каких случаях обязательно указывать в списке чувствительности

все сигналы в процессе, а в каких необязательно?

 

 

 

у меня еще при синтезе проекта вышло переиспользование number of bonded IOBs-133%. Чем это

скорее всего может быть вызвано и какие есть пути решения проблемы?

Share this post


Link to post
Share on other sites

В списке чувствительности обязательно указывать - все сигналы для асинхронных процессов и для синхронных - только тактирующий и асинхронный сброс (если есть).

Такое может означать, что Вы использовали больше контактов, чем есть в выбранной Вами микросхеме. Если проект собирается "на попробовать", то просто возьмите корпус с большим количеством контактов. Если есть реальное железо (плата), под которое все делается, то я вообще не понимаю, как такое возможно.

Share this post


Link to post
Share on other sites

BSV

Возможно, возможно. Сам в своё время постанул здесь подобный вопрос :)

Синтезатор, сцуко, думает, что все сигналы ввода-вывода и есть ножки чипа непосредственно. А мы пишем просто компонент, который только встраивается в систему.

Share this post


Link to post
Share on other sites

А мы пишем просто компонент, который только встраивается в систему.
Это я и имел ввиду под "на попробовать". Понятно, что внутренних сигналов может быть очень много - не в каждом корпусе есть столько.

Share this post


Link to post
Share on other sites

решил разобрать для примера проект Blowfish in VHDL, но не встречался с такой организацией проекта.

в проекте есть отдельная папка common (библиотека), которую XST найти не может + остальные ошибки из-за этого. Файлы добавлял все в качестве Sources.

Что нужно , чтобы библиотека это использовалась

blowfishvhdl_2.0.rar

Share this post


Link to post
Share on other sites

в проекте есть отдельная папка common (библиотека), которую XST найти не может + остальные ошибки из-за этого. Файлы добавлял все в качестве Sources.

Что нужно , чтобы библиотека это использовалась

Вам поможет справка ISE. Раздел называется "Working with VHDL Libraries".

Share this post


Link to post
Share on other sites

Вот здесь лежат исходники для ГОСТ 28147-89 для режима простой замены

http://www.sendspace.com/file/haeds8

 

Извините, а можно их еще раз перевыложить - файл уже не существует.

А то захотелось со своими потугами сравнить...

Share this post


Link to post
Share on other sites

раньше я записывал данные блока подстановки ключей в таблице в файле-исходнике.

сейчас хочу реализовать ее на памяти, но вот в чем вопрос.

раньше все операции по обработке блока данных вплоть до суммирования по модулю

2 в сумматоре СМ2 выполнялись в одном такте, а если использовать память, то для

текущего такта получается в работе будет участвовать выход блока подстановки для

предыдущего такта, так как использется синхронное считывание по Clk.

 

Есть ли способ не изменять прежнюю архитектуру, не увеличивать время на один период?

Share this post


Link to post
Share on other sites

Использовать не блочную а распределенную память, из которой возможно асинхронное чтение. Это выход.

Share this post


Link to post
Share on other sites

столкнулся с такой проблемой. помогите решить,пожалуйста.

реализовал режим гаммирования. на этапе Behavioral Simulation

все работает по тестбенчу четко. Но на этапе Post-translate

все красное. Начал каждый компонент и вложенный модуль тестить вплоть до

Post-Place and Route, в итоге, все работает вплоть до вложенного модуля простой замены

включительно на Post-Place and Route.

Когда целиком тестирую в режиме гаммирования - на работает.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...