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

Krys

Свой
  • Постов

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

  • Посещение

Весь контент Krys


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