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

kaps

Свой
  • Постов

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

  • Посещение

Репутация

0 Обычный

Информация о kaps

  • Звание
    Частый гость
    Частый гость
  • День рождения 04.09.1977

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array
  1. Мои 5 копеек. 1. Старый добрый ГОСТ 28147-89, или AES-128 2. Многопоточное многовходовое мультиплексирование (любая разрядность) Одно из основных применений ПЛИС: - криптография/криптоанализ - многопоточные среды передачи данных с мультиплексированием - анализирующие схемы медицинских сканнеров, томографов (Siemens вам в помощь, в полный рост) - космос (включая обсерватории) - прототипирование - и т.д. и т.п.
  2. Settings -> Compilation Process Settings -> Physical Synthesis Optimizations -> Optimize for Fitting -> Perform Logic to Memory Mapping http://www.altera.com/literature/hb/qts/qts_qii52007.pdf - страница 16-11. Хотя я может чего то и недлопонял.... Я на роль гуру не претендую! :) Посмотрите, плз, и если я не прав - разъясните. Сам еще учусь :) Я не спорю - может и не сработать... Но попробовать то стоит! :)
  3. В свойствах проекта выставьте галочку заменять логику памятью. Объясните подробнее - что вы понимаете под
  4. На тот момент, блин, как бы все вспомнить.... Короче, когда я рисовал схему, я ее пихал в "Symbol", т.е. создавал символ для схемы. Потом этому символу присваивал корпус, на тот момент у меня был PLCC88 (или что-то типа того). Потом в общей схеме я вставлял символ с плис и коннектил к нему обвязку. Далее запускал симулятор... Вот я уже точно не помню, как я заставлял OrCAD думать, что Символ с ПЛИС - это именно ПЛИС конкретного типа и корпуса. Ну не помню! :(
  5. Уберите все tristate из проекта, а именно: Они ставятся, когда выходы не open-drain... Найдите литературу по OrCAD 16. Возможно есть. В двух словах по памяти об OrCAD 7: 1. Рисовалась схема для ПЛИС - то, что данная схема принадлежит ПЛИС указывалось в свойствах схемы. 2. Рисовалась общая схема, в которой размещался корпус ПЛИС (выбирался из библиотеки) 3. Запускалась компиляция (при этом отдельно запускался компилятор ПЛИС, потом собиралась вся схема вместе) 4. Все. Можно симулить.
  6. Легко проверить - просимулируйте, если скомпилится :) PS: да, и не забудьте закомментить первую строчку ucf файла. Она информативная..... На всякий случай...
  7. Когда-то, во времена мамонтов, я еще использовал OrCAD v7.2 и там рисовал схемки и клеил к ним ПЛИС. Так вот, при симуляции, OrCAD сам подгружал компилятор Altera, получал описание скомпиленой схемы в EDIF файле и симулировал мне всю схему с ПЛИС. Не вижу причин, что через 12 лет все стало хуже.
  8. В Xilinx ISE есть симмулятор. Можно проверить как функциональное поведение проектируемой схемы так и близко к реальному (с задержками на каждом элементе). Все зависит от того, на каком этапе компиляции Вы остановились. Если Вы сделали Place&Route то будете симулировать близко к оригиналу. Если не дошли - функциональное тестирование. Вы сами ответили на свой вопрос. :) установите номера выходам мультиплексора в файле *.ucf и там же опишите их как open-drain. При компиляции, если мне память не изменяет, этот файл подхватится и constraints применятся. Возможно, его придется переименовать так же, как и имя проекта. Файл должен находиться в корне папки с проектом. Или проще, приатачте файл к проекту (правой кнопкой в ProjectManagere -> Add file). Вроде так. Все по памяти, возможно где-то неточность, но в принципе идея такая... :(
  9. Попробуйте открыть Verilog файл в квартусе, меню файл, create/update->Create VHDL component from current file. Может поможет...
  10. Тут я с Вами не спорю. Как таковых TRI-state буферов в LUT нет. Они виртуальны, т.е. компилятор синтезирует логику TRI в LUT. По моему...
  11. TRI есть в каждом LUTe, так что для развязки сигналов его и используют. В TRI не используются bidir сигналы, и вы можете с помощью арбитров соединить входы-выходы как Вам надо. пример от альтеры Описание TRI
  12. В VHDL можно так: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity array_sum is port ( --тут что то по портам ); end entity; architecture rtl of array_sum is subtype word_t is std_logic_vector(7 downto 0); type ara is array(255 downto 0) of word_t; --допустим 256 по 8 signal data : ara; --(array [256][8] of bits) signal sum : integer; begin process(clk) begin if(rising_edge(clk)) then for s in 0 to 255 loop sum<=sum+conv_integer(data(s)); end loop; end if; end process; q <= std_logic_vector(sum); end rtl; Как то так. Компилить не пробовал. Но логика должна работать. Поправьте, если ошибся.
  13. При чтении с bidir в симуляторе выставьте на него 'Z'. По симуляции получается, что Вы все время подаете на него 0 извне. А при чтении с него имеете конфликт и 'X'. Попробуйте. Я тоже не гуру и недавно решал эту проблему. (двунаправленная шина). Может поможет... (Правда на VHDL, но идея та же...)
  14. Тестбенч не скинете? Как Вы тестировали? Какие условия тестирования?
  15. А как Вы хотите сохранить период последовательности в районе 2 в 32 если выбираете всего 1001 значение?! Реальнее всего взять полученую 32 битную последовательность по мод 1001. Однако при этом теряете статистические свойства. Это неизбежно... Генератора ПСП на 1001 нет. Вы оперируете двоичными сигналами, и поэтому будете иметь на выходе только степени двойки. Хороший генератор ПСП на ПЛИС рекомендует Altera. Как то я его видел даже. Однако не могу сказать, что он открыт. Посмотрите стандарты ANSI X9.17 и X9.31. Вот еще нарыл: http://www.altera.com/literature/manual/stx_cookbook.pdf - глава 14.
×
×
  • Создать...