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

    

Dantist2k17

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

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

  • Посещение

Репутация

0 Обычный

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

  • Звание
    Участник

Посетители профиля

274 просмотра профиля
  1. Да спасибо, дошел до этого, опробовал. Не понравилось. Поправил verilog описание и уложился в частоту. Однако ведь можно столкнуться с задачей, когда необходимо разложить по триггерам БОЛЬШОЙ дешифратор, который описан с помощью case. Переписать его как-то алгоритмически не представляется возможным. Как быть в такой ситуации, не сталкивались?
  2. Имеется два вопроса по логическому синтезу. 1. В версии DC E-2010.12 поддерживается команда pipeline_design, которая позволяет "взять" комбинационную схему и "положить" ее на цепочку регистров, обеспечив необходимую частоту работы. В версии DC J-2014.09 такой команды я не обнаружил. Есть ли какая-либо альтернатива? 2. Существует ли команда (подход), которая позволяет сделать нечто подобное из последовательностной схемы? Что есть: триггер 1 - логика - триггер 2. Хочу получить триггер 1 - логика - триггер 3* - логика - триггер 2.
  3. Чего же мне стесняться? Поясните.
  4. Спасибо Вам конечно за отзывчивость. Тем не менее, осадок от общения так себе. Вопрос разрешен.
  5. Да, с этим я разобрался, в блоке always (в первом сообщении) он и описан. Ну да, вполне возможно, при этом возникает вопрос, что передает передатчик в течении 9 тактов (один такт из 10-ти займет бит из PRBS)? А способ разделить 127 бит на n-ое количество слов по 10 бит не представляется возможным. Еще конечно можно передавать по одному биту 10 раз подряд, но какой в этом смысл. Передать можно все что угодно и как угодно, хочется прояснить как правильно и почему именно так. Разобраться не помешает, теоретическая основа в подобных темах весьма туманна.
  6. Все дело в том, что я как раз и занимаюсь аппаратной реализацией TLK2711-SP в составе ASIC. Что вы подразумеваете под сердез, сериализатор? Если да, то согласен, тоже самое обозначено в datashhet файле на TLK2711-SP (страница 13). Однако там прорисована 10-ти битная параллельная шина, которая затем через мультиплексор идет на сериализатор. В том же самом фале в разделе 8.3.5 прописано, что TLP2711-SP имеет 127 встроенных PRBS функций. При этом известно, что аппаратная генерация полинома 1+x^6+x^7 осуществляется на основе 7-ми битного регистра, который генерирует последовательность из 127 чисел (разрядностью 7 каждое). Отсюда и возникли вопросы что из себя представляет PRBS, в процессе просмотра datasheet файлов сформировалось две версии: последовательность из 127 бит или же из 127 7-ми битных чисел. Однако обе они не ложатся на описание TLP2711-SP. Вопрос и заключается, почему считается достаточной? Но это уже факультативный интерес.
  7. Добрый день. Если я правильно понял, то PRBS формируется на основании полинома 1+x^6+x^7, 127 значений. Сам полином генерируется 7-ми битным регистром. Вопрос №1: как правильно применить полученный регистр для тестирования приемопередатчика (при кодирование данных в коде 8b/10b)? Прикрепляю код генератора, в котором представлено два способа формирования выходных данных PRBS, есть ли среди них правильный, какова идеология? module prbs_generator( output [9:0] data_out, input txclk, input prbsen, input rst_n); reg [6:0] register; //Способ №1 -- дополняем до 8 бит а затем пропускаем через кодер 8b/10b, //среди просмотренных функциональных схем приемопередатчиков, кодер на выходе блока генерации PRBS не встерчал coder_8b10b coder ( .data_in({(register[6]^register[5]),register}), .data_out(data_out)); //Способ №2 -- готовый код для передачи assign data_out = {3'd0,register}; //1+x^6+x^7 always@(posedge txclk) begin if(!rst_n) register <= 7'd1; else if(!prbsen) register <= 7'd1; else register <= {register[5:0],(register[6]^register[5])}; end endmodule Вопрос №3: почему для тестирования данного кодирования используется именно такой полином?
  8. Ковчег... диплом... МИЭТ кафедра ПКИМС, не?)
  9. Все что формируется в блоке always, не зависимо от того, что вы хотите видеть после синтеза (последовательностный элемент или комбинационный) должно быть типа reg. А вообще вы описали защелку (latch). Я бы тоже с клоками не баловался подобным образом, но если уж на то пошло, то: wire clk_in; reg clk_out; reg state; always @(*) begin if(state == IDLE) begin clk_out = 1; end else begin clk_out = clk_in; end end ----------------------------------------------------------------------------- Упс, повторяюсь за выше отписавшимися...
  10. или же встречаются готовые стабилизаторы питания под nrf, пробовал эти (не реклама)) http://iarduino.ru/shop/Expansion-payments...a-nrf24l01.html
  11. readmemb + parameter

    Попробуйте нечто подобное integer input_file; integer input_value; integer save_value; input_file = $fopen("file_name.lis","r"); //при необходимости замените %d на требуемую вам форму представления input_value = $fscanf(input_file,"%d",save_value);
  12. Пропустить через двух (а лучше трех) разрядный сдвиговый регистр, работающий на частоте, которая много меньше частоты дребезга.
  13. Сделайте привязку к частоте clk, на каждом такте оценивайте текущее состояние "системы" (например с помощью if ... else) и решайте как быть дальше, выходить из так называемого цикла или же нет.
  14. Пишу код в notepad++ (кодировка ANSI). При открытии таких файлов в Aldec HDL 9.1 кириллица не страдает.
  15. Цитата(Lerk @ Feb 7 2018, 07:37) Если вы хотите разобраться в МКИО, то читайте первоисходник. А именно handbook по MIL-STB-1553B (можно и по 1553A). Там объяснено буквально всё, вплоть до предлагаемой структуры ОУ или приёмопередатчиков. Если коротко, то в этом стандарте нету ни одной цифры, взятой просто так. И еще. Не забывайте, что 1553B - это канал обмена данными, а не просто контроллер+п/п. Канал это и топология печатной платы, и качество пайки, и используемые провода, разветвители, трансформаторы и проч. Комплекс. Спасибо за совет, посмотрю. То то и оно, что всему хочется найти объяснение.