diff options
author | 1138-4EB <1138-4EB@users.noreply.github.com> | 2017-03-02 00:24:57 +0100 |
---|---|---|
committer | tgingold <tgingold@users.noreply.github.com> | 2017-12-10 12:02:05 +0100 |
commit | 28d9ddf0e2aff8fe6937949f54285cae9ee478a7 (patch) | |
tree | 0b91e072680c96493037360f7c05f1568912a99c /doc/using/UART_srcs/vhpi/tty_pkg.vhd | |
parent | 13a5256846f946d646a21faf221001f9ba15044d (diff) | |
download | ghdl-28d9ddf0e2aff8fe6937949f54285cae9ee478a7.tar.gz ghdl-28d9ddf0e2aff8fe6937949f54285cae9ee478a7.tar.bz2 ghdl-28d9ddf0e2aff8fe6937949f54285cae9ee478a7.zip |
Add raw sources of tutorial 'How to simulate an UART VHDL code with ghdl}' by 'René Doß'
Diffstat (limited to 'doc/using/UART_srcs/vhpi/tty_pkg.vhd')
-rw-r--r-- | doc/using/UART_srcs/vhpi/tty_pkg.vhd | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/doc/using/UART_srcs/vhpi/tty_pkg.vhd b/doc/using/UART_srcs/vhpi/tty_pkg.vhd new file mode 100644 index 000000000..99e3a347f --- /dev/null +++ b/doc/using/UART_srcs/vhpi/tty_pkg.vhd @@ -0,0 +1,70 @@ +--tty_pkg.vhd +library ieee; +use ieee.std_logic_1164.all; +use ieee.numeric_std.all; + +package tty_pkg is + + function to_integer( s: std_logic) return integer; + function to_std_logic( s : integer ) return std_logic; + + function tty_open (portn : integer) return integer; + attribute foreign of tty_open : + function is "VHPIDIRECT tty_open"; + + function read_data ( dummy: integer) return integer; + attribute foreign of read_data : + function is "VHPIDIRECT read_data"; + + function read_enable ( dummy: integer) return integer; + attribute foreign of read_enable : + function is "VHPIDIRECT read_enable"; + + procedure write_data ( data: in integer); + attribute foreign of write_data : + procedure is "VHPIDIRECT write_data"; + +end; + + +package body tty_pkg is + + function to_integer( s : std_logic ) return integer is + begin + if s = '1' then + return 1; + else + return 0; + end if; + end function; + + function to_std_logic( s : integer ) return std_logic is + begin + if s > 0 then + return '1'; + else + return '0'; + end if; + end function; + + + function tty_open (portn : integer) return integer is + begin + assert false report "VHPI" severity failure; + end tty_open; + + function read_data (dummy: integer) return integer is + begin + assert false report "VHPI" severity failure; + end read_data; + + function read_enable (dummy: integer) return integer is + begin + assert false report "VHPI" severity failure; + end read_enable; + + procedure write_data ( data: in integer) is + begin + assert false report "VHPI" severity failure; + end write_data; +end tty_pkg; |