淺析基于Modelsim FLI接口的協(xié)同仿真[3]

交換技術(shù)與網(wǎng)絡(luò)管控 責(zé)任編輯:hack0r 2012-01-11

摘要:4.2動態(tài)鏈接庫的程序結(jié)構(gòu)利用modelsim仿真時,可根據(jù)VHDL文件的聲明,調(diào)用DLL文件(如sim.dll)。在VHDL文件中已經(jīng)給出了調(diào)用文件(sim.dll)和初始化函數(shù)名(如sim_init),modelsim根據(jù)這些信息,調(diào)用sim.dll中的sim_init函數(shù),完成初始化工作。初始化包括:①初始化全局變量;②設(shè)置VHDL輸入輸出信號與c程序變量的對應(yīng)關(guān)系;③

  4.2 動態(tài)鏈接庫的程序結(jié)構(gòu)

  利用modelsim仿真時,可根據(jù)VHDL文件的聲明,調(diào)用DLL文件(如sim.dll)。在VHDL文件中已經(jīng)給出了調(diào)用文件(sim.dll)和初始化函數(shù)名(如sim_init),modelsim根據(jù)這些信息,調(diào)用sim.dll中的sim_init函數(shù),完成初始化工作。初始化包括:

  ①初始化全局變量;

  ②設(shè)置VHDL輸入輸出信號與c程序變量的對應(yīng)關(guān)系;

  ③設(shè)置輸出信號的一些初始狀態(tài)(mti_ScheduleDriver);

  ④設(shè)置在仿真器重新仿真(restart)和仿真器退出仿真(quit)等情況下執(zhí)行的一些函數(shù)(mti_AddRestartCB和mti_AddQuitCB等),如釋放動態(tài)申請內(nèi)存等;

  ⑤設(shè)置敏感表,給出在某些信號發(fā)生變化(如時鐘上升沿等)時執(zhí)行的函數(shù)。

  ⑥其它。

  C程序的設(shè)計步驟如下:

  (1)包含頭文件,包括c程序常用的一些頭文件和modelsim給出的外部語言接口頭文件mti.h。Modelsim給出的外部接口函數(shù)說明、類型定義等都在mti.h中。

  (2)定義自己的結(jié)構(gòu)體,這一點主要是為了編程方便,例如輸入輸出信號對應(yīng)的變量在各函數(shù)中基本上都會用到,可以把這些變量定義成一個結(jié)構(gòu),便于參數(shù)傳遞。

  (3)編寫初始化函數(shù)

  初始化函數(shù)的定義為:

  init_func(mtiReginoIdT region,char *param,

  mtiInterfaceListT *generics,mtiInterfaceListT *ports)

  各參數(shù)的意義可以參閱modelsim用戶手冊。

  下面結(jié)合上面給出的初始化函數(shù)要完成的任務(wù)進(jìn)行詳細(xì)說明。

  a.初始化全局變量(略)

  b.設(shè)置VHDL輸入輸出信號與c程序變量的對應(yīng)關(guān)系。這是通過調(diào)用mti_FindPort函數(shù)實現(xiàn)的。mti_FindPort函數(shù)定義為:

  mfiSignalIdT mti_FindPort(mtiInterfaceListT *list,char *name);

  例如,定義輸入輸出信號對應(yīng)的結(jié)構(gòu)ip:

  PortStruct ip;

  就可以用:

  ip_in1=mti_FindPort(ports,“in1”);

  來實現(xiàn)輸入信號in1與變量in1的對應(yīng)關(guān)系。

  對輸出信號來說,它的目的是產(chǎn)生驅(qū)動。因此,這些變量(out1和out2)除了要找到對應(yīng)的輸出信號外,還要驅(qū)動這些信號。對信號的驅(qū)動可以通過調(diào)用mti_CreateDriver函數(shù)來實現(xiàn)。該函數(shù)的定義為:

  mtiDriverIdT mti_CreateDriver(mtiSignalIdT sig);

  由于這些變量一般只用于對外驅(qū)動,因此可以簡單寫成下面的形式:

  ip.out1 = mti+ CreateDriver(mti_FindPort(ports,“out1”));

[1]  [2]  [3]  [4]  

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請考生以權(quán)威部門公布的內(nèi)容為準(zhǔn)!

通信工程師備考資料免費領(lǐng)取

去領(lǐng)取

距離2025 通信工程師考試

還有
  • 3
  • 1
  • 3
專注在線職業(yè)教育23年

項目管理

信息系統(tǒng)項目管理師

廠商認(rèn)證

信息系統(tǒng)項目管理師

信息系統(tǒng)項目管理師

學(xué)歷提升

!
咨詢在線老師!