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

MAZZI

Свой
  • Постов

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

  • Посещение

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


  1. для особо ленивых, не желающих думать, или хотя бы смотреть стандарт повторяю еще раз

     

    подумайте, вот что реально вы тут делаете ?

     

    Поведение этого кода заранее предопределено при любых Shift отличных от нуля. подумайте почему.

     

    наверное твоя важность мешает тебе нормально объяснять в чем ошибка,

     

    ошибка:

    функция f_ExtractDSPI однобитовая, поэтому от входящих данных попадает нулевой бит, а не старший, нулевой бит, кроме сдвига на 0, заполняется нулями.

  2. для особо непонятливых, телепатирую ещё раз (функция описана выше, тоже самое при использовании в не функции):

        @(posedge SPI_CLK)
        SPI_DI <= {1'b1, 15'h02F1} << 0;
        @(posedge SPI_CLK)
        SPI_DI <= {1'b1, 15'h02F1} << 1;
        @(posedge SPI_CLK)
        SPI_DI <= {1'b1, 15'h02F1} << 2;
    
    и ТАК ДАЛЕЕ,эквивалентная запись:
        for (k=0; k<16; k=k+1)begin
            @(posedge SPI_CLK)
            //                                         DATA          SHIFT
            SPI_DI <= f_ExtractDSPI({1'b1, 15'h02F1}, k);
        end

     

    повторю, что уже писал сдвиг вправо >> работает при тех же условиях

  3. обнаружен баг сдвига влево Active-HDL 8.3 SP1

    не работают такие конструкции:

        function f_ExtractDSPI;
            // Входы
            input [15: 0] DataSPI;
            input [3: 0] Shift;
            // Основное выражение
            begin
                // почему-то ALDEC не двигает влево, вправо работает
                f_ExtractDSPI = DataSPI << Shift;
            end
        endfunction
    
    `define t_DSPI(ARG1, ARG2)   ARG1 << ARG2
    
    ВЫЗОВ
        @(posedge SPI_CLK)
    //    SPI_DI <= f_ExtractDSPI({1'b1, 15'h02F1}, 0);
    //    SPI_DI <= `t_DSPI({1'b1, 15'h02F1}, 0);    // тоже не работает
        SPI_DI <= {1'b1, 15'h02F1} << 0;        // тоже не работает,    сдвиг влево не работает во всех вариантах
        @(posedge SPI_CLK)
        SPI_nCS    <= 0;
    //    SPI_DI <= f_ExtractDSPI({1'b1, 15'h02F1}, 1);
    //    SPI_DI <= `t_DSPI({1'b1, 15'h02F1}, 1);
        SPI_DI <= {1'b1, 15'h02F1} << 1;
        @(posedge SPI_CLK)
        SPI_nCS    <= 0;
    //    SPI_DI <= f_ExtractDSPI({1'b1, 15'h02F1}, 2);
    //    SPI_DI <= `t_DSPI({1'b1, 15'h02F1}, 2);
        SPI_DI <= {1'b1, 15'h02F1} << 2;
        @(posedge SPI_CLK)
    
    //    for (k=0; k<16; k=k+1)begin
    //        SPI_nCS    <= 0;
    //        @(posedge SPI_CLK)
    //        //                                         DATA          SHIFT
    //        SPI_DI <= f_ExtractDSPI({1'b1, 15'h02F1}, k);
    //    end

     

    только у меня такой прикол? сдвиг вправо (>>) работает нормально как и должен

  4. фирма при Бауманке, и поэтому такие з.п.

     

    Странно, что ищат сторонних разработчиков, ведь обычно проблем никаких нет найти среди огромного количества студентов, а им и дипломы написать и об аспирантуре позаботиться нужно и просто опыт работы получить.

     

    В Бауманке много толковых людей и думаю здесь эту объяву разместили, чтобы как раз и найти тех толковых, которые ещё и по специализированным форумам повышают свой опыт.

     

    А вообще и не мудренно, что разработчиков все меньше и меньше, т.к. при з.п. в 40т.р. и при аренде квартиры в 20-30т.р., люди от голода вымрут...

  5. Поддерживаю baken-а, без анализа полностью потока данных, вы не получите тот результат, который описали, то что Вам предлагают сделать на МК аппаратно, то слегка парни не в теме, и т.к. выходит очень нетривиальное решение и непонятно зачем, напишите все же для чего нужна такая ерундовина со светодиодом, т.к. позможно есть более простые решения того зачем Вы это хотите.

  6. C удовольствием поработал бы удаленно, так как проекты которые хотите реализовать достаточно смелые и мой опыт в Вашей области хороший, жаль, что Вы не практикуете такие бизнесс процессы, хотя и вполне понимаю Вас, ведь по началу кажется, что контролировать разработчика будет сложно, но это все решается организацией правильных бизнесс процессов и четким планированием с промежуточными контрольными точками.

     

    Коллеги, давайте не будем спамить тему, если говорить про зарплату, то она именно такая "средняя по больнице", может быть 70 даже слегка выше средней, тут ведь как и у многих работодателей возникает вопрос "а зачем платить больше других?" ведь разработка и зарплата разработчика является издержками и как и все издержки стремятся сократить.

     

    Возможно я не прав, но мне кажеться, такие проекты как у Вас легче всего организовать удаленно, хотя на 100т.р./месяц я бы пошел точно и на постоянную :)

  7. Зелакс очень известная компания в своей области телекома (www.zelax.ru), возможно такие слухи пускают недовольные своими же неудачами в отделе продаж, непонимаю зачем в ELECTRONIX.RU такое обсуждать, хотя наверняка полезно знать взаимоотношения в каждом отделе, но то что я знаю про Зелакс, то все у них впорядке, и знакомые продавцы работающие в Зелакс так же работают уже более 3-ех лет и довольны своей работой и коллективом.

  8. когда появился Verilog-2001 он тоже долго не поддерживался всеми производителями синтезаторов, симуляторов - со временем большая часть языка поддерживается практически всеми конторами, кто занимается развитием софта, это дело времени

  9. Коллеги, начинаю изучать Lattice, проконсультируйте

    1) Если как я понимаю ispLEVER - это подобие Xilinx ISE, а что у них есть подобно Xilinx Chipscope? чтобы непосредственно иметь анализатор в ПЛИС.

    2) Где есть сравнительные таблицы ПЛИС Lattice и Xilinx? Хорошо бы найти информацию по ПЛИС Lattice подобно Xilinx Virtex 2 Pro.

    3) Какая есть литература по Lattice на русском?

     

    Заранее благодарен.

  10. Посмотри переменные среды, после установки они могли измениться... и еще сам modelsim.ini

     

    Переменные среды естестевенно меняются и установлены правильно:

    LMC_HOME = 'c:\Xilinx\ISE\smartmodel\nt\installed_nt'

     

    он ругается:

    ALIB: Library `unisims_ver' attached

    unisims_ver = C:\Xilinx\ISE\verilog\mti_se\unisims_ver\unisims_ver.lib

    AMAP: Adding library mapping `C:\Xilinx\ISE\verilog\mti_se\unisims_ver\unisims_ver.lib'

    ALOG: Error: Unknown switch: -source (for vlog)

     

    на сайте xilinx я подобного вопроса не нашел.

  11. Коллеги, какая-то ерунда произошла с генерацией библиотек. Подскажите как исправить?

    Переустановил ISE на 9.1 и перестала генериться библиотека, вернул назад 8.1, ничего не изменилось, также не генериться, причем на второй машине при тех же настройках, что обсуждались выше все нормально работает

    ALIB: Library `unisims_ver' attached
    unisims_ver = C:\Xilinx\ISE\verilog\mti_se\unisims_ver\unisims_ver.lib
    AMAP: Adding library mapping `C:\Xilinx\ISE\verilog\mti_se\unisims_ver\unisims_ver.lib'
    ALOG: Error: Unknown switch: -source (for vlog)

     

    полностью лог (compxlib.log):

        ____  ____
       /   /\/   /
      /___/  \  /    VENDOR      : Xilinx Inc.
      \   \   \/     VERSION     : 8.1i (I.27)
       \   \         APPLICATION : compxlib
       /   /         CONTENTS    : Compilation Log
      /___/   /\     FILENAME    : compxlib.log
      \   \  /  \    CREATED ON  : Thu May 31 15:18:06 2007
       \___\/\___\
    
    XILINX = 'C:\Xilinx\ISE'
    Library Source => 'C:\Xilinx\ISE'
    
    Compilation Mode = FAST
    Scheduling library installation & compilation for VIRTEX-II Pro 
    
    Signature:-
    ------------------------------------------------------------------------------
    compxlib -s mti_se
             -arch virtex2p
              -lib unisim
              -lib simprim
              -lib xilinxcorelib
              -lib smartmodel
             -l verilog
             -dir C:\Xilinx\ISE
             -log compxlib.log
             -w
    ------------------------------------------------------------------------------
    
    --> Installing Xilinx smartmodel library .....
        > Environment variable LMC_HOME = 'c:\Xilinx\ISE\smartmodel\nt\installed_nt'
        > Extracting model names from 'C:\Xilinx\ISE\smartmodel\nt\image\sl_toc.dat'
        > Creating 'model.list' at current directory
    
    Library Image directory : 'C:\Xilinx\ISE\smartmodel\nt\image'
    Installation directory : 'c:\Xilinx\ISE\smartmodel\nt\installed_nt'
    Running installer...... 
    
    
    Synopsys/Logic Modeling sl_admin
    Copyright (c) 1984-2000 Synopsys Inc. ALL RIGHTS RESERVED
    Version: 02042
    
    Reading Library
    Reading Media
    Checking user selections
    Loading models....
    Loading model: dcc_fpgacore_swift, version: 02402, platform: pcnt
    Loading model: emac_swift, version: 01022, platform: pcnt
    Loading model: glogic_adv_swift, version: 01004, platform: pcnt
    Loading model: glogic_swift, version: 04001, platform: pcnt
    Loading model: gt10_swift, version: 02221, platform: pcnt
    Loading model: gt11_swift, version: 01013, platform: pcnt
    Loading model: gt_swift, version: 01602, platform: pcnt
    Loading model: ppc405_adv_swift, version: 01009, platform: pcnt
    Loading model: ppc405_swift, version: 04003, platform: pcnt
    Updating Configuration files
    Writing: c:\Xilinx\ISE\smartmodel\nt\installed_nt/data/pcnt.lmc
    Updating Library Versioned links
    Updating Documentation files
    Updating Library cache
    Install complete
    
    
    
    Compiling Xilinx HDL Libraries for ModelSim SE Simulator
    Language => verilog
    Backing up setup files if any...
    Output directory => 'C:\Xilinx\ISE\verilog\mti_se'
    
    --> Compiling verilog unisim library
        > Unisim compiled to C:\Xilinx\ISE\verilog\mti_se\unisims_ver
    
    ==============================================================================
    ALIB: Library `unisims_ver' attached
    unisims_ver = C:\Xilinx\ISE\verilog\mti_se\unisims_ver\unisims_ver.lib
    
    AMAP: Adding library mapping `C:\Xilinx\ISE\verilog\mti_se\unisims_ver\unisims_ver.lib'
    
    ALOG: Error: Unknown switch: -source (for vlog)
    
    ==============================================================================
    
        > Log file C:\Xilinx\ISE\verilog\mti_se\unisims_ver\cxl_unisim.log generated
        > Library mapping successful, setup file(s) modelsim.ini updated
    
    compxlib[unisims_ver]: 1 error(s), no warning(s)
    
    --> Compiling verilog simprim library
        > Simprim compiled to C:\Xilinx\ISE\verilog\mti_se\simprims_ver
    
    ==============================================================================
    ALIB: Library `simprims_ver' attached
    simprims_ver = C:\Xilinx\ISE\verilog\mti_se\simprims_ver\simprims_ver.lib
    
    AMAP: Adding library mapping `C:\Xilinx\ISE\verilog\mti_se\simprims_ver\simprims_ver.lib'
    
    ALOG: Error: Unknown switch: -source (for vlog)
    
    ==============================================================================
    
        > Log file C:\Xilinx\ISE\verilog\mti_se\simprims_ver\cxl_simprim.log generated
        > Library mapping successful, setup file(s) modelsim.ini updated
    
    compxlib[simprims_ver]: 1 error(s), no warning(s)
    
    --> Compiling verilog XilinxCoreLib library
        > XilinxCoreLib compiled to C:\Xilinx\ISE\verilog\mti_se\XilinxCoreLib_ver
    
    ==============================================================================
    ALIB: Library `XilinxCoreLib_ver' attached
    XilinxCoreLib_ver = C:\Xilinx\ISE\verilog\mti_se\XilinxCoreLib_ver\XilinxCoreLib_ver.lib
    
    AMAP: Adding library mapping `C:\Xilinx\ISE\verilog\mti_se\unisims_ver\unisims_ver.lib'
    
    AMAP: Adding library mapping `C:\Xilinx\ISE\verilog\mti_se\XilinxCoreLib_ver\XilinxCoreLib_ver.lib'
    
    ALOG: Error: Unknown switch: -source (for vlog)
    
    ==============================================================================
    
        > Log file C:\Xilinx\ISE\verilog\mti_se\XilinxCoreLib_ver\cxl_XilinxCoreLib.log generated
        > Library mapping successful, setup file(s) modelsim.ini updated
    
    compxlib[XilinxCoreLib_ver]: 1 error(s), no warning(s)
    
    --> Compiling verilog smartmodel(unisim) library
        > unable to parse initialization file. Check if the 
          file modelsim.ini is present in the current directory
          with read/write permissions
        > SWIFT Interface configuration procedure failed
        > Unisim Smart-Models compiled to C:\Xilinx\ISE\verilog\mti_se\unisims_ver
    
    ==============================================================================
    AMAP: Adding library mapping `C:\Xilinx\ISE\verilog\mti_se\unisims_ver\unisims_ver.lib'
    
    ALOG: Error: Unknown switch: -source (for vlog)
    
    ALOG: Error: Unknown switch: -source (for vlog)
    
    ==============================================================================
    
        > Log file C:\Xilinx\ISE\verilog\mti_se\unisims_ver\cxl_smartmodel.log generated
        > Library mapping successful, setup file(s) modelsim.ini updated
    
    compxlib[smartmodel]: 2 error(s), no warning(s)
    
    --> Compiling verilog smartmodel(simprim) library
        > unable to parse initialization file. Check if the 
          file modelsim.ini is present in the current directory
          with read/write permissions
        > SWIFT Interface configuration procedure failed
        > Simprim Smart-Models compiled to C:\Xilinx\ISE\verilog\mti_se\simprims_ver
    
    ==============================================================================
    AMAP: Adding library mapping `C:\Xilinx\ISE\verilog\mti_se\simprims_ver\simprims_ver.lib'
    
    ALOG: Error: Unknown switch: -source (for vlog)
    
    ALOG: Error: Unknown switch: -source (for vlog)
    
    ==============================================================================
    
        > Log file C:\Xilinx\ISE\verilog\mti_se\simprims_ver\cxl_smartmodel.log generated
        > Library mapping successful, setup file(s) modelsim.ini updated
    
    compxlib[smartmodel]: 2 error(s), no warning(s)
    
    **************************************************************************
    *                         COMPILATION SUMMARY                            *
    *                                                                        *
    *  Simulator used: mti_se                                                *
    *  Compiled on: Thu May 31 15:18:15 2007                                 *
    *                                                                        *
    **************************************************************************
    *     Library      |  Lang   |  Mapped Name(s)   | Err#(s)  |  Warn#(s)  *
    *------------------------------------------------------------------------*
    *  unisim          | verilog | unisims_ver       | 1        | 0          *
    *------------------------------------------------------------------------*
    *  simprim         | verilog | simprims_ver      | 1        | 0          *
    *------------------------------------------------------------------------*
    *  XilinxCoreLib   | verilog | XilinxCoreLib_ver | 1        | 0          *
    *------------------------------------------------------------------------*
    *  smartmodel      | verilog | unisims_ver       | 2        | 0          *
    *------------------------------------------------------------------------*
    *  smartmodel      | verilog | simprims_ver      | 2        | 0          *
    *------------------------------------------------------------------------*

  12. описывал память с разной размерностью адресса и данных на разных портах, хотел перевод из последовательной в параллельную сделать, в итоге синтезатор выдавал на триггерах и никак это в блочную память не получилось, т.ч. пользуйтесь примитивом, но если получится, то скиньте описание сюда, это будет всем интересно.

     

    ps: такую тему я уже поднимал, поищите в архивах, может там будет что интересного...

  13. Synplify все понимает корректно...

    ISE используется как с Synplify, так и без него, проект на Synplify полностью работает, для того чтобы найти где ругается ISE ставлю XST синтезатор, он ругается, но таких ошибок нет в описании, либо показывает на ошибку не связанную ни с чем

    пока сидел ещё нашел, что не понимает ISE9.1:

    SELREF_WIDTH = f_clogb2( f_clogb2(REFC_MAX/REFC_MIN - 1)),

    так пропускает:

    SELREF_WIDTH_S = f_clogb2(REFC_MAX/REFC_MIN - 1),

    SELREF_WIDTH = f_clogb2( SELREF_WIDTH_S ),

    в целом мой проект все равно не проходит, где-то ещё срубается.

     

    по поводу включаемой функции:

    /* Подключение стандартных функций */

    /* функция расчета округленного логарифма от заданной константы */

    `include "L:/GMV2/FUNCTION/f_clogb2.v"

    текст:

    // Функция вычисления ширины шины в зависимости от её "глубины"
    // Вызов: f_clogb2(YOUR_NUMBER - 1), пример: если YOUR_NUMBER = 8, то f_clogb2 = 3;
    function integer f_clogb2;
    //Входы
    input [31:0] value; //Значение глубины шины
    //Цикл функции
    if        (value == 0)     f_clogb2 = 1;
    else if (value == 1)    f_clogb2 = 1;
    else begin
        for (f_clogb2 = 0; value > 0; f_clogb2 = f_clogb2 + 1)
            value = value >> 1;
    end
    endfunction    //MaZZi'S ZoNE

    ещё что заметил, как-то не правильно обрабатывается иерархия проекта, к примеру у меня каждый модуль включает используемые компоненты, причем все файлы в проекте обрамлены такой шапкой:

    `ifdef    include_C_STROBE2/*условие проверки включения компоненты */
    `else
    `define include_C_STROBE2    /*    макрос включения компоненты    */
    /*  подключение констант модуля и его компонент */
    module C_STROBE2 
    ....
    endmodule
    `endif

    это для того, чтобы не было одинакового подключения, так вот заметил, если уже где-то используется компонента, то проподает сразу же верхний уровень...

     

    все это точно, препроцессор некорректно работает с `ifdef

    не помню было ли такое раньше, вроде не было...

  14. Нашел после долгих мучений :)

    ---------------------------------------------------------------------------------------------------------------
    пример кода, который понимает ISE9.1(SP3):
    ---------------------------------------------------------------------------------------------------------------
    parameter
    SRCPORT_NUMB_WIDTH = f_clogb2(SRCPORT_NUMB-1) /* как только поставил параметром а не вычисление ISE9.1 проглотил */
    ;
    reg [(SRCPORT_NUMB_WIDTH - 1): 0]
    R_count_distrib_access =0;
    ...
    C_MUXP #(
      .WIDTH_SEL (SRCPORT_NUMB_WIDTH),
    ...
    ---------------------------------------------------------------------------------------------------------------
    пример кода, который не понимает ISE9.1(SP3), но не мешает для ISE8.1(SP3) со сторонним синтезатором Synplify PRO 8.4:
    ---------------------------------------------------------------------------------------------------------------
    reg [( f_clogb2(SRCPORT_NUMB-1) - 1): 0]
    R_count_distrib_access =0;
    ...
    C_MUXP #(
      .WIDTH_SEL ( f_clogb2(SRCPORT_NUMB-1) ),
    ...

  15. Ещё одна сложная ситуация, теперь покруче:

     

    При моделировании все сидит в иксах, пишет причем такую вешь:

    # Top level modules:
    #     ROCKETIO
    # vsim -L unisims_ver -lib work -voptargs=\"+acc\" -t 1ps +maxdelays ROCKETIO glbl 
    # ** Note: (vsim-3813) Design is being optimized due to module recompilation...
    # Loading work.glbl(fast)
    # Loading work.ROCKETIO(fast)
    # Loading C:\Xilinx_ISE81\verilog\mti_se\unisims_ver.GT_CUSTOM(fast)
    # Loading C:\Xilinx_ISE81\verilog\mti_se\unisims_ver.GT(fast)
    # Loading C:\Xilinx_ISE81\verilog\mti_se\unisims_ver.GT_SWIFT(fast)
    # Loading C:\Xilinx_ISE81\verilog\mti_se\unisims_ver.GT_SWIFT_BIT(fast)
    # ** Warning: (vsim-PLI-3003) C:/Xilinx_ISE81/verilog/mti_se/unisims_ver/unisims_ver_SmartWrapper_source.v(18339): [TOFD] - System task or function '$lm_model' is not defined.
    #         Region: /ROCKETIO/GT_CUSTOM_INST/gt_1/gt_swift_1/I1
    # .main_pane.mdi.interior.cs.vm.paneset.cli_0.wf.clip.cs.pw.wf
    # .main_pane.workspace.interior.cs.nb.canvas.notebook.cs.page3.cs
    # .main_pane.signals.interior.cs

     

    где мне взять эту самую функцию "$lm_model" я её нигде не нашел... :help:

     

    Нашел ответ в

    http://www.xilinx.com/xlnx/xil_ans_display...tPagePath=17903

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