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

    

7777777alex

Участник
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

Контакты

  • Сайт
    http://
  • ICQ
    0
  1. Цитата(ViKo @ Jul 15 2016, 13:56) Разрядность суммы должна быть на 2 больше разрядности слагаемых, иначе результат не поместится. Да это так, я предусматривал что значения a b c на самом деле не привысят WID-2 в вашей терминологии. По крайне мере, так у Xilinx, если писать в лоб, не использую примитивов LUT6. Если писать по честному, примитивами, как в data sheet на dsp48 для 3:2 компрессора, то можно по честному предусмотреть разряды переполнения. Однако, вот так в лоб, если написать на два разряда больше, то формируется совсем другая схема и таких частот уже не достичь. Я поэтому и написал - поиграться с разрядностью результата, возможно и у Альтеры это что-то даст. Цитата(Timmy @ Jul 15 2016, 13:56) Думаю, на Cyclone3 никак не ускорить, вот у Ксайлинкса, да, есть троичные сумматоры на всех чипах с LUT6. На сколько я читал мнения на англоязычных форумах, у Альтеры троичные сумматоры получаются лучше (т.е. написать в лоб и получить хорошую частоту) , но начиная с каких то кристаллов. Забыл о каких шла речь.
  2. Добрый день. Проделывал похожее на виртексе Насколько я себе уяснил, применение троичного суматора с целью экономии ресурсов возможно только при относительно небольших разрядностях (зависит от кристалла). То есть сделать множетсво "маленьких" троичных суматоров на высоких частотах возможно. Для 6 виртекса на 8 разрядов без каких либо телодвижений частота 500-400 мгц. Только попробуйте добавить reg [WID-1:0] sum_r, a_r, b_r, c_r; always @(posedge clk) begin a_r <= a; b_r <= b; c_r <= c; sum_r <= a_r + b_r + c_r; sum <= sum_r; end Если нужно больше разрядность, можно наверное попробовать каскадировать такие троичные сумматоры. Но ресурсы уйдут уже на это. Замечу, что у результата я намеренно поставил WID-1, у Xilinx это было кретично. Не знаю как у Альтеры, но я бы поупражнялся с разрядностью результата. А вообще, можно погуглить троичный сумматор для Альтеры Зайлинкс. Ссылок много. Успехов
  3. Добрый день, так в роде бы правильно советуют? wire нельзя обозвать клок в интерфейсе? Прошу прощения, и наверное это вопрос SystemVerilog а не конкретно Incisive?
  4. Может поможет -NOWarn warning_code[:warning_code ...] Disable printing of the warning with the specified code. The warning_code argument is the message code (mnemonic) that appears in the warning message following the error severity code. Example: % ncsim -nowarn HVAPKF worklib.top You can disable the printing of multiple warning messages either by using multiple -nowarn options or by using one -nowarn option and separating the warning_code arguments with a colon. For example, % ncsim -nowarn INTOVF -nowarn CUVWSP worklib.top % ncsim -nowarn INTOVF:CUVWSP worklib.top -NOWarn warning_code[:warning_code ...] Disable the printing of the warning with the specified code. For example, when elaborating, you may know about unconnected signals in your model. While the individual design units or source files may compile without error, the elaborator will generate port mismatch warning messages. If you are not interested in seeing these messages, use -nowarn to turn them off. The warning_code argument is the message code (mnemonic) that appears in the warning message that follows the error severity code. Example: % ncelab -nowarn CUVWSP worklib.top You can disable the printing of multiple warning messages either by using multiple -nowarn options or by using one -nowarn option and separating the warning_code arguments with a colon. For example, % ncelab -nowarn INTOVF -nowarn CUVWSP worklib.top % ncelab -nowarn INTOVF:CUVWSP worklib.top
  5. Добрый день. По первому. Процесс симуляции идет с идексами вида [-1] и нужно убрать просто сообщения из консоли? или симуляция останавливается?
  6. 7777777alex здравствуйте! Не могу отправить вам личное сообщение. Можете мне скинуть свой электронный адрес?

  7. Добрый день. Самое простое представить, что вы пишите на си, а фигурные скобки в случае верилог - это Бегин энд. А вообще "букварь" должен помочь, в вашем случае вы Бегин энд ставите на иф целиком как в vhdl, а следует мыслить как в Си и ставить только на инструкции между иф элзе. И в случае, как у вас, вообще, можно обойтись без Бегин энд, то есть просто их не ставить здесь
  8. Вопрос топика уже многократно решен и реализован в железе и у нас, и зарубежом. Примеч классифицируются не только перечисленные виды модуляций, но и типы систем (gsm, wifi, dvb-t, dvb-s2, и т.д. и т.п. в зависимости от диапазона анализа) Если классификация не налету ( не в железе), особых проблем в разработке алгоритма не возникнет. 1. Строится модуль спектра, определяется полоса сигнала по уровню (выбираете сами) 2. В этой полосе осуществляется фильтрация (обычный ФНЧ, порядок определяется наличием, отсутствие соседних каналов) у вас появляется однозначная оценка максимальной бодовой => полоса фильтра 3. Осуществляется оценка бодовой скорости и несущей частоты комплексная алгребра, комплексная огибающая 4. классифицируется тип модуляции 5. если нужно, делаем тактовую, фазовые подстройки и пишем (показываем) созвездия (llr) Для этого нужно либо иметь багаж знаний, либо приобретать его в процессе) Начните с малого научитесь определять бодовую скорость и отстройку несущей частоты. Смотрим комплексную алгебру, возведение в степень комплексного числа, операции с комплексной огибающей сигнала и т.п. Попробуйте рассмотреть сигналы с известной бодовой и несущей но с разными видами модуляции Удачи
  9. Для того чтобы понять " как надо генерировать синхроимпульс, с какой последовательностью," - нужно понять для чего вы проектируете свою систему. Задать себе вопрос какая модель канала связи, какой диапазон частот, какая предельная скорость передачи планируется. Радиовещательная система, модем, транспондер. Какая информация будет передаваться, какие протоколы планируется использовать на транспортном уровне. Все это либо определит либо скорректирует какой будет синхрокомбинация и чем вы можете пожертвовать ради нее, сколько бодов отведете, какой тип модуляции используете и как часто сможете ее вставлять. Даже если вы ни чем не ограничены и просто "фантазируете для себя", взгляните на существующие системы связи с открытыми стандартами, только все же определитесь с диапазоном частот ДВ, КВ, УКВ, СВЧ, о потом выбирайте одну из стандартизированных систем в этих диапазонах. Удачи
  10. Периодика для детектирования может скрываться не только в пилотах, синхрокомбинациях или преамбулах, но и самой особенности сигнально-кодовой конструкции (скк) Тип помехоустойчивого кодирования, применяемый скремблеры, перемежители могут подсказать где искать периодику. Даже если скк не подразумевает какую-либо периодику, можно поискать ее в информационных сообщениях. Почти всегда они состоят из заголовков тех или иных протоколов. Далее можно, зная алгоритм скк попробовать синтезировать опорный символы для детектирования. Но все это задачи нетривиальные, требующие опыта в области анализа радиосистем. Имея больше информации о вопросе можно сказать возможно это или нет, а так только вектор движения... Если система абсолютно чужая и нет никакой информации о типе скк, передаваемых пользовательских данных, вообще ничего кроме того что в шуме будет psk8 - ничего не получится. Если конечно нет удачных записей этой системы с приемлемым шумом, которые бы позволили продемодулировать и проанализировать периодику.
  11. Плюс за windows => Nodepad++ linux => Kate И то и другое можно удобно настроить под себя. И там и там пользуюсь HDL Designer + редактор. В редакторе Designer удобно добавлять модули методом drug drop из библиотеки. Все остальное редактирование в Kate или в Notepad++.