aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/vhdl-std_package.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-12-30 16:46:22 +0100
committerTristan Gingold <tgingold@free.fr>2019-12-30 16:46:22 +0100
commit6340fddff21567b10dd774d5459536d37c6239dc (patch)
tree36706a03719471083be6934bb2e432cb4a386128 /src/vhdl/vhdl-std_package.adb
parente9dfd170410bc6fc534f845976e08082fe217fc5 (diff)
downloadghdl-6340fddff21567b10dd774d5459536d37c6239dc.tar.gz
ghdl-6340fddff21567b10dd774d5459536d37c6239dc.tar.bz2
ghdl-6340fddff21567b10dd774d5459536d37c6239dc.zip
ams-vhdl: add frequency function, minor fixes.
Diffstat (limited to 'src/vhdl/vhdl-std_package.adb')
-rw-r--r--src/vhdl/vhdl-std_package.adb19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/vhdl/vhdl-std_package.adb b/src/vhdl/vhdl-std_package.adb
index d080327ff..7f6273dfe 100644
--- a/src/vhdl/vhdl-std_package.adb
+++ b/src/vhdl/vhdl-std_package.adb
@@ -1051,9 +1051,9 @@ package body Vhdl.Std_Package is
Add_Decl (Function_Now);
end;
- -- AMS-LRM17 16.3
- -- impure function NOW return REAL;
if AMS_Vhdl then
+ -- AMS-LRM17 16.3
+ -- impure function NOW return REAL;
declare
Function_Now : Iir_Function_Declaration;
begin
@@ -1066,6 +1066,21 @@ package body Vhdl.Std_Package is
Vhdl.Sem_Utils.Compute_Subprogram_Hash (Function_Now);
Add_Decl (Function_Now);
end;
+
+ -- AMS-LRM17 16.3
+ -- impure function FREQUENCY return REAL;
+ declare
+ Function_Freq : Iir_Function_Declaration;
+ begin
+ Function_Freq := Create_Std_Decl (Iir_Kind_Function_Declaration);
+ Set_Std_Identifier (Function_Freq, Std_Names.Name_Frequency);
+ Set_Return_Type (Function_Freq, Real_Subtype_Definition);
+ Set_Pure_Flag (Function_Freq, False);
+ Set_Implicit_Definition
+ (Function_Freq, Iir_Predefined_Frequency_Function);
+ Vhdl.Sem_Utils.Compute_Subprogram_Hash (Function_Freq);
+ Add_Decl (Function_Freq);
+ end;
end if;
-- natural subtype