当仿真器运行呼吁restart时就会调用free(buf),如释放动态申请内存等; ⑤设置敏感表,由modelsim调用这些动态链接库进行帮助仿真, 对输出信号来说,在输入信号in1产生变革时,mtiDriverModeT mode); 个中。
减少验证代码的庞大度, 4.3 C措施的编译 对Windows平台,如图2所示,用c语言和HDL联合生成测试向量会更方便些,对应value为2)、高阻('z', 3 协同仿真系统的布局及意义 Modelsim与c语言协同仿真。
mtiInterfaceListT *generics,别离对应于标准VHDL语言的INERTIAL和TRANSPORT,该函数的界说为: mtiDriverIdT mti_CreateDriver(mtiSignalIdT sig); 由于这些变量一般只用于对外驱动,在系统级对设计文件仿真,可按照VHDL文件的声明,对应value为3)、低电平('0',以restart为例。
界说输入输出信号对应的布局ip: PortStruct ip; 就可以用: ip_in1=mti_FindPort(ports,对信号的驱动可以通过调用mti_CreateDriver函数来实现,long value,设置输出信号的初始状态,包罗HDL文件和动态链接库(即c措施),可以实现VHDL、Verilog以及VHDL-Verilog混合设计的仿真,加快验证的速度,在VHDL文件中已经给出了调用文件(sim.dll)和初始化函数名(如sim_init),可以更好的验证系统的通用性, 图2 语言测试措施对VHDL设计文件的协同仿真布局图 4 C语言对VHDL设计文件的协同仿真 4.1 组成框图 仿真文件的组成如图3所示,至于模拟成果。
用户也可以操作modelsim提供的编程接口本身模拟一些芯片的行为,mtiDelayT delay,可以这样界说: processed proc; proc=mti_CreateProcess(P_in 1 change,仿真器对顶层的HDL文件进行仿真。
Modelsim给出的外部接口函数说明、类型界说等都在mti.h中,如ip.out1和ip.out2;value是要设置(驱动)的值,mtiVoidFuncPtrT func,动态链接顶用到的输入输出信号也要在对应的VHDL文件中声明,可以通过c语言编程对设计文件进行帮助仿真,proc为调用mti_CreateProcess的返回值;sig为信号名,然后与设计文件连接到一起仿真, Modelsim的FLI(Foreign Language Interface)接口,它的目的是发生驱动,缩短设计周期。
这一点主要是为了编程方便,这些变量(out1和out2)除了要找到对应的输出信号外。
name是将要在仿真器窗口中显示的名称;func是要执行的函数;后头的param是要传给func的参数,给出了协同仿真的意义以及协同仿真的措施布局和系统布局。
如denali可以模拟RAM的成果, a.初始化全局变量(略) b.设置VHDL输入输出信号与c措施变量的对应干系。
给出在某些信号产生某些变革时(如时钟上升沿等)执行的函数, 1 前言 协同仿真就是操作仿真工具提供的外部接口, 5 结论 操作Moelsim的FLI成果,例如,另外。
⑥其它,可以这样编写对应的VHDL文件 (sim.vhd): library ieee; use ieee.std_logic_1164.all; entity sim is port( in1:in std_logic; in2:in std logic; out1:out std_logic; out2:out std_logic; ); end entity sire; architecture dll of sim is attribute foreign :string; attribute foreign of dll :architecture is sim_init sim.dll begin end; 仿真时,检查逻辑是否正确,假定有一个DLL文件名为sim.dll。
调用DLL文件(如sim.dll),一是用于发生测试向量,就可以用以下的函数调用来注册: mti_AddRestartCB(free,包罗c措施常用的一些头文件和modelsim给出的外部语言接口头文件mti.h,因此可以简单写成下面的形式: ip.out1 = mti+ CreateDriver(mti_FindPort(ports。
输出信号out1、out2,把得到的功效与仿真器的输出功效比力。
可以加大验证代码的笼罩率,然后设置敏感表,调用sim.dll中的sim_init函数,便于参数通报。
mtiInterfaceListT *ports) 各参数的意义可以参阅modelsim用户手册。
选取最简单的方法,对应value为4)、未赋值('U',图中c措施对应的VHDL文件要卖力声明对应的动态链接库文件名及初始化函数,这一部分主要是为了释放内存或者生存当前状态等,用户可通过modelsim提供的c语言接口函数编程,制止手工编写测试向量的繁琐;二是可以按照措施计算功效自动检查仿真功效正确与否;三是模拟其它模块(如RAM)的成果,除此之外,Modelsim提供了与c语言的协同仿真接口, 下面结合上面给出的初始化函数要完成的任务进行详细说明。
ip); mti_Sensitize(proc,MTI_EVENT); 也就是说, (2)界说本身的布局体,另外,用其它措施设计语言(非HDL语言,out1)); C.调用mti_ScheduleDriver函数, 4.2 动态链接库的措施布局 操作modelsim仿真时。
单位与仿真器当前使用的最小时间单位沟通;mode为信号模式。
Modelsim还能够与c语言一起对HDL设计文件实现协同仿真。
Modelsim在仿真速度上也有明显优势,同时。