-
Постов
2 052 -
Зарегистрирован
-
Посещение
Весь контент Krys
-
Доку то на цап читали? Там поди есть ответы ))) Вы нарисуйте период синуса на бумажке. Увидите там 4 повторяющиеся части ))) Но правильнее увидеть сначала 2 крупные повторяющиеся части (полупериоды), а в каждой из частей ещё 2 мелкие повторяющиеся части (четверти). Закономерности: 1. Полупериоды просто имеют противоположный знак. За полупериоды отвечает старший бит аргумента (поскольку это самые крупные повторяющиеся части). 2. Четвертинки имеют обратную зависимость от аргумента: т.е. если аргумент таблицы в первой четвертинке меняется от 0 до 1023, то во второй четвертинке он должен меняться от 1023 до 0. За четвертинки отвечает следующий от старшего бит аргумента.
-
Тем более, что это всё в теории описано в том документе от Xilinx, ссылку на который я давал в начале
-
А ПЛИС какая, что ресурсов на таблицу не хватит? Бывает ещё на блочной памяти делают таблицу, а не на LUT.
-
Не согласен. "Идею" нужно придумать самому. Наука - не обязательно сделать открытие. И слово Research тоже к науке относится: нужно исследовать неисследованное. Т.е. вывести формулу зависимости, описать её и т.д. Так что я бы не стал говорить, что инженерия = Research. Под Research всё же подразумевается наука. И я не стал бы выдавать инженерию за науку, ссылаясь на то, что в радиоэлектронике вообще нет науки. В электронике можно найти и инженерию, и науку.
-
А какой ЦАП? Надо на него доку читануть, из неё станет понятно. Чото теперь уже я не понял: у Вас весь синус 12 битов аргумент имеет? Тогда таблица на 10 битов аргумента так и остаётся. Это четверть периода. А старшие 2 бита, как написали, указывают, как эту четверть развернуть, чтобы получить результат в нужном квадранте.
-
Добавление даты в проект
Krys ответил Kluwer тема в Среды разработки - обсуждаем САПРы
Да, тоже припоминаю, что для Xilinx ISE требовалось очищать проект, иначе всё старое бралось ))) -
Ну это всё же инженерия, а не "Н". Если Эйнштейн (условно) придумал формулу, а я её запрограммировал, это же не значит, что открытие сделал я. Открытие сделал Эйнштейн. Я лишь это открытие реализовал.
-
Вобщем, здесь тоже разбито на 2 стадии. Вся таблица содержит 1024 ячейки, она логически разбита на 32 подтаблицы по 32 ячейки. Значение из подтаблицы выбирается на первом такте. А сама подтаблица выбирается на 2м такте. Разбивка на 5 битов адресации очень удобна: дело в том, что в Xilinx LUTы могут иметь 2 выхода и 5 входов, если входы одинаковые (что и есть в нашем случае). Таким образом хорошо экономятся ресурсы. Ну вкратце так. Если что неясно описал - спрашивайте, какое конкретно место непонятно в объяснениях.
-
А в чём же здесь буква "Н" кроется, если, как Вы говорите, "всё уже украдено до нас"? )))
-
Добавлю: теория есть на стр. 28 вот тут: http://www.xilinx.com/support/documentatio...uides/ug389.pdf А как решили проблему? А LFSR не устраивает по степени "случайности"?
-
У меня тоже ламерский вопрос: посоветуйте, пожалуйста, где простым языком написано про этот генератор и как сделать умножение переполнением.
-
Память на плис
Krys ответил Anton1990 тема в Работаем с ПЛИС, области применения, выбор
Да тут не в языке особо дело, а в синтезаторе. На верилоге тоже подобные вещи в 2 оператора записывать принято, так же, как и в VHDL. -
Неправильно выразился: нет вариантов юзать Vivado, только сторонний синтезатор. Лично у меня к продуктам Ментора предубеждение, что они юзер не френдли.
-
А когда хочется работать на System Verilog с плисками типа Spartan 6, которые не поддерживаются в Vivado, то и альтернатив то особых нет, кроме сабжа...
-
Память на плис
Krys ответил Anton1990 тема в Работаем с ПЛИС, области применения, выбор
на двухпортовой памяти с независимыми клоками -
Добавление даты в проект
Krys ответил Kluwer тема в Среды разработки - обсуждаем САПРы
В исе такого нет, есть в Vivado. Мы для ИСЕ делали tcl-скрипт, в котором проделывались все нужные действия по подготовке даты, и затем скрипт сам запускал синтез (можно отдельно скрипт, затем вручную синтез, и имплементацию, но мы уменьшили ручную работу на 1 клик))) ). Чтобы скрипт выполнить, в ИСЕ открывали окно TCL console, там писали source synt.tcl, и таким образом выполняли всё это дело (т.е. не требовалось отдельно запускать процесс синтеза). -
Ну я примерно про это и хотел сказать постом выше. Вопрос был, в частности, зло или не зло инициализация без сброса. Пришли к выводу, что с точки зрения оптимальной реализации (когда надо сделать на SRL) сброс должен отсутствовать. Но для реализации некоторых схем (LFSR) задавать начальное состояние всё же надо. Остаётся только инициализация.
-
дак это надо тогда 100 секунд ждать, пока хоть 1 период наловишь? А чтобы принять надёжное решение, нужен ещё и не один период? Видимо хотелось бы побыстрее...
-
Автогенерация версии
Krys ответил Димыч тема в Работаем с ПЛИС, области применения, выбор
да, точно, та самая, которую я почему-то не нашёл... -
Ага, и разверните их вертикально )
-
Автогенерация версии
Krys ответил Димыч тема в Работаем с ПЛИС, области применения, выбор
Вот ещё похожая тема: http://electronix.ru/forum/index.php?showt...l=%E4%E0%F2%F3* и ещё одну искал, не так давно была - не нашёл... -
Просто я за эту цитату зацепился: Получается, для LFSR, действительно, сброс по включению нужен. А дальше не нужен. Его можно реализовать и на SRL, но явный сброс прописывать нельзя в силу вышеприведённой цитаты. Поэтому и поможет инициализация.
-
Подстройка тактовой частоты.
Krys ответил Kokos тема в Алгоритмы ЦОС (DSP)
Ну я видимо предложил велосипед. Так тоже можно реализовать, если автор спрашивает, куда девать лишние отсчёты, когда по результатам очередной оценки частоты по пилоту окажется, что она уехала. Возможно, действительно, в связи всё делается обычно не так. Но и так тоже можно в рамках поставленного автором вопроса. -
Ну в таком случае они нуждаются в сбросе, и на SRL их не реализовать при всём желании )))
-
Предлагаю для начала ознакомиться с готовыми реализациями: xilinx dds compiler, начиная со стр. 11 там дана теория вопроса. Может, тогда станет понятнее, откуда взялся такой код.