Jump to content

    

new123

Участник
  • Content Count

    444
  • Joined

  • Last visited

Community Reputation

0 Обычный

About new123

  • Rank
    Местный

Recent Profile Visitors

915 profile views
  1. спасибо, я об этом не подумал. Надо в Time Analyzer поковырять мне пути. спасибо. Всем спасибо большое, как всегда, быстро и профессионально я конечно особо не мастак, но у меня сложилось мнение, чем больше опишешь, тем лучше. У меня уже чип скоро под завязку, квартусу все тяжелее и тяжелее. А более детальные констрейны выручать начинают.
  2. Форумчане, день добрый. Помогите правильно описать путь пжлст. Очень упрощенно имею такой код. assign x = (a == 16'd49000)? 1'b0: 1'b1; assign z = {...., x, ....}; always @ (posedge clk) begin a <= ... end Хочу помочь квартусу не напрягаться. И сказать что расчет Z мне актуален после трех тактов, как получу A. То есть, чтобы он не напрягался и не пробовал все уложить в один такт. set_multicycle_path подойдет? Если да, не могли бы привезти точный пример, как его точно прописать в данной задаче, у меня как то с ним не сложилось. Или может в таких условиях вообще set_false_path подойдет? Заранее спасибо.
  3. Если вопрос в том, брать клок со слота PCIE или с генератора на плате, у меня работает и так и так.
  4. я может не правильно вопрос понял про пример. Пример кода? Да вот dma контроллер мне выдает, я на них цепляюсь своими контроллерами как slave и по шине avalon общаюсь, загоняю/читаю данные в двухпортовую память module pcie ( output wire pcie_dma_mem_rd_waitrequest, output wire [255:0] pcie_dma_mem_rd_readdata, output wire pcie_dma_mem_rd_readdatavalid, input wire [0:0] pcie_dma_mem_rd_burstcount, input wire [255:0] pcie_dma_mem_rd_writedata, input wire [17:0] pcie_dma_mem_rd_address, input wire pcie_dma_mem_rd_write, input wire pcie_dma_mem_rd_read, input wire [31:0] pcie_dma_mem_rd_byteenable, input wire pcie_dma_mem_rd_debugaccess, output wire pcie_dma_mem_wr_waitrequest, output wire [255:0] pcie_dma_mem_wr_readdata, output wire pcie_dma_mem_wr_readdatavalid, input wire [0:0] pcie_dma_mem_wr_burstcount, input wire [255:0] pcie_dma_mem_wr_writedata, input wire [17:0] pcie_dma_mem_wr_address, input wire pcie_dma_mem_wr_write, input wire pcie_dma_mem_wr_read, input wire [31:0] pcie_dma_mem_wr_byteenable, input wire pcie_dma_mem_wr_debugaccess, } module my ( input wire clk_rd, input wire clk_wr, input wire reset, output reg [17:0] address_wr, output wire [255:0] data_wr, input wire wait_wr, output wire start_wr, ..... )
  5. извините, vhdl совсем не силен. А пример запросто. Нечто подобное и у меня, кроме NIOS + различные мои нагромождения. https://www.intel.cn/content/dam/altera-www/global/zh_CN/pdfs/literature/hb/nios2/edh_ed51007.pdf Вторая картинка мне подсказала источник всех багов на моем слейве (рукописный контроллер свой). Я делал write при поднятом waitrequest от другого slave и терял данные. Тему недавно создавал про потерю из FIFO Полистайте ссылку, там схем очень много про арбитраж шины при многих потребителей.
  6. Если есть арбитр доступа, я бы такие сигналы не игнорил. Буквально недавно на этом попался. Арбитр появляется, когда на шине больше чем 2 устройства. 1 мастер, 2 слейва например. Второй слейв займет шину, вам на первый слейв прилетит waitrequest
  7. у меня есть еще два источника, на обоих прогоню, завтра уже попробую
  8. спасибо, буду изучать вопрос тогда. На аналоговый уровень еще так сильно не опускался извините, пропустил. Stratix V на 0.85В
  9. не своя, но бу и ремонтированная. Элемент того, что что-то на ней сбоит не отрицаю. Хотелось пока в софтовой части удостовериться. вот фишка в том, что 1 интерфейс нормально пашет, а второй точно на таких же настройках и коде выдает подобное
  10. мысль ясна! я так мигание диода секундомером замерял. Попробую в моделсиме погонять такой вариант, гляну что за точность выдает, спс вот и я парюсь по этому поводу =) проверяемую частоту 300+ делю в 1000 раз и считаю счетчик?
  11. Форумчане, день добрый. Подскажите, наверняка кто то решал подобную задачу. Нужно удостовериться, что тактовый сигнал нужной частоты. Эдакий frequency checker. В принципе, задача наверняка не очень сложная, с удвоенной частотой проверять текущие такты. Но у меня проблема, хочу проверить с точностью до 4 знаков после запятой. Как думаете, реальная задача? Какие может подходы знаете. Частоту надо проверить 300+Mhz, проверять ее на 600+ тоже мне кажется не совсем корректно. Нагуглил такой кусочек кода module foo(clk); input clk; real t0; real t1; real frequency; initial begin @ (posedge clk) t0 = $realtime; @ (posedge clk) t1 = $realtime; frequency = 1.0e9 / (t1 - t0); $display("Frequency = %g", frequency); $finish; end endmodule Не ужели все так просто, или это не синтезируемый код.
  12. Форумчане, добрый вечер. У Transceiver Reconfiguration Controller есть такая настройка, как Optional interface grouping. Может кто знает подробно, для чего она? Для чего спрашиваю. 1) Имею 10GBase-R ip core, но не на 1 интерфейс, а на 2. 2)В Transceiver Reconfiguration Controller все как надо, ставлю Number of Reconfig interface = 4. 3) Optional interface grouping, так как плохо понимаю что это, ничего не ставлю. В доке вообще как то вскольз про это. Что имею в итоге. Один интерфейс в 10GBase-R работает из вон рук плохо. На любой нагрузке может вместо бита 0, бит 1 прийти. Редко, но метко. Ко второму интерфейсу вообще вопросов нет. Я бы не сказал, что поехала времянка. В TimingAnalyzer запас по slack на любых режимах 100-500пикосек в тех логиках, которые относятся к этой теме. Вот думаю, может трансиверы чего чудят и их нужно как то правильно объединить в группы. Заранее спасибо за любые советы
  13. у меня так чип коротнул, я потом сидел все питалово на ногах вымерял. Так два банка рядом стоящие с общим питанием и выгорели =) Остальные целы остались.
  14. у вас там все авалонами повязано. Я бы глянул доку по нему. По соответствующей теме есть целый раздел, подробно описывающий этот момент.