我有以下VHDL模拟代码。这是一个基于OSVVM的clock_Monitor
验证IP的最小示例。
library IEEE;
use IEEE.std_logic_1164.all;
entity clock_monitor is
generic (
PERIOD_HIGH : time := 5 ns;
PERIOD_LOW : time := 5 ns
);
port (
Clock : in std_logic
);
end entity;
architecture vip of clock_monitor is
signal ClockPeriodHigh : time := PERIOD_HIGH;
signal ClockPeriodLow : time := PERIOD_LOW;
signal Period : time := ClockPeriodHigh + ClockPeriodLow;
begin
-- not relevant
end architecture;
此代码分析:
此代码在ModelSim的 pedantic 模式下导致错误:
**错误(可抑制):C:/Training/Git/RGB_LED/lib/Clock/src/clock_Monitor.vhdl(18):(vcom-1013)“ Period”的初始值取决于信号“ ClockPeriodHigh”的值“。
**错误(可抑制):C:/Training/Git/RGB_LED/lib/Clock/src/clock_Monitor.vhdl(18):(vcom-1013)“ Period”的初始值取决于信号“ ClockPeriodLow”的值。 / p>
有什么想法为什么会被模拟器接受,但在严格/学究模式下会报告为错误?
修改:
用于与ModelSim一起编译的代码行:
vcom -modelsimini modelsim.ini -2008 -explicit -pedanticerrors -rangecheck -work OSVVM_Clock C:/Training/Git/RGB_LED/lib/Clock/src/clock_Monitor.vhdl