【发布时间】:2014-09-22 13:15:22
【问题描述】:
我有一个带有真实输入的 SV 子块:
`include "Components.sv"
module EPO_REG #(parameter bit ExtIso = 1, real th_high = 5.5 , real th_low = 4.2)(input bit EPO_SETPOINT, NVC_PMOS_ON, NVC_NMOS_ON ,**input var real IVcc5, Viso, Vcc5_ext** ,output real EpoPower, Vcc5, IEPO);
real Iin;
real Vout;
real Vcap;
real Ids_nmos;
...........
...........
例如,我以这种方式将此块放在 VHDL 顶层(或 Testbench)中:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.NUMERIC_STD.ALL;
USE IEEE.MATH_REAL.ALL;
entity EPO_REG_WRAP is
GENERIC (
ExtIso : bit := '1';
th_high : REAL := 5.5;
th_low : REAL := 4.2
);
PORT (
NVC_PMOS_ON : IN STD_LOGIC;
NVC_NMOS_ON : IN STD_LOGIC;
EPO_SETPOINT : IN STD_LOGIC;
Vcc5_ext : IN REAL;
IVcc5 : IN REAL;
Viso : IN REAL;
Vcc5 : OUT REAL;
EpoPower : OUT REAL;
IEPO : OUT REAL
);
end;
architecture beh of EPO_REG_WRAP is
COMPONENT EPO_REG
GENERIC (
ExtIso : bit := '1';
th_high : REAL := 5.5;
th_low : REAL := 4.2
);
PORT (
NVC_PMOS_ON : IN STD_LOGIC;
NVC_NMOS_ON : IN STD_LOGIC;
EPO_SETPOINT : IN STD_LOGIC;
Vcc5_ext : IN REAL;
IVcc5 : IN REAL;
Viso : IN REAL;
Vcc5 : OUT REAL;
EpoPower : OUT REAL;
IEPO : OUT REAL
);
end component;
begin
UEPO_REG: EPO_REG
GENERIC MAP(
ExtIso => '1',
th_high => 5.5,
th_low => 4.2
)
PORT MAP(
NVC_PMOS_ON => NVC_PMOS_ON,
NVC_NMOS_ON => NVC_NMOS_ON,
EPO_SETPOINT => EPO_SETPOINT,
Vcc5_ext => Vcc5_ext,
IVcc5 => IVCC5,
Viso => Viso,
EpoPower => EpoPower,
Vcc5 => Vcc5,
IEPO => IEPO
);
end;
但我在阐述过程中遇到以下错误:
ncelab: *E,MAINVR: Mapping of Verilog var port of mode IN with VHDL port/signal of entity/component 'VCC5_EXT' (File : EPO_REG_WRAP.vhd, line: 42, position: 13) is not supported.
ncelab: *E,MAINVR: Mapping of Verilog var port of mode IN with VHDL port/signal of entity/component 'IVCC5' (File : EPO_REG_WRAP.vhd, line: 43, position: 10) is not supported.
ncelab: *E,MAINVR: Mapping of Verilog var port of mode IN with VHDL port/signal of entity/component 'VISO' (File :EPO_REG_WRAP.vhd, line: 44, position: 9) is not supported.
据我所知,SV 支持端口上的实际值。我做错了什么?
【问题讨论】:
标签: vhdl system-verilog