sallador
Свой-
Постов
51 -
Зарегистрирован
-
Посещение
Весь контент sallador
-
Самый простой, какой я когда-либо делал для Xilinx - как описал товарищ serjj Прилагаю код. Используется - 1 DDS из CoreGENERATOR. Обычный счетчик управляет частотой NCO. xdsp_trans_ph.vhd
-
Задам вопрос здесь, если позволите. Есть простой код на VHDL: signal data : std_logic_vector(WIDTH-1 downto 0); attribute use_dsp48 : string; attribute use_dsp48 of data : signal is "yes"; begin pr_cnt: process(rst, clk) begin if (rst = '1') then data <= (others => '0'); elsif rising_edge(clk) then if ena = '1' then data <= data + '1' after td; end if; end if; end process; cnt_out <= data; При разводке хотелось бы задествовать регистр PREG внутри DSP блока. Атрибут KEEP не помог, как бы я его не крутил (хотя он нужен как раз для выноса регистров вне DSP). Xilinx: XST by default tries to infer and implement the maximum macro configuration, including as many registers as possible in the DSP48 Реально ли для счетчика задействовать PREG?
-
Не для синтеза ведь? use ieee.std_logic_arith.all; ... signal char_signal: character; signal std_signal: std_logic_vector(7 downto 0); ... std_signal <= conv_std_logic_vector(character'pos(char_signal),8);
-
Год назад тоже были на этих курсах. Поддерживаю. Пересаживаться с SystemGenerator на HLS как-то лениво. И в отсутствие хороших жизненных примеров, а не искуственных типа простейшего FIR и записи/чтения - не очень хочется.
-
Конкретно на этих курсах не были, но год назад я и коллеги ездили на курсы по Vivado и Vivado HLS к ним. Читал Тарасов. Все понятно и ясно. Как писали выше - в нагрузку каждому дали мануал в виде огромной распечатки + в электронном виде материалы. Полезно или нет - судить каждому для себя. Если постоянно используете полученные навыки в работе - думаю, полезно. Лично мое мнение - цена за курсы высока. За свои кровные я бы не поехал, т.к. у Xilinx очень хорошие материалы лежат в открытом доступе и текстом, и видео. На том же youtube полно подробных роликов.
-
То есть на остальные слои можно смело забить в связи отсутствия необходимости в них? Ну да, это логично. Спасибо, попробую так. За 3D модель отдельное спасибо!
-
Разрисовка разъема для батареек
sallador опубликовал тема в Altium Designer, DXP, Protel
Добрый день, коллеги! Появилась задача в любительских целях нарисовать следующий держатель для батареек в альтиуме: KEYS1048. Установить планирую на плату с не более, чем 4 слоя. ПДФ-ка: http://files.eleka.info/content/pdf/K/KEYS1048.pdf УГО схемы я нарисую обычным квадратиком с двумя + и -. Теперь вопрос. Правильно ли я понимаю, что для отрисовки PCB компонента мне нужен "Mounting Pad Layout" и все? И если это так, то какие слои грамотно использовать для отрисовки? Спасибо! -
Питание ПЛИС
sallador ответил verali тема в Работаем с ПЛИС, области применения, выбор
2 verali Вывод POK (power good) на практике зачастую резистором подтягивают к питанию, например 3.3В (которое у вас входное). Если вдруг просядет или от помехи уровень изменится (пусть и кратковременно) - пропадет питание с ПЛИС, что не есть хорошо. -
Астрологи объявили месяц курсовых/дипломных работ? Не понимаю, зачем создавать отдельную тему (это отнимает намного больше вашего и нашего времени), если можно вбить в тот же гугл "xilinx complex multiplier"? Если вы научились создавать ядро БПФ от Xilinx, то в том же COREGenerator есть Complex Mult.
-
Питание ПЛИС
sallador ответил verali тема в Работаем с ПЛИС, области применения, выбор
Зачем тогда тот же Xilinx так упорно пишет про Power Sequence для всех своих последних серий ПЛИС? и Большая часть Answer Records на их сайте в разделе про питалово связана именно с неправильной последовательностью включения. -
Опередили, но добавлю. Если зарегистрироваться, то можно получить доступ к лабораторкам для FPGA и SOC, которые они предлагают. А также получать интересные рассылки по новым материалам от этих ребят. :)
-
Кстати, на хабре опубликовали интересную статью, в которой описывается не менее интересная книга - Учебник Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера». Полностью на русском языке, скачать можно там же. Прочитал на одном дыхании и всегда думал - "Эх, жаль, что у меня такой не было лет 10 назад". Для большей части новичков и студентов - идеальный вариант. Простым языком описывается все от транзисторов и логических элементов до созадния своих архитектур и законченных систем например, на С++ или SV. В будущем семестре даже планирую всем своим студентам рекомендовать её к прочтению. :)
-
Конечно. В институтах дают лишь часть знаний, которых явно не хватит, чтобы по выпуску называть себя "инженером". Многое приходится учить самому, сидеть ночами, разбираться, спрашивать у старших товарищей и т.д. - на это не все готовы. После окончания обучения многие считают, что все - учеба закончилась, больше нового знать ничего не нужно. Но самое главное - ВУЗ должен учить "учиться" и грамотно применять накопленные знания. Звучит немного пафосно, но на практике так и получается.
-
По большей части такие вопросы задают студенты. Принцип "как можно быстрее найти ответ". А как это сделать? - конечно же спросить, тут вон сколько грамотных инженеров сидит. Искать по форуму - это непросто и лень. Оффтоп: По поводу учат или нет: учат конечно же. Стоит учитывать, что многим просто не под силу освоить огромный пласт материала. а делать что-то дома - опять же лень. Говорю по собственному опыту преподавания курса по ПЛИС. Из года в год студенты хуже, не хотят сами разбираться и учиться. Например, у нас на занятиях есть доступ в интернет. На вводных лабах дается возможность познакомиться со средой, синтезировать первый триггер и помигать лампочкой. Поражает то, что можно без проблем вбить в гугл "FD VHDL example" или "Led spartan3e starter-kit" и простым копи-пастом сдать вводную лабораторку (благо, она из референс дизайнов от xilinx). Но даже этого никто не хочет делать, увы.
-
to aBoomest Как правильно сказали выше - используйте полученные "тактовые сигналы" на 40 кГц и 1 кГц как сигналы "разрешения тактирования" частоты 50 МГц. В триггере это порт CE (clock enable). В итоге получите работоспособную схему на 50МГц, но защелкивание будет происходить с нужным периодом. Для VHDL один из примеров: pr_fd: process(clk, reset) is begin if reset = '0' then q <= x"00"; elsif rising_edge(clk) then if ce = '1' then -- это и есть строб разрешения q <= d; else null; end if; end if; end process; Второй пример - это взять FDE триггер из библиотеки UNISIM. Там есть вход разрешения CE. p.s. заметил, что старожилы любят издеваться, хоть и дают ответы начинающим. вспомните себя, сами тоже когда-то такими были :)
-
В дополнение к serjj Да, без юзергайдов никуда. Натоятельно рекомендую читать мануал. Сам перемножитель сейчас - сложная штука. А писать программы на VHDL в стиле D = A+B*C - конечно можно, но в какие ресурсы это выльется - не всегда ясно и понятно, особенно если проект разросся до огромных размеров. Помимо умножения, в том же DSP48E1 у Xilinx еще можно реализовать суммирование, сравнение, перенос, свдиг, предварительное суммирование и т.д. и т.п. Параллельно чтению UG на перемножители, подумайте над простейшей реализацией того же КИХ-фильтра эдак на 16 отводов. Причем можно реализовать тремя способами и сравнить: 1) Напрямую записать в VHDL через цикл loop или generate; 2) С помощью ip ядер умножения и суммирования; 3) C помощью CORE Generator у Xilinx взять и сразу сделать готовый КИХ на нужное число отводов с нужным числом коэффициентов. По мере увеличения объема знаний - увеличивайте и сложность проекта. К примеру, попытайтесь задействовать предварительные сумматоры в блоке DSP48E1 для реализации КИХ с симметричной характеристикой, сделайте возможность загрузки коэффициентов в блоки DSP и т.д. Может показаться, что это изобретение очередного велосипеда, но для постижения ЦОС - лучше через все это пройти самому. В заключение хотел бы сказать, что многие сейчас смотрят в сторону реализации алгоритмов ЦОС на С++. Конкретно для Xilinx это Vivado HLS, где можно выбирать компромисс между ресурсами и производительностью. Благодаря набору настроек и прагм - можно довольно-таки быстро получить различные решения, сравнить их между собой и выбрать приемлимое в рамках конкретной задачи.
-
Попробуйте в Design setting -> Simulations -> Additional options Вбить: glbl -relax Забыл об этом уточнении в предыдущей теме =)
-
Aldec 9.3 тормоза
sallador ответил svalery тема в Среды разработки - обсуждаем САПРы
Можно попробовать так: 1) COREGenerator -> Project -> Options -> Generation -> Design Entity: Verilog Preferred Simulation Model: Structural 2) Поставить Verilog libraries для Aldec любым удобным для вас способом (сгенерить, скачать, установить...) 3) Если верилог не подцепит во время моделирования, то в Aldec сделать следующие шаги: Design -> Settings -> Simulation -> Verilog -> Добавить в "Verilog lib... (-PL):" то, что касается verilog (с суффиксом _ver). -
А в проверяемом компоненте "top" вы изменили тип на std_logic_vector, для которого тестбенч написан? Ругается на несовместимость типов в port map. В вашем случае std_logic и std_logic_vector.
-
Aldec 9.3 тормоза
sallador ответил svalery тема в Среды разработки - обсуждаем САПРы
Лицензия стояла от 9.1, которая не проходила. Заменил/добавил следующие DLL: project.dll rmcl.dll rmcldiag.dll scripter.dll VSIMSA.dll В частности, для waveform viewer заменил: tbpviewer.exe tcviewer.exe -
1. Даташит на analog.com На стр. 5, 13-18 описана времянка для программирования регистров микросхемы по SPI. 2. На opencores пример SPI-интерфейса. Из этого набора контроллер управления описываете самостоятельно.
-
Aldec 9.3 тормоза
sallador ответил svalery тема в Среды разработки - обсуждаем САПРы
1. Решил свою же проблему. Причина - неправильно настроенная лицензия и отсутствие некоторых файлов в директории /BIN. Кроме того, исчезли все тормоза, которые возникали во время работы с вейвформами. >> Невозможно нормально остановить или перезапустить симуляцию. Алдек просто вылетает с ошибкой. 2. Обнаружил "плюс" Aldec 9.3. Вернули нормально отображение данных в диаграммах в форме "decimal (signed/unsigned)". В версии 8.3 такое было, а в 9.1 почему-то убрали, заменив числа знаком ?. -
Aldec 9.3 тормоза
sallador ответил svalery тема в Среды разработки - обсуждаем САПРы
Спасибо! Теперь можно забыть о 9.3. -
Aldec 9.3 тормоза
sallador ответил svalery тема в Среды разработки - обсуждаем САПРы
Я так понимаю, Вы пользуетесь Accelerated Waveform Viewer? Для Standard Wavefrom Viewer все настройки остаются неизменными после остановки симуляции. Когда-то тоже использовал *do-скрипты. Но тратил на это много времени - отказался. Видимо, для 9.3 придется вернуться к этому. P.S. переход на 9.3 лично у меня обусловлен поддержкой библиотек Xilinx ISE 14.7. -
Aldec 9.3 тормоза
sallador ответил svalery тема в Среды разработки - обсуждаем САПРы
По поводу колесика - масштабируется нормально. Даже при большом количестве сигналов + часть из них в analog-форме выведена. Другая беда - в 9.3 убрали зум по +/-. Привык в 9.1 через + и - ходить по диаграммам. И, кстати, в 9.3 возникает следующая проблема: Невозможно нормально остановить или перезапустить симуляцию. Алдек просто вылетает с ошибкой. Сигнатура проблемы: Имя события проблемы: APPCRASH Имя приложения: avhdl.exe Версия приложения: 9.3.0.1 Отметка времени приложения: 524a9fc3 Имя модуля с ошибкой: vsim.dll Версия модуля с ошибкой: 9.3.0.0 Отметка времени модуля с ошибкой: 52e18de1 Код исключения: c0000005 Смещение исключения: 000618f5 Версия ОС: 6.1.7600.2.0.0.256.1 Код языка: 1049 Это происходит у меня на двух разных машинах. На каждой стоит Win7 x86, x64. Помимо Aldec 9.3 также установлен Aldec 9.1 (и в нем проблем нет!!). Как бороться с этим?