Перейти к содержанию
    

Nick Kovalyov

Участник
  • Постов

    39
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Nick Kovalyov

  • Звание
    Участник
    Участник

Посетители профиля

581 просмотр профиля
  1. Как сделать subj? Буду очень благодарен за помощь (ес-но с настраиваемым параметром числа вентилей).
  2. Допустим, не обязательно в ПЛИС, имеется комбинационная схема, реализующая, например, некоторую булеву функцию. Необходимо в некоторые моменты (когда она ненужна) максимально снизить ее энергопотребление, "отключить" (не снимая питания ес-но). Пусть с помощью спецсигнала нужно управлять "включением" ее в работу. Что необходимо подать на ее входы для минимизации энергопотребления? Что даст (теоретически) установка на каждом ее входе элемента с 3-стабильным состянием, который в нужные моменты не будет пропускать входные сигналы?
  3. Сам до недавнего времни работал в Quartus. Пишу на VHDL. Тем не менее, часто использовал VHDL-описания блоков, сгенерированные Megawizard-ом. При этом я дорабатывал такие описания так, чтобы я мого их использовать в своем проекте с произвольной разрядностью. Например, для аккумулятора фрагмент его исходного описания от Megawizard-а было такми: ............................................. LIBRARY altera_mf; USE altera_mf.all; ENTITY acc IS PORT ( aclr : IN STD_LOGIC := '0'; add_sub : IN STD_LOGIC := '1'; clock : IN STD_LOGIC := '0'; data : IN STD_LOGIC_VECTOR (7 DOWNTO 0); result : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) ); END acc; .................................................. Я дорабатываю так: LIBRARY altera_mf; USE altera_mf.all; ENTITY acc IS GENERIC (n: natural); PORT ( aclr : IN STD_LOGIC := '0'; add_sub : IN STD_LOGIC := '1'; clock : IN STD_LOGIC := '0'; data : IN STD_LOGIC_VECTOR (n-1 DOWNTO 0); result : OUT STD_LOGIC_VECTOR (n-1 DOWNTO 0) ); END acc; И в проекте спокойно вызываю как: acc_x_inst : acc generic map (n=>8) PORT MAP ( В среде Xilinx ISE аналогично я использую IP Coregen для аккумулятора. Я игнорирую то, что он в настройках дает только фиксированную разрядность, а в сгенерированном им VHDL-описании пытаюсь аналогично скорректировать его для произвольной разрядности через generic. Но если установить такой аккумулятор в проекте с разрядностью, отличной от той, что я задал в настройках IP Coregen, то компилятор сообщает мне об ошибке. Конечно, я могу написать свой аккумулятор с соответсвующим generic, но такой варинат меня сейчас не устраивает. В общем, как правильно это делать в Xilinx ISE? Или из какой библиотеки (аналогично altera_mf) можно вытягивать описание компонент с возможностью конкретизировать разрадность и другие параметры через generic? Или только писать свои реализации блоков?
  4. Напимер, в проекте выделяем логические (функциональные блоки, регионы внутри ПЛИС). Дальше назначаем возможность включения или отключения их в процессе работы, изменяя энергопотребление на ходу. Есть ли подобное у Altera или Xilinx?
  5. Когда-то тут проходила дискуссия о реконфигурации. Я хотел бы перевести разговор в конкретную практическую плоскость относительно Altera FPGA. Допустим, необходимо изменить только небольшую часть проекта "на лету" без цикла новой полной конфигурации (добавление или отключение некоторых логических блоков). Существуют ли аппаратные предпосылки для этого внутри ПЛИС. При этом высвободившиеся аппаратные ресурсы отдать под другие логические блоки. По ссылке www.netrino.com/Articles/RCPrimer/index.php такими способностями обладают семейства Atmel 40K и Xilinx 62xx. Что есть у Altera?
  6. Извините за чайниковский вопрос. Сам работаю в Quartus только под Windows. Опыта работы в Linux вообще не имею. У моего руководителя по аспирантуре возникла необходимость поставить Quartus под Linux. Нужно ли выкачивать отдельную инсталляцию Quartus или она общая для всех поддерживаемых ОС (т. е. определение платформы при старте инстала и соответствующая установка из одного дистрибутива)? Таблетку тоже свою доставать надо или она общая что для Win, что для Linux?
  7. Раньше работали со старыми ПЛИС - Apex, Acex etc. Сейчас перешли на Cyclone. Но раньше для конфы использовали ППЗУ EPC2 и BB_MV. То есть ес-но Sof-файл использовали для непосредственной конфы ПЛИС, а Pof -для прошивки ППЗУ и т.д. Сейчас используем EPCS1 и кабель BB2. Но насколько я понял в Active Mode of programming сначала прошивается EPCS1, а затем под управлением ПЛИС она конфигурирует эту ПЛИС. Какой тогда файл нужно использовать для программирования - sof или pof?
  8. С какими МС памяти по программированию она совместима?
  9. Есть в проекте память, содержимое которой находится в mif-файле. Запускаю функциональное моделирование из ModelSim. Читал в доках, что нужно перевести файл mif в файл rif. Сделал, соответсвенно в VHDL-исходнике памяти указал файл с расширением rif. Все равно при старте моделирования имеем фатальную ошибку. Вообще как "подружить" Modelsim и Quartus в плане содержимого памяти?
  10. Пишу на VHDL. Как в ModelSim добавить на времянку внутренние сигналы, если моделирование ведется по testbench. При этом вариант с выводом этих сигналов в Port(.....) и присвоение новым сигналам интересующих меня внутренних не прелагать - очень неудобно. Вот в Aldec все удобно было. Можно было всегда открыть иерархию проекта и добавить нужный сигнал на времянку.
  11. Очень часто даже относительно нересурсоемкие проекты долго-долго погружаются, а потом следует ругань, что недостаточно трассировочных ресурсов или т.п. При этом в MaxPlusII все без проблем. Короче "не любит" Quartus старые семейства ПЛИС.
  12. Работаю в связке Quartus II 5.0 и ModelSim 6.0c. Имею ожидаемые результаты временного моделирования при обычных внешних выводах проекта. Теперь делаю все пины, кроме CLK, виртуальными. Получаем ожидаемую диаграмму при функциональном моделировании, но при временном моделировании местами имеем нестабильные состояния, и ес-но все поплыло-поехало. При этом в ModelSim выдает кучу пердупреждений на разных временых засечках, где и появляются эти неопределенности: Warning: LCELL_FF SETUP HIGH/LOW VIOLATION ON ENA WITH RESPECT TO CLK Что бы это значило?
  13. Quartus II 5.0. Успешно назначил нужные пины как виртуальные. CLK задаю как Virtual PIN Clock в Assignment Editor. Вроде не ругается при задании. Но на этапе синтеза пишет, чтоя не назначил Virtual PIN Clock и ставит обычный внешний пин. Что за шутки?
  14. Слышал, что, если не хватает ног в данной ПЛИС для отладки промежуточного этапа проекта (то есть много внутренних сигналов между блоками, хотя внешних немного), то в Quartus II можно сделать синтез и моделирование схемы "как бы" с виртуальными пинами, указав, какие из них оставить внешними I/OB, а какие проимитировать логическими ячейками.
×
×
  • Создать...