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

Dantist2k17

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

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

  • Посещение

Репутация

0 Обычный

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

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

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

201 просмотр профиля
  1. Чего же мне стесняться? Поясните.
  2. Спасибо Вам конечно за отзывчивость. Тем не менее, осадок от общения так себе. Вопрос разрешен.
  3. Да, с этим я разобрался, в блоке always (в первом сообщении) он и описан. Ну да, вполне возможно, при этом возникает вопрос, что передает передатчик в течении 9 тактов (один такт из 10-ти займет бит из PRBS)? А способ разделить 127 бит на n-ое количество слов по 10 бит не представляется возможным. Еще конечно можно передавать по одному биту 10 раз подряд, но какой в этом смысл. Передать можно все что угодно и как угодно, хочется прояснить как правильно и почему именно так. Разобраться не помешает, теоретическая основа в подобных темах весьма туманна.
  4. Все дело в том, что я как раз и занимаюсь аппаратной реализацией 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. Вопрос и заключается, почему считается достаточной? Но это уже факультативный интерес.
  5. Добрый день. Если я правильно понял, то 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: почему для тестирования данного кодирования используется именно такой полином?
  6. Ковчег... диплом... МИЭТ кафедра ПКИМС, не?)
  7. Все что формируется в блоке 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 ----------------------------------------------------------------------------- Упс, повторяюсь за выше отписавшимися...
  8. или же встречаются готовые стабилизаторы питания под nrf, пробовал эти (не реклама)) http://iarduino.ru/shop/Expansion-payments...a-nrf24l01.html
  9. 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);
  10. Пропустить через двух (а лучше трех) разрядный сдвиговый регистр, работающий на частоте, которая много меньше частоты дребезга.
  11. Сделайте привязку к частоте clk, на каждом такте оценивайте текущее состояние "системы" (например с помощью if ... else) и решайте как быть дальше, выходить из так называемого цикла или же нет.
  12. Пишу код в notepad++ (кодировка ANSI). При открытии таких файлов в Aldec HDL 9.1 кириллица не страдает.
  13. Цитата(Lerk @ Feb 7 2018, 07:37) Если вы хотите разобраться в МКИО, то читайте первоисходник. А именно handbook по MIL-STB-1553B (можно и по 1553A). Там объяснено буквально всё, вплоть до предлагаемой структуры ОУ или приёмопередатчиков. Если коротко, то в этом стандарте нету ни одной цифры, взятой просто так. И еще. Не забывайте, что 1553B - это канал обмена данными, а не просто контроллер+п/п. Канал это и топология печатной платы, и качество пайки, и используемые провода, разветвители, трансформаторы и проч. Комплекс. Спасибо за совет, посмотрю. То то и оно, что всему хочется найти объяснение.
  14. Доброго времени суток. Буду очень признателен за наставление на путь истинный. 1. Согласно ГОСТ-у Р 52070-2003 пауза между сообщениями, формируемая ОУ перед передачей ОС должна быть от 4 до 12 мкс. При этом время ожидания КШ ответного слова составляет не более 14 мкс. 1.1. Откуда взялось 14 если есть 12? Просто "каприз" стандарта который необходимо выполнить (что кажется "непонятным") или ... 1.2. Входит ли в "обязанности" КШ и ОУ контроль длительности времени тишины в магистрали? Поясню на примере КШ: в ГОСТе сказано, пауза между сообщениями, формируемая КШ, должна быть не менее 4 мкс. КШ имеет внутренний счетчик который отсчитывает те самые 4 мкс а затем выдает следующее КС в магистраль или же он обязан не просто выдержать 4 мкс, но еще и удостоверится что в течении этих 4 мкс на линии была тишина (второй вариант кажется более логичным) однако сомнения... На примере ОУ: пришло КС формата 2, выждать 4 мкс и удостоверится что 4 мкс было тихо и затем выдать ОС и СД? А если было "не тихо", то формируем признак ОС "Ошибка в сообщении"? Под не тихо подразумевается любое колебание на шине, которое может зафиксировать декодер, работающий на частоте, например 16 МГц. 2. В данном стандарте применяется код манчестер-2, декодировать "заведомо" правильный код не проблема. Однако, где предел совершенства если руководствоваться тем, что из магистрали может прийти все что угодно (учитывая область применения данного интерфейса)? Есть идеальный код манчестер-2, есть диаграммы работы внешних приемопередатчиков (на выходе которых код уже не такой идеальный), а еще есть ГОСТы на тестирование. Стоит ли учитывать то, что может прийти все что угодно, а посему только диаграмма работы внешних приемопередатчиков является эталоном? 3. Команда замещения. По ГОСТу, команда замещения "внедряется" в массив СД или же следом за ним. Каким образом это реализуется системном уровне? Абонент интерфейса в праве инициализировать передачу следующего сообщения в процессе обработки текущего, при этом контроллер шины приступает к его исполнению лишь по факту выдачи в магистраль передаваемого СД (в текущем формате)?...непонятно.
  15. Не рассматривается ли удаленная работа на должность: Разработчик FPGA (ПЛИС) Junior.