Jump to content

    

Kostochkin

Участник
  • Content Count

    88
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Kostochkin

  • Rank
    Частый гость

Recent Profile Visitors

561 profile views
  1. Здравствуйте.Я в матлабе новичок. У меня стоит версия r2015b.Есть несколько файлов VHDL, проект в Active-HDL.Нужно их загнать в матлаб и верифицировать.Хочу понять, как импортировать дерево файлов или хотя бы один файл VHDL в матлаб или симулинк, для их тестирования.Благодарю.
  2. Благодарю, попробую.
  3. Здравствуйте. Может глупый вопрос, но я никак не могу разобраться. Стоит задача сложить 9 std_logic_vector(31 downto 0) в один цикл. Максимальна возможная сумма - 35 бит. Если перевести все в integer, то максимальная сумма превысит диапазон integer. Тогда как сложить 9 std_logic_vector(31 downto 0) в один цикл? Благодарю.
  4. Здравствуйте. Есть кусок кода на verilog, что-то типа такого: parameter IWIDTH = 16; parameter TAPS = 2; wire [IWIDTH-1:0] data_in; genvar i; generate for( i=0; i<TAPS; i=i+1 ) begin:tap reg [IWIDTH-1:0]r=0; if(i==0) begin always @(posedge clk) r <= data_in; end else begin always @(posedge clk) tap[i].r <= tap[i-1].r; end endgenerate Этот код компилируется и исполняется в active-HDL. Попробовал написать этот код на vhdl: constant IWIDTH : integer := 16; constant TAPS : integer := 2; signal data_in : std_logic_vector(IWIDTH-1 downto 0); tap : for i in 0 to (TAPS-1) generate signal r : std_logic_vector(IWIDTH-1 downto 0):= (others => '0'); begin PROCESS(clk) BEGIN IF(clk'EVENT AND clk = '1') THEN IF (i = 0) then r <= data_in; END IF; END IF; END PROCESS; PROCESS(clk) BEGIN IF(clk'EVENT AND clk = '1') THEN IF (i /= 0) then tap(i).r <= tap(i-1).r; END IF; END IF; END PROCESS; end generate; Active-HDL ругается на строчку "tap(i).r <= tap(i-1).r;" что tap не является массивом... Подскажите как реализовать эту конструкцию на vhdl. Благодарю.
  5. Извините, что долго не отвечал. Разобрался. В блоке GTPE2_COMMON по умолчанию для атрибутов PLL1(настройки внутренней pll) были выбраны коэффициенты, отличные от аналогичных для PLL0. Установил атрибуты для PLL1 такие же, как и для PLL0, заработало.
  6. Установил в ядре, которое питается от клока PLL1 настройки трансивера: TXSYSCLKSEL = b"11"; RXSYSCLKSEL = b"11"; Ядро все равно не поднимается. Блок "TX_STARTUP_FSM" не опускает сигнал mmcm_reset в 0. Соответственно pll не выдает userclk. Что-то еще надо настроить?
  7. Да, в channel заходят два клока, а как выбрать какой клок использовать? Нигде не нашел...
  8. Здравствуйте. У меня есть плата с fpga xilinx artix200 fbg484-2. Работаю в vivado 2017.2. В этом кристалле один квадрант трансиверов, GTP - 4 шт., COMMON - 1 шт. Два внешних клока. По заданию нужно один GTP питать от одного внешнего клока, а третий от другого внешнего клока. Использую ip core "1G/2.5G Ethernet PCS/PMA or SGMII v16.1". У блока GTPE2_COMMON две pll, два клоковых входа и два клоковых выхода. Из блока COMMON вывожу все сигналы pll0 на один трансивер, а pll1 на другой трансивер. Соответственно в втором ядре переподключил блоки startup_fsm на ppl1, и для COMMON установил PLL1REFCLKSEL = B"010". В GTPE2_CHANNEL настройки не менял. Проект собрался, но при отладке ядро, работающие от clock0 поднялось(userclk есть, resetdone - ok), а второе, работающее от clock1 не запустилось(userclk нет, resetdone - not ok). В документации прямо не написано, что GTP в одном квадранте можно питать двумя разными клоками. Там написано, что можно выбрать каким клоком питать GTP. Возможно ли так сделать? И если да, то где я ошибся? Благодарю.
  9. Если кому интересно, то проект на xc7k70-fbg484-2 с использованием xapp523 заработал. Правда пришлось его немного доделать/переделать...
  10. Здравствуйте. У меня есть две платы с xc7k70-fbg484-2. На каждой плате есть оптический приемник и передатчик типа BF4M Series, сигналы с них идут на lvds ножки плис. На плис поднял ip core 1G pcs/pma lvds sgmii. Работаю в ISE 14.7. При замыкании передатчика на приемник оптикой на одной плате, прием отличный(передача и прием на одном клоке). Теперь нужно реализовать асинхронный режим. В документации написано, что это можно сделать с использованием xapp523. Передатчик в xapp523 странный, однобитный... Я его убрал, и вместо него поставил передатчик от 1G pcs/pma lvds sgmii. Клок 125мгц я получаю от ip core 1G pcs/pma с трансивером, так как внешний клок приходит на трансиверные пины. Кто-нибудь работал с xapp523 ? Если да, то какие пины использовались в проекте, как в xapp523 или другие? У меня другие. И вообще это работает? Спасибо.
  11. Забыл написать, в документации написано, что для kintex 7 это ядро действительно работает в синхронном режиме, в асинхронном работает только virtex. Так же написано, что для kintex 7 возможна реализация асинхронного режима с использованием xapp523. Кто-нибудь работал с xapp523? Это вообще работает?
  12. Надо проверить, есть несколько тестовых пинов.