Jump to content

    

Kostochkin

Свой
  • Content Count

    199
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Kostochkin

  • Rank
    Частый гость
  • Birthday 05/07/1983

Информация

  • Город
    Array

Recent Profile Visitors

1563 profile views
  1. Да, точно, такого сигнала нет, перепутал. Значит, надо просто дождаться правильной преамбулы какое-то время (я думаю тактов 12-16), и если она не пришла, то опять поднять bitslip. Благодарю.
  2. Здравствуйте. Есть вопрос по поводу реализации функции bitslip трансивера GTY для 10G baser, кодировка 64/66. При принятии неправильной преамбулы 66-битного слова (2'b11 или 2'b00) надо поднять на 1 такт сигнал bitslip = 1'b1, для того чтобы чуть задержать десериалайзер. Получить от трансивера slipdone. Вопрос а сколько минимум нужно держать паузу(в тактах) между получением slipdone и поднятием bitslip? Или можно сразу поднимать bitslip после slipdone, если опять на приёмнике есть неправильная преамбула? Благодарю.
  3. Благодарю за ответ. А вот если стоит задача сделать dpll, с допустим системной частотой 1ГГц, входной частотой от 1 до 100МГц, и выходной частотой от 1 до 100МГц, входная и выходная частота заданы как параметры. Желательно с минимальным джиттером. Можно сделать dpll на HDL по описанию, которое вы дали(фазовый детектор на D триггере и ДПКД), или есть более лучшее решение? Если есть, то какие, если не секрет? Благодарю. И второй вопрос, везде на схемах DPLL после ФД рисуют LOOP FILTER, фильтр НЧ(например FIR). Я не очень понял, принцип действия фильтра, ведь сигнал у нас однобитный..? Благодарю.
  4. Здравствуйте, меня заинтересовала данная тема. Вы пишите, что фазовый детектор с "окном синхронизации" при совпадения фронтов 2.048MHz внутри окна коэф. делителя 42+43+43, но они же не всегда будут совпадать, а во время не совпадения какие? 42+42+43 и 43+43+43? тогда всё равно теряется точность. Или я не правильно понял. Благодарю.
  5. Здравствуйте. Подскажите, пытаюсь сделать pipeline, logic [(DATA_WIDTH-1):0] r_data_pipeline [(TAPS-1):0]; logic [(DATA_WIDTH-1):0] data_in; always @(posedge clk) begin r_data_pipeline <= '{TAPS{r_data_pipeline[(TAPS-2):0],(data_in)}}; end но компилятор Aldec выдает ошибку: Error: VCP2852 sv/fir_filter.sv : (68, 1): Incompatible types at assignment: .r_data_pipeline[$left(r_data_pipeline,1)-0*$increment(r_data_pipeline,1)]<logic[DATA_WIDTH-1:0]> <- r_data_pipeline[TAPS-2:0]<logic[DATA_WIDTH-1:0]$[TAPS-2:0]>. Подскажите, как правильно записать? Благодарю.
  6. Благодарю. Я толкаю 0х07070707 и пакет раз в секунду. Вопрос такой. Нужно включать режим test pattern generation? Когда включать? Или это не обязательно?
  7. Здравствуйте. vivado 2018.2. Имеется плата с плис xcvu9p. Есть порт SFP+. В плис собираю ядро 10G/25G Ethernet Subsystem v2.4 в режиме 10G pcs/pma 32 bits. При моделировании в vivado все прекрасно работает при замыкании дифф пары tx на rx. В железе при замыкании в SFP+ tx на rx не работает, на приеме xgmii: xgmii_rxc = 0x1; xgmii_rxd = 0x0100009C; Также: user_rx_reset = 1; user_tx_reset = 1; stat_rx_local_fault = 1; stat_tx_local_fault = 1; Сингалы user_rx_reset и user_tx_reset приходят от самого трансивера. Сингалы stat_rx_local_fault и stat_еx_local_fault приходят от софтовой части IP core. sys_reset держу в 1 примерно через 16мкс, потом сбрасываю в ноль. Может кто работал с этим ядром? Благодарю.
  8. Здравствуйте. Меня интересует вопрос об ethernet преамбуле. Стандартная преамбула 0x55_55_55_55_55_55_55_D5, длина 8 байт. Если я буду генерировать пакеты с длиной преамбулы не 8, а 7 байт: 0x55_55_55_55_55_55_D5, это будет критично для стандартного приемника, или нет? Можно ли так делать для передачи пакетов по сети? Благодарю.