<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于Modelsim FLI接口的FPGA仿真技術(shù)

          基于Modelsim FLI接口的FPGA仿真技術(shù)

          作者: 時間:2008-06-18 來源:電子技術(shù)應用 收藏

            在注冊后,當器運行命令restart時就會調(diào)用free(buf)。

          本文引用地址:http://www.ex-cimer.com/article/84416.htm

            其他一些函數(shù)可以參照的用戶手冊,這里不再詳述。

            e.設置敏感表,給出在某些信號發(fā)生某些變化時(如時鐘上升沿等)執(zhí)行的函數(shù)。例如,在輸入信號in1發(fā)生變化時,要執(zhí)行函數(shù)in1_change(in1_change為用戶定義好的函數(shù)),可以這樣定義:
           processID proc;
          proc = mti_Cre ateProcess("P_in1change", in1_change, &ip);
           mti_Sensitize(proc, ip.in1, MTI_EVENT);


            也就是說,先創(chuàng)建進程,然后設置敏感表,當滿足敏感表的條件時,器就會執(zhí)行該進程。
          mti_CreateProcess函數(shù)的定義為: mtiProcessIdT mti_CreateProcess(char *name, mtiVoidFuncPtrT func, void *param);

            其中name是將要在器窗口中顯示的名稱;func是要執(zhí)行的函數(shù);后面的param是要傳給func的參數(shù)。mti_Sensitize的定義為:void mti_Sensitize(mtiProcessIdT proc, mtiSignalIdT sig, mtiProcessTriggerT when);

            其中proc為調(diào)用mti_CreateProcess的返回值;sig為信號名,即文件的輸入輸出信號對應于C程序的變量;when可以取MTI_EVENT或者MTI_ACTIVE兩種值。

            3.4 C程序的編譯

            對 Windows平臺,采用的編譯器是 Microsoft Visual C++,并用如下的命令行進行編譯:
          cl -c -Imodeltechinclude app.c
          link -dll -export: app.obj modeltechwin32mtipli.lib

            上面的是 modelsim 的安裝目錄,是 C 程序的初始化函數(shù)名,如我們給出的 sim.c 中的 sim_init。編譯之后就可以生成.dll 文件。
           
            最后,仿真向量是用 C語言還是用 HDL 直接產(chǎn)生,要視設計者的應用而定,選取最簡單的方式。在大多數(shù)情況下,用 C語言和 HDL 聯(lián)合生成測試向量會更方便些。
           
            參考文獻:
          1、《可編程邏輯系統(tǒng)的設計技術(shù)》[美]Kevin Skahill編著,朱明程孫普 譯,東南大學出版社,1998.9
          2、“ User’s Manual”, Mentor Graphics, 幫助文件


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: FPGA 仿真 Modelsim FLI VHDL

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();