代码之家  ›  专栏  ›  技术社区  ›  Paebbels

是否允许从另一个信号初始化信号?

  •  1
  • Paebbels  · 技术社区  · 7 年前

    我有下面的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;
    

    • 里维埃拉PRO 2018.2
    • GHDL 0.36-开发
    • ModelSim 10.5b型

    此代码导致ModelSim的 模式:

    **错误(可抑制):C:/Training/Git/RGB\u LED/lib/Clock/src/Clock\u Monitor.vhdl(18):(vcom-1013)“Period”的初始值取决于信号“clockperiodheigh”的值。
    **错误(可抑制):C:/Training/Git/RGB\u LED/lib/Clock/src/Clock\u Monitor.vhdl(18):(vcom-1013)“Period”的初始值取决于信号“ClockPeriodLow”的值。

    编辑:
    用于使用ModelSim编译的代码行:

    vcom -modelsimini modelsim.ini -2008 -explicit -pedanticerrors -rangecheck -work OSVVM_Clock C:/Training/Git/RGB_LED/lib/Clock/src/clock_Monitor.vhdl
    
    0 回复  |  直到 7 年前