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

likeasm

Участник
  • Постов

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

  • Посещение

Сообщения, опубликованные likeasm


  1. 1. Если хочется очень, то можно частоту взять из примитива STARTUP_SPARTAN6, частота будет кривая и нестабильная, но это лучше кнопки.

    2. Обычные сигналы в схемном редакторе выводятся на ножки через специальные примитивы, например IBUF и OBUF, а не через BUFG. Для вашего примера между FD:D и XLXN_12 выкидываете BUFG и ставите на его место IBUF, между XLXN_11 и BUFG добавляете IBUF, между FD:Q и XLXN_13 выкидываете BUFG и ставите на его место OBUF.

    3. Схематик в ISE штука довольно кривая, лучше начните изучать всякие штуки с Verilog.

     

  2. Ловите код супер дешифратора на Verilog

    module DC5in32(in,out);
    
    input [4:0] in;
    output reg [31:0] out;
    
    integer i;
    
    always @(*)
    for(i=0;i<32;i=i+1)
    out[i] =   (i[4] ? in[4] : ~in[4])
               &(i[3] ? in[3] : ~in[3])
               &(i[2] ? in[2] : ~in[2])
               &(i[1] ? in[1] : ~in[1])
               &(i[0] ? in[0] : ~in[0]);
    
    endmodule

  3. Логику тут искать не надо, я понимаю что XST штука умная и делает все правильно, и схема в итоге будет эквивалентная. Просто есть умные люди, которые сначала запретили на языках описывать схему, мол мы только схемы понимаем. А теперь научились сравнивать схематик фактический с технологическим и задавать вопросы типа: "А почему схемы не совпадают?" При всем при этом сама схема старая и ее менять с точки зрения православной религии нельзя. Чувствую скоро опустятся на уровень map и route вот тогда будет веселье.

  4. Всем доброго вечера. Настигла меня беда в синтезе схемы, XST молча выкинул связи.

    вот кусок схемы

    image.png

    это вид Tech Sch

    image.jpg

    Как видно мультиплексор оптимизирован. Я перекрутил все опции синтеза по оптимизации, не помогло. В итоге заменил M2_1 на логику из AND и OR. Но вопрос остался почему такие грабли и как избежать?

     

     

  5. Судя по ранним темам, что-то у вас с JTAG не то. Похоже ПЛИС ловит по JTAG какую-то муть после конфигурации. Есть документ "Command Line Tools User Guide" там было описано как выключить JTAG после конфигурации, если это конечно возможно для Kintex 7.

  6. Посмотрите требования к питанию JTAG программатора. Например, на Spartan6 VCCAUX = VREF JTAG.

    P.S. А еще VREF JTAG было ограничено питанием одного из Bank.

  7. Всех с наступившим! Родился у меня вопрос про вероятность появления метастабильного состояния. Что будет надежнее при приеме асинхронного сигнала, цепочка из 2-х Д триггеров работающая на частоте CLK, или цепочка из 3-х или может 4-х :biggrin: Д триггеров работающая на частоте CLK*2?

  8. Про задержки вам кроме разработчика никто ничего не скажет. ПЛИС 5576ХС1Т был сделан по техпроцессу 180нм, FLEX вроде 240нм, сами понимаете симуляция в Quartus без сторонних плагинов не сможет проводится корректно. Пообщайтесь лучше с разработчиком на эту тему, коем является КТЦ "ЭЛЕКТРОНИКА".

  9. Последовательное включение всегда лучше, если оно возможно. Пиковые нагрузки разделите во времени для внешних источников. Преобразователи подберите с внешним сбросом и заведите на него Power Good, такая петля поможет от непредвиденных перегрузок или КЗ.

  10. Но в целом на это лучше не надеяться и использовать явную установку в "0" или "1" по асинхронному сигналу reset. Тогда код будет одинаково работать на любой FPGA, ASIC и при симуляции.

    Вопрос упирается в экономию соединений. Нет reset, значит нет лишних лишних связей. Если начальная установка происходит один раз в конце конфигурации, то лучше reset не тянуть, а вместо этого, если позволяет ПЛИС, инициализировать триггеры средствами языка.

  11. Я прибивал синтез в ISE по колхозному через примитивы, например:

    module test_lut(a1,b1,c1,o);
    input a1,b1,c1;
    output o;
    
    
    
      LUT2 #(
         .INIT(8)  // Specify LUT Contents
      ) LUT2_inst1 (
         .O(O1),   // LUT general output
         .I0(a1), // LUT input
         .I1(c1)  // LUT input
      );
    
      LUT2 #(
         .INIT(8)  // Specify LUT Contents
      ) LUT2_inst2 (
         .O(o),   // LUT general output
         .I0(O1), // LUT input
         .I1(b1)  // LUT input
      );
    endmodule
    

  12. Доброго дня! Использовал приведенный пример SPI, при приеме пакета по SPI сигнал RX_RDY "сдвигается" и срабатывает до окончания приема, с чем это может быть связано?

    может быть дребезг на фронтах клока.

  13. Simulation Library Compilation Wizard есть в составе Tools среды ISE, библиотеки через него компилируются. Какие параметры там указывать не помню, в инете находил инструкцию. Сейчас с ходу найти не удалось, найду скину ссылку.

    UPD:

    нашел

    http://homepages.wmich.edu/~grantner/ece55...Modelsim_10.pdf

  14. Тогда выходит, что у меня основная частота должна быть хотя бы в 3 раза выше, чем частота sck.

    Никто не мешает вам работать на частоте самого SPI(sck), а потом уже кидать информацию в основной клоковый домен, скажем, через FIFO.

  15. Имею *.sch файлы для XC3000 в старом формате, их требуется прочитать. Пробовал ISE версии 1.5 он их не читает. Предполагаю, что схема была нарисована в предыдущей среде, возможно, в xact. Может где-то, кто-то видел в доступе или имеет ее в закромах?

×
×
  • Создать...