diff options
author | Tristan Gingold <tgingold@free.fr> | 2019-12-30 16:46:22 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2019-12-30 16:46:22 +0100 |
commit | 6340fddff21567b10dd774d5459536d37c6239dc (patch) | |
tree | 36706a03719471083be6934bb2e432cb4a386128 /src/vhdl/vhdl-std_package.adb | |
parent | e9dfd170410bc6fc534f845976e08082fe217fc5 (diff) | |
download | ghdl-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.adb | 19 |
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 |