aboutsummaryrefslogtreecommitdiffstats
path: root/doc/using/UART_srcs/vhpi/tty_pkg.vhd
diff options
context:
space:
mode:
author1138-4EB <1138-4EB@users.noreply.github.com>2017-03-02 00:24:57 +0100
committertgingold <tgingold@users.noreply.github.com>2017-12-10 12:02:05 +0100
commit28d9ddf0e2aff8fe6937949f54285cae9ee478a7 (patch)
tree0b91e072680c96493037360f7c05f1568912a99c /doc/using/UART_srcs/vhpi/tty_pkg.vhd
parent13a5256846f946d646a21faf221001f9ba15044d (diff)
downloadghdl-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.vhd70
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;