w11 - vhd 0.794
W11 CPU core and support modules
Loading...
Searching...
No Matches
s3boardlib.vhd
Go to the documentation of this file.
1-- $Id: s3boardlib.vhd 1181 2019-07-08 17:00:50Z mueller $
2-- SPDX-License-Identifier: GPL-3.0-or-later
3-- Copyright 2007-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
4--
5------------------------------------------------------------------------------
6-- Package Name: s3boardlib
7-- Description: S3BOARD components
8--
9-- Dependencies: -
10-- Tool versions: xst 8.1-14.7; ghdl 0.18-0.31
11-- Revision History:
12-- Date Rev Version Comment
13-- 2011-07-09 391 1.3.5 move s3_rs232_iob_int_ext to bpgenlib
14-- 2011-07-08 390 1.3.4 move s3_(dispdrv|humanio*) to bpgenlib
15-- 2011-07-03 387 1.3.3 move s3_rs232_iob_(int|ext) to bpgenlib
16-- 2010-12-30 351 1.3.2 use rblib; rename human s3_humanio_rri -> _rbus
17-- 2010-11-06 336 1.3.1 rename input pin CLK -> I_CLK50
18-- 2010-06-03 300 1.3 add s3_humanio_rri (now needs rrilib)
19-- 2010-05-21 292 1.2.2 rename _PM1_ -> _FUSP_
20-- 2010-05-16 291 1.2.1 rename memctl_s3sram -> s3_sram_memctl; _usp->_fusp
21-- 2010-05-01 286 1.2 added s3board_usp_aif (base+pm1_rs232)
22-- 2010-04-17 278 1.1.6 rename, prefix dispdrv,sram_summy with s3_;
23-- add s3_rs232_iob_(int|ext|int_ext)
24-- 2010-04-11 276 1.1.5 add DEBOUNCE for s3_humanio
25-- 2010-04-10 275 1.1.4 add s3_humanio
26-- 2008-02-17 117 1.1.3 memctl_s3sram: use req,we interface
27-- 2008-01-20 113 1.1.2 rename memdrv -> memctl_s3sram
28-- 2007-12-16 101 1.1.1 use _N for active low
29-- 2007-12-09 100 1.1 add sram memory signals; sram_dummy; memdrv
30-- 2007-09-23 84 1.0 Initial version
31------------------------------------------------------------------------------
32
33library ieee;
34use ieee.std_logic_1164.all;
35
36use work.slvtypes.all;
37
38package s3boardlib is
39
40component s3board_aif is -- S3BOARD, abstract iface, base
41 port (
42 I_CLK50 : in slbit; -- 50 MHz board clock
43 I_RXD : in slbit; -- receive data (board view)
44 O_TXD : out slbit; -- transmit data (board view)
45 I_SWI : in slv8; -- s3 switches
46 I_BTN : in slv4; -- s3 buttons
47 O_LED : out slv8; -- s3 leds
48 O_ANO_N : out slv4; -- 7 segment disp: anodes (act.low)
49 O_SEG_N : out slv8; -- 7 segment disp: segments (act.low)
50 O_MEM_CE_N : out slv2; -- sram: chip enables (act.low)
51 O_MEM_BE_N : out slv4; -- sram: byte enables (act.low)
52 O_MEM_WE_N : out slbit; -- sram: write enable (act.low)
53 O_MEM_OE_N : out slbit; -- sram: output enable (act.low)
54 O_MEM_ADDR : out slv18; -- sram: address lines
55 IO_MEM_DATA : inout slv32 -- sram: data lines
56 );
57end component;
58
59component s3board_fusp_aif is -- S3BOARD, abstract iface, base+fusp
60 port (
61 I_CLK50 : in slbit; -- 50 MHz board clock
62 I_RXD : in slbit; -- receive data (board view)
63 O_TXD : out slbit; -- transmit data (board view)
64 I_SWI : in slv8; -- s3 switches
65 I_BTN : in slv4; -- s3 buttons
66 O_LED : out slv8; -- s3 leds
67 O_ANO_N : out slv4; -- 7 segment disp: anodes (act.low)
68 O_SEG_N : out slv8; -- 7 segment disp: segments (act.low)
69 O_MEM_CE_N : out slv2; -- sram: chip enables (act.low)
70 O_MEM_BE_N : out slv4; -- sram: byte enables (act.low)
71 O_MEM_WE_N : out slbit; -- sram: write enable (act.low)
72 O_MEM_OE_N : out slbit; -- sram: output enable (act.low)
73 O_MEM_ADDR : out slv18; -- sram: address lines
74 IO_MEM_DATA : inout slv32; -- sram: data lines
75 O_FUSP_RTS_N : out slbit; -- fusp: rs232 rts_n
76 I_FUSP_CTS_N : in slbit; -- fusp: rs232 cts_n
77 I_FUSP_RXD : in slbit; -- fusp: rs232 rx
78 O_FUSP_TXD : out slbit -- fusp: rs232 tx
79 );
80end component;
81
82component s3_sram_dummy is -- SRAM protection dummy
83 port (
84 O_MEM_CE_N : out slv2; -- sram: chip enables (act.low)
85 O_MEM_BE_N : out slv4; -- sram: byte enables (act.low)
86 O_MEM_WE_N : out slbit; -- sram: write enable (act.low)
87 O_MEM_OE_N : out slbit; -- sram: output enable (act.low)
88 O_MEM_ADDR : out slv18; -- sram: address lines
89 IO_MEM_DATA : inout slv32 -- sram: data lines
90 );
91end component;
92
93component s3_sram_memctl is -- SRAM controller
94 port (
95 CLK : in slbit; -- clock
96 RESET : in slbit; -- reset
97 REQ : in slbit; -- request
98 WE : in slbit; -- write enable
99 BUSY : out slbit; -- controller busy
100 ACK_R : out slbit; -- acknowledge read
101 ACK_W : out slbit; -- acknowledge write
102 ACT_R : out slbit; -- signal active read
103 ACT_W : out slbit; -- signal active write
104 ADDR : in slv18; -- address
105 BE : in slv4; -- byte enable
106 DI : in slv32; -- data in (memory view)
107 DO : out slv32; -- data out (memory view)
108 O_MEM_CE_N : out slv2; -- sram: chip enables (act.low)
109 O_MEM_BE_N : out slv4; -- sram: byte enables (act.low)
110 O_MEM_WE_N : out slbit; -- sram: write enable (act.low)
111 O_MEM_OE_N : out slbit; -- sram: output enable (act.low)
112 O_MEM_ADDR : out slv18; -- sram: address lines
113 IO_MEM_DATA : inout slv32 -- sram: data lines
114 );
115end component;
116
117end package s3boardlib;
inout IO_MEM_DATA slv32
out O_MEM_CE_N slv2
out O_MEM_WE_N slbit
out O_MEM_ADDR slv18
out O_MEM_BE_N slv4
out O_MEM_OE_N slbit
inout IO_MEM_DATA slv32
out O_MEM_CE_N slv2
out ACT_W slbit
out O_MEM_WE_N slbit
out ACK_R slbit
out BUSY slbit
out O_MEM_ADDR slv18
out ACT_R slbit
out O_MEM_BE_N slv4
out ACK_W slbit
out O_MEM_OE_N slbit
std_logic_vector( 3 downto 0) slv4
Definition: slvtypes.vhd:36
std_logic_vector( 17 downto 0) slv18
Definition: slvtypes.vhd:51
std_logic_vector( 31 downto 0) slv32
Definition: slvtypes.vhd:59
std_logic slbit
Definition: slvtypes.vhd:30
std_logic_vector( 1 downto 0) slv2
Definition: slvtypes.vhd:34