rename ieee lib

This commit is contained in:
锦恢 2024-12-04 01:28:33 +08:00
parent fb157d07a9
commit aacd135f36
26 changed files with 678 additions and 2 deletions

View File

@ -0,0 +1,38 @@
package ENV is
procedure STOP (STATUS: INTEGER);
procedure STOP;
procedure FINISH (STATUS: INTEGER);
procedure FINISH;
function RESOLUTION_LIMIT return DELAY_LENGTH;
attribute foreign of ENV: package is "NO C code generation";
attribute foreign of STOP[INTEGER] : procedure is "vhdl_stop";
attribute foreign of FINISH[INTEGER] : procedure is "vhdl_finish";
attribute foreign of RESOLUTION_LIMIT : function is "vhdl_resolution_limit";
end package ENV;
package body ENV is
procedure STOP (STATUS: INTEGER) is
begin
end;
procedure STOP is
begin
stop(0);
end;
procedure FINISH (STATUS: INTEGER) is
begin
end;
procedure FINISH is
begin
finish(0);
end;
function RESOLUTION_LIMIT return DELAY_LENGTH is
begin
return 0 ns;
end;
end package body ENV;

View File

@ -0,0 +1,106 @@
-- $Id: standard.vhd,v 1.1 2003/01/17 19:41:54 kumar Exp $
package STANDARD is
-- predefined enumeration types:
type BOOLEAN is (FALSE, TRUE);
type BIT is ('0', '1');
type CHARACTER is (
NUL, SOH, STX, ETX, EOT, ENQ, ACK, BEL,
BS, HT, LF, VT, FF, CR, SO, SI,
DLE, DC1, DC2, DC3, DC4, NAK, SYN, ETB,
CAN, EM, SUB, ESC, FSP, GSP, RSP, USP,
' ', '!', '"', '#', '$', '%', '&', ''',
'(', ')', '*', '+', ',', '-', '.', '/',
'0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', ':', ';', '<', '=', '>', '?',
'@', 'A', 'B', 'C', 'D', 'E', 'F', 'G',
'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',
'X', 'Y', 'Z', '[', '\', ']', '^', '_',
'`', 'a', 'b', 'c', 'd', 'e', 'f', 'g',
'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
'x', 'y', 'z', '{', '|', '}', '~', DEL,
C128, C129, C130, C131, C132, C133, C134, C135,
C136, C137, C138, C139, C140, C141, C142, C143,
C144, C145, C146, C147, C148, C149, C150, C151,
C152, C153, C154, C155, C156, C157, C158, C159,
' ', '¡', '¢', '£', '¤', '¥', '¦', '§',
'¨', '©', 'ª', '«', '¬', '­', '®', '¯',
'°', '±', '²', '³', '´', 'µ', '', '·',
'¸', '¹', 'º', '»', '¼', '½', '¾', '¿',
'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç',
'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï',
'Ð', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', '×',
'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'Þ', 'ß',
'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç',
'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï',
'ð', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', '÷',
'ø', 'ù', 'ú', 'û', 'ü', 'ý', 'þ', 'ÿ' );
type SEVERITY_LEVEL is (NOTE, WARNING, ERROR, FAILURE);
type FILE_OPEN_KIND is (READ_MODE, WRITE_MODE, APPEND_MODE);
type FILE_OPEN_STATUS is (OPEN_OK, STATUS_ERROR, NAME_ERROR, MODE_ERROR);
-- predefined numeric types:
type INTEGER is range -2147483648 to 2147483647;
type REAL is range -1.7014111e+308 to 1.7014111e+308;
-- predefined type TIME:
type TIME is range -2147483647 to 2147483647
-- this declaration is for the convenience of the parser. Internally
-- the parser treats it as if the range were:
-- range -9223372036854775807 to 9223372036854775807
units
fs; -- femtosecond
ps = 1000 fs; -- picosecond
ns = 1000 ps; -- nanosecond
us = 1000 ns; -- microsecond
ms = 1000 us; -- millisecond
sec = 1000 ms; -- second
min = 60 sec; -- minute
hr = 60 min; -- hour
end units;
subtype DELAY_LENGTH is TIME range 0 fs to TIME'HIGH;
-- function that returns the current simulation time:
function NOW return DELAY_LENGTH;
-- predefined numeric subtypes:
subtype NATURAL is INTEGER range 0 to INTEGER'HIGH;
subtype POSITIVE is INTEGER range 1 to INTEGER'HIGH;
-- predefined array types:
type STRING is array (POSITIVE range <>) of CHARACTER;
type BIT_VECTOR is array (NATURAL range <>) of BIT;
attribute FOREIGN: STRING;
--VHDL 2008
type boolean_vector is array (natural range <>) of boolean;
type integer_vector is array (natural range <>) of integer;
type real_vector is array (natural range <>) of real;
type time_vector is array (natural range <>) of time;
end STANDARD;

View File

@ -0,0 +1,532 @@
---------------------------------------------------------------------------
---------------------------------------------------------------------------
-- This is Package TEXTIO as defined in Chapter 16.4 of the
-- IEEE Standard VHDL Language Reference Manual (IEEE Std. 1076-2008)
----------------------------------------------------------------------------
--
-- Verific : Added body/pragma's to handle file interfacing functions for synthesis
--
---------------------------------------------------------------------------
---------------------------------------------------------------------------
package TEXTIO is
-- Type definitions for Text I/O
type LINE is access string;
type TEXT is file of string;
type SIDE is (right, left);
subtype WIDTH is natural;
function JUSTIFY(VALUE: STRING;
JUSTIFIED: SIDE := RIGHT;
FIELD: WIDTH := 0) return STRING;
-- Standard Text Files
file input : TEXT open READ_MODE is "STD_INPUT";
file output : TEXT open WRITE_MODE is "STD_OUTPUT";
-- Input Routines for Standard Types
procedure READLINE(file F: TEXT; L: out LINE);
procedure READ(L:inout LINE; VALUE: out bit; GOOD : out BOOLEAN);
procedure READ(L:inout LINE; VALUE: out bit);
procedure READ(L:inout LINE; VALUE: out bit_vector; GOOD : out BOOLEAN);
procedure READ(L:inout LINE; VALUE: out bit_vector);
procedure READ(L:inout LINE; VALUE: out BOOLEAN; GOOD : out BOOLEAN);
procedure READ(L:inout LINE; VALUE: out BOOLEAN);
procedure READ(L:inout LINE; VALUE: out character; GOOD : out BOOLEAN);
procedure READ(L:inout LINE; VALUE: out character);
procedure READ(L:inout LINE; VALUE: out integer; GOOD : out BOOLEAN);
procedure READ(L:inout LINE; VALUE: out integer);
procedure READ(L:inout LINE; VALUE: out real; GOOD : out BOOLEAN);
procedure READ(L:inout LINE; VALUE: out real);
procedure READ(L:inout LINE; VALUE: out string; GOOD : out BOOLEAN);
procedure READ(L:inout LINE; VALUE: out string);
procedure READ(L:inout LINE; VALUE: out time; GOOD : out BOOLEAN);
procedure READ(L:inout LINE; VALUE: out time);
procedure SREAD (L: inout LINE; VALUE: out STRING; STRLEN: out NATURAL);
alias STRING_READ is SREAD [LINE, STRING, NATURAL];
alias BREAD is READ [LINE, BIT_VECTOR, BOOLEAN];
alias BREAD is READ [LINE, BIT_VECTOR];
alias BINARY_READ is READ [LINE, BIT_VECTOR, BOOLEAN];
alias BINARY_READ is READ [LINE, BIT_VECTOR];
procedure OREAD (L: inout LINE; VALUE: out BIT_VECTOR; GOOD: out BOOLEAN);
procedure OREAD (L: inout LINE; VALUE: out BIT_VECTOR);
alias OCTAL_READ is OREAD [LINE, BIT_VECTOR, BOOLEAN];
alias OCTAL_READ is OREAD [LINE, BIT_VECTOR];
procedure HREAD (L: inout LINE; VALUE: out BIT_VECTOR; GOOD: out BOOLEAN);
procedure HREAD (L: inout LINE; VALUE: out BIT_VECTOR);
alias HEX_READ is HREAD [LINE, BIT_VECTOR, BOOLEAN];
alias HEX_READ is HREAD [LINE, BIT_VECTOR];
-- Output Routines for Standard Types
procedure WRITELINE(file F : TEXT; L : inout LINE);
procedure tee(file F: text; L: inout line);
procedure WRITE(L : inout LINE; VALUE : in bit;
JUSTIFIED: in SIDE := right;
FIELD: in WIDTH := 0);
procedure WRITE(L : inout LINE; VALUE : in bit_vector;
JUSTIFIED: in SIDE := right;
FIELD: in WIDTH := 0);
procedure WRITE(L : inout LINE; VALUE : in BOOLEAN;
JUSTIFIED: in SIDE := right;
FIELD: in WIDTH := 0);
procedure WRITE(L : inout LINE; VALUE : in character;
JUSTIFIED: in SIDE := right;
FIELD: in WIDTH := 0);
procedure WRITE(L : inout LINE; VALUE : in integer;
JUSTIFIED: in SIDE := right;
FIELD: in WIDTH := 0);
procedure WRITE(L : inout LINE; VALUE : in real;
JUSTIFIED: in SIDE := right;
FIELD: in WIDTH := 0;
DIGITS: in NATURAL := 0);
procedure WRITE(L : inout LINE; VALUE : in string;
JUSTIFIED: in SIDE := right;
FIELD: in WIDTH := 0);
procedure WRITE(L : inout LINE; VALUE : in time;
JUSTIFIED: in SIDE := right;
FIELD: in WIDTH := 0;
UNIT: in TIME := ns);
alias SWRITE is WRITE [LINE, STRING, SIDE, WIDTH];
alias STRING_WRITE is WRITE [LINE, STRING, SIDE, WIDTH];
alias BWRITE is WRITE [LINE, BIT_VECTOR, SIDE, WIDTH];
alias BINARY_WRITE is WRITE [LINE, BIT_VECTOR, SIDE, WIDTH];
procedure OWRITE (L: inout LINE; VALUE: in BIT_VECTOR;
JUSTIFIED: in SIDE := RIGHT;
FIELD: in WIDTH := 0);
alias OCTAL_WRITE is OWRITE [LINE, BIT_VECTOR, SIDE, WIDTH];
procedure HWRITE (L: inout LINE; VALUE: in BIT_VECTOR;
JUSTIFIED: in SIDE := RIGHT;
FIELD: in WIDTH := 0);
alias HEX_WRITE is HWRITE [LINE, BIT_VECTOR, SIDE, WIDTH];
-- File Position Predicates
-- function ENDLINE(variable L : in LINE) return BOOLEAN;
-- Function ENDLINE as declared cannot be legal VHDL, and
-- the entire function was deleted from the definition
-- by the Issues Screening and Analysis Committee (ISAC),
-- a subcommittee of the VHDL Analysis and Standardization
-- Group (VASG) on 10 November, 1988. See "The Sense of
-- the VASG", October, 1989, VHDL Issue Number 0032.
-- function ENDFILE (file f: TEXT) return BOOLEAN ;
-------------------------------------------------------------------
-- Declare the textio directive attribute; to be set on
-- basic functions that have a 'builtin' implementation for elaboration
-------------------------------------------------------------------
ATTRIBUTE synthesis_return : string ;
attribute foreign of TEXTIO: package is "NO C code generation";
-- File position Predicates predicate
attribute foreign of readline:procedure is "std_textio_readline";
attribute foreign of read[LINE,BIT,BOOLEAN] :procedure is "std_textio_read1";
attribute foreign of read[LINE,BIT]:procedure is "std_textio_read2";
attribute foreign of read[LINE,BIT_VECTOR, BOOLEAN]:procedure is "std_textio_read3";
attribute foreign of read[LINE,BIT_VECTOR]:procedure is "std_textio_read4";
attribute foreign of read[LINE,BOOLEAN, BOOLEAN]:procedure is "std_textio_read5";
attribute foreign of read[LINE,BOOLEAN]:procedure is "std_textio_read6";
attribute foreign of read[LINE,CHARACTER, BOOLEAN]:procedure is "std_textio_read7";
attribute foreign of read[LINE,CHARACTER]:procedure is "std_textio_read8";
attribute foreign of read[LINE,INTEGER, BOOLEAN]:procedure is "std_textio_read9";
attribute foreign of read[LINE,INTEGER]:procedure is "std_textio_read10";
attribute foreign of read[LINE,REAL, BOOLEAN]:procedure is "std_textio_read11";
attribute foreign of read[LINE,REAL]:procedure is "std_textio_read12";
attribute foreign of read[LINE,STRING, BOOLEAN]:procedure is "std_textio_read13";
attribute foreign of read[LINE,STRING]:procedure is "std_textio_read14";
attribute foreign of read[LINE,TIME, BOOLEAN]:procedure is "std_textio_read15";
attribute foreign of read[LINE,TIME]:procedure is "std_textio_read16";
attribute foreign of writeline:procedure is "std_textio_writeline";
attribute foreign of tee:procedure is "std_textio_tee";
attribute foreign of write[LINE, BIT, SIDE, WIDTH]:procedure is "std_textio_write1";
attribute foreign of write[LINE, BIT_VECTOR, SIDE, WIDTH]:procedure is "std_textio_write2";
attribute foreign of write[LINE, BOOLEAN, SIDE, WIDTH]:procedure is "std_textio_write3";
attribute foreign of write[LINE, CHARACTER, SIDE, WIDTH]:procedure is "std_textio_write4";
attribute foreign of write[LINE, INTEGER, SIDE, WIDTH]:procedure is "std_textio_write5";
attribute foreign of write[LINE, REAL, SIDE, WIDTH, NATURAL]:procedure is "std_textio_write6";
attribute foreign of write[LINE, STRING, SIDE, WIDTH]:procedure is "std_textio_write7";
attribute foreign of write[LINE, TIME, SIDE, WIDTH, TIME]:procedure is "std_textio_write8";
end;
package body TEXTIO is
-- The subprograms declared in the TEXTIO package are
-- ignored for synthesis.
-- Assertion warnings will be generated when these
-- functions are called unconditionally.
function JUSTIFY(VALUE: STRING;
JUSTIFIED: SIDE := RIGHT;
FIELD: WIDTH := 0) return STRING is
begin
return VALUE ; -- do nothing for now
end JUSTIFY ;
procedure READLINE(file f: TEXT; L: out LINE) is
ATTRIBUTE synthesis_return OF L:variable IS "readline" ;
-- verific synthesis readline
begin
assert (FALSE)
report "Procedure call to READLINE ignored for synthesis"
severity WARNING ;
end READLINE ;
procedure READ(L:inout LINE; VALUE: out bit; GOOD : out BOOLEAN) is
ATTRIBUTE synthesis_return OF L:variable IS "read" ;
-- verific synthesis read
begin
assert (FALSE)
report "Procedure call to READ ignored for synthesis"
severity WARNING ;
end READ ;
procedure READ(L:inout LINE; VALUE: out bit) is
ATTRIBUTE synthesis_return OF L:variable IS "read" ;
-- verific synthesis read
begin
assert (FALSE)
report "Procedure call to READ ignored for synthesis"
severity WARNING ;
end READ ;
procedure READ(L:inout LINE; VALUE: out bit_vector; GOOD : out BOOLEAN) is
ATTRIBUTE synthesis_return OF L:variable IS "read" ;
-- verific synthesis read
begin
assert (FALSE)
report "Procedure call to READ ignored for synthesis"
severity WARNING ;
end READ ;
procedure READ(L:inout LINE; VALUE: out bit_vector) is
ATTRIBUTE synthesis_return OF L:variable IS "read" ;
-- verific synthesis read
begin
assert (FALSE)
report "Procedure call to READ ignored for synthesis"
severity WARNING ;
end READ ;
procedure READ(L:inout LINE; VALUE: out BOOLEAN; GOOD : out BOOLEAN) is
ATTRIBUTE synthesis_return OF L:variable IS "read" ;
-- verific synthesis read
begin
assert (FALSE)
report "Procedure call to READ ignored for synthesis"
severity WARNING ;
end READ ;
procedure READ(L:inout LINE; VALUE: out BOOLEAN) is
ATTRIBUTE synthesis_return OF L:variable IS "read" ;
-- verific synthesis read
begin
assert (FALSE)
report "Procedure call to READ ignored for synthesis"
severity WARNING ;
end READ ;
procedure READ(L:inout LINE; VALUE: out character; GOOD : out BOOLEAN) is
ATTRIBUTE synthesis_return OF L:variable IS "read" ;
-- verific synthesis read
begin
assert (FALSE)
report "Procedure call to READ ignored for synthesis"
severity WARNING ;
end READ ;
procedure READ(L:inout LINE; VALUE: out character) is
ATTRIBUTE synthesis_return OF L:variable IS "read" ;
-- verific synthesis read
begin
assert (FALSE)
report "Procedure call to READ ignored for synthesis"
severity WARNING ;
end READ ;
procedure READ(L:inout LINE; VALUE: out integer; GOOD : out BOOLEAN) is
ATTRIBUTE synthesis_return OF L:variable IS "read" ;
-- verific synthesis read
begin
assert (FALSE)
report "Procedure call to READ ignored for synthesis"
severity WARNING ;
end READ ;
procedure READ(L:inout LINE; VALUE: out integer) is
ATTRIBUTE synthesis_return OF L:variable IS "read" ;
-- verific synthesis read
begin
assert (FALSE)
report "Procedure call to READ ignored for synthesis"
severity WARNING ;
end READ ;
procedure READ(L:inout LINE; VALUE: out real; GOOD : out BOOLEAN) is
ATTRIBUTE synthesis_return OF L:variable IS "read" ;
-- verific synthesis read
begin
assert (FALSE)
report "Procedure call to READ ignored for synthesis"
severity WARNING ;
end READ ;
procedure READ(L:inout LINE; VALUE: out real) is
ATTRIBUTE synthesis_return OF L:variable IS "read" ;
-- verific synthesis read
begin
assert (FALSE)
report "Procedure call to READ ignored for synthesis"
severity WARNING ;
end READ ;
procedure READ(L:inout LINE; VALUE: out string; GOOD : out BOOLEAN) is
ATTRIBUTE synthesis_return OF L:variable IS "read" ;
-- verific synthesis read
begin
assert (FALSE)
report "Procedure call to READ ignored for synthesis"
severity WARNING ;
end READ ;
procedure READ(L:inout LINE; VALUE: out string) is
ATTRIBUTE synthesis_return OF L:variable IS "read" ;
-- verific synthesis read
begin
assert (FALSE)
report "Procedure call to READ ignored for synthesis"
severity WARNING ;
end READ ;
procedure READ(L:inout LINE; VALUE: out time; GOOD : out BOOLEAN) is
ATTRIBUTE synthesis_return OF L:variable IS "read" ;
-- verific synthesis read
begin
assert (FALSE)
report "Procedure call to READ ignored for synthesis"
severity WARNING ;
end READ ;
procedure READ(L:inout LINE; VALUE: out time) is
ATTRIBUTE synthesis_return OF L:variable IS "read" ;
-- verific synthesis read
begin
assert (FALSE)
report "Procedure call to READ ignored for synthesis"
severity WARNING ;
end READ ;
procedure OREAD(L:inout LINE; VALUE: out BIT_VECTOR; GOOD: out BOOLEAN) is
ATTRIBUTE synthesis_return OF L:variable IS "oread" ;
-- verific synthesis oread
begin
assert (FALSE)
report "Procedure call to OREAD ignored for synthesis"
severity WARNING ;
end OREAD ;
procedure OREAD(L:inout LINE; VALUE: out BIT_VECTOR) is
ATTRIBUTE synthesis_return OF L:variable IS "oread" ;
-- verific synthesis oread
begin
assert (FALSE)
report "Procedure call to OREAD ignored for synthesis"
severity WARNING ;
end OREAD ;
procedure HREAD(L:inout LINE; VALUE: out BIT_VECTOR; GOOD: out BOOLEAN) is
ATTRIBUTE synthesis_return OF L:variable IS "hread" ;
-- verific synthesis hread
begin
assert (FALSE)
report "Procedure call to HREAD ignored for synthesis"
severity WARNING ;
end HREAD ;
procedure HREAD(L:inout LINE; VALUE: out BIT_VECTOR) is
ATTRIBUTE synthesis_return OF L:variable IS "hread" ;
-- verific synthesis hread
begin
assert (FALSE)
report "Procedure call to HREAD ignored for synthesis"
severity WARNING ;
end HREAD ;
procedure SREAD(L:inout LINE; VALUE: out STRING; STRLEN: out NATURAL) is
ATTRIBUTE synthesis_return OF L:variable IS "sread" ;
-- verific synthesis sread
begin
assert (FALSE)
report "Procedure call to SREAD ignored for synthesis"
severity WARNING ;
end SREAD ;
procedure WRITELINE(file F : TEXT; L : inout LINE) is
ATTRIBUTE synthesis_return OF L:variable IS "writeline" ;
-- verific synthesis writeline
begin
assert (FALSE)
report "Procedure call to WRITELINE ignored for synthesis"
severity WARNING ;
end WRITELINE ;
procedure tee(file F: text; L: inout line) is
ATTRIBUTE synthesis_return OF L:variable IS "tee" ;
-- verific synthesis writeline
begin
assert (FALSE)
report "Procedure call to TEE ignored for synthesis"
severity WARNING ;
end tee;
procedure WRITE(L : inout LINE; VALUE : in bit;
JUSTIFIED: in SIDE := right;
FIELD: in WIDTH := 0) is
ATTRIBUTE synthesis_return OF L:variable IS "write" ;
-- verific synthesis write
begin
assert (FALSE)
report "Procedure call to WRITE ignored for synthesis"
severity WARNING ;
end WRITE ;
procedure WRITE(L : inout LINE; VALUE : in bit_vector;
JUSTIFIED: in SIDE := right;
FIELD: in WIDTH := 0) is
ATTRIBUTE synthesis_return OF L:variable IS "write" ;
-- verific synthesis write
begin
assert (FALSE)
report "Procedure call to WRITE ignored for synthesis"
severity WARNING ;
end WRITE ;
procedure WRITE(L : inout LINE; VALUE : in BOOLEAN;
JUSTIFIED: in SIDE := right;
FIELD: in WIDTH := 0) is
ATTRIBUTE synthesis_return OF L:variable IS "write" ;
-- verific synthesis write
begin
assert (FALSE)
report "Procedure call to WRITE ignored for synthesis"
severity WARNING ;
end WRITE ;
procedure WRITE(L : inout LINE; VALUE : in character;
JUSTIFIED: in SIDE := right;
FIELD: in WIDTH := 0) is
ATTRIBUTE synthesis_return OF L:variable IS "write" ;
-- verific synthesis write
begin
assert (FALSE)
report "Procedure call to WRITE ignored for synthesis"
severity WARNING ;
end WRITE ;
procedure WRITE(L : inout LINE; VALUE : in integer;
JUSTIFIED: in SIDE := right;
FIELD: in WIDTH := 0) is
ATTRIBUTE synthesis_return OF L:variable IS "write" ;
-- verific synthesis write
begin
assert (FALSE)
report "Procedure call to WRITE ignored for synthesis"
severity WARNING ;
end WRITE ;
procedure WRITE(L : inout LINE; VALUE : in real;
JUSTIFIED: in SIDE := right;
FIELD: in WIDTH := 0;
DIGITS: in NATURAL := 0) is
ATTRIBUTE synthesis_return OF L:variable IS "write" ;
-- verific synthesis write
begin
assert (FALSE)
report "Procedure call to WRITE ignored for synthesis"
severity WARNING ;
end WRITE ;
procedure WRITE(L : inout LINE; VALUE : in string;
JUSTIFIED: in SIDE := right;
FIELD: in WIDTH := 0) is
ATTRIBUTE synthesis_return OF L:variable IS "write" ;
-- verific synthesis write
begin
assert (FALSE)
report "Procedure call to WRITE ignored for synthesis"
severity WARNING ;
end WRITE ;
procedure WRITE(L : inout LINE; VALUE : in time;
JUSTIFIED: in SIDE := right;
FIELD: in WIDTH := 0;
UNIT: in TIME := ns) is
ATTRIBUTE synthesis_return OF L:variable IS "write" ;
-- verific synthesis write
begin
assert (FALSE)
report "Procedure call to WRITE ignored for synthesis"
severity WARNING ;
end WRITE ;
procedure OWRITE(L : inout LINE; VALUE : in BIT_VECTOR;
JUSTIFIED: in SIDE := right;
FIELD: in WIDTH := 0) is
ATTRIBUTE synthesis_return OF L:variable IS "owrite" ;
-- verific synthesis owrite
begin
assert (FALSE)
report "Procedure call to OWRITE ignored for synthesis"
severity WARNING ;
end OWRITE ;
procedure HWRITE(L : inout LINE; VALUE : in BIT_VECTOR;
JUSTIFIED: in SIDE := right;
FIELD: in WIDTH := 0) is
ATTRIBUTE synthesis_return OF L:variable IS "hwrite" ;
-- verific synthesis hwrite
begin
assert (FALSE)
report "Procedure call to HWRITE ignored for synthesis"
severity WARNING ;
end HWRITE ;
-- function ENDFILE (f: in TEXT) return BOOLEAN is
-- begin
-- assert (FALSE)
-- report "Function call to ENDFILE returns TRUE for synthesis"
-- severity WARNING ;
-- return TRUE ;
-- end ENDFILE ;
end ;

View File

@ -3,5 +3,5 @@
std.files = ['std/*.vhd']
std.is_third_party = true
ieee.files = ['ieee_2008/*.vhdl', 'synopsys/*.vhd', 'vital2000/*.vhdl', 'unifast/primitive/*.vhd', 'unifast/secureip/*.vhd', 'unimacro/*.vhd']
ieee.files = ['ieee/*.vhdl', 'synopsys/*.vhd', 'vital2000/*.vhdl', 'unifast/primitive/*.vhd', 'unifast/secureip/*.vhd', 'unimacro/*.vhd']
ieee.is_third_party = true