我目前正在设置一个基于Cocotb的验证环境。
我刚刚发现,如果使用VHDL, Cocotb提供的示例在我的情况下不起作用,因为我的模拟器没有FLI(外语接口)。我得到以下消息:
错误(抑制):(vsim-FLI-3155)在此版本的ModelSim中未启用FLI。
(我有ModelSim的Altera Starter版本,确实不包括FLI)。
令我惊讶的是,这个例子与Verilog一起工作。根据我的理解,Verilog使用的不是FLI,而是VPI。
谁能给我解释一下FLI是强制性的吗?在Cocotb中有什么功能可以启用FLI ?
另一个问题:如果我的顶部是在Verilog,但我的其余设计在VHDL?它会起作用吗?
Cocotb有一个FLI、VPI和VHPI的内部抽象层(GPI)。例如,如果您使用Cocotb与GHDL,它只使用VPI。您可以尝试针对VPI而不是FLI编译Cocotb,并加载VPI库而不是FLI库。