mirror of
https://github.com/wfjm/w11.git
synced 2026-02-11 10:55:17 +00:00
85 lines
3.6 KiB
VHDL
85 lines
3.6 KiB
VHDL
-- $Id: cmoda7lib.vhd 984 2018-01-02 20:56:27Z mueller $
|
|
--
|
|
-- Copyright 2017- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
|
--
|
|
-- This program is free software; you may redistribute and/or modify it under
|
|
-- the terms of the GNU General Public License as published by the Free
|
|
-- Software Foundation, either version 3, or (at your option) any later version.
|
|
--
|
|
-- This program is distributed in the hope that it will be useful, but
|
|
-- WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY
|
|
-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
-- for complete details.
|
|
--
|
|
------------------------------------------------------------------------------
|
|
-- Package Name: cmoda7lib
|
|
-- Description: CmodA7 components
|
|
--
|
|
-- Dependencies: -
|
|
-- Tool versions: viv 2016.4-2017.1; ghdl 0.34
|
|
--
|
|
-- Revision History:
|
|
-- Date Rev Version Comment
|
|
-- 2017-06-11 912 1.1 add c7_sram_memctl
|
|
-- 2017-06-04 906 1.0 Initial version
|
|
------------------------------------------------------------------------------
|
|
|
|
library ieee;
|
|
use ieee.std_logic_1164.all;
|
|
|
|
use work.slvtypes.all;
|
|
|
|
package cmoda7lib is
|
|
|
|
component cmoda7_aif is -- CmodA7, abstract iface, base
|
|
port (
|
|
I_CLK12 : in slbit; -- 12 MHz clock
|
|
I_RXD : in slbit; -- receive data (board view)
|
|
O_TXD : out slbit; -- transmit data (board view)
|
|
I_BTN : in slv2; -- c7 buttons
|
|
O_LED : out slv2; -- c7 leds
|
|
O_RGBLED0_N: out slv3 -- c7 rgb-led 0 (act.low)
|
|
);
|
|
end component;
|
|
|
|
component cmoda7_sram_aif is -- CmodA7, abstract iface, base+sram
|
|
port (
|
|
I_CLK12 : in slbit; -- 12 MHz clock
|
|
I_RXD : in slbit; -- receive data (board view)
|
|
O_TXD : out slbit; -- transmit data (board view)
|
|
I_BTN : in slv2; -- c7 buttons
|
|
O_LED : out slv2; -- c7 leds
|
|
O_RGBLED0_N: out slv3; -- c7 rgb-led 0 (act.low)
|
|
O_MEM_CE_N : out slbit; -- sram: chip enable (act.low)
|
|
O_MEM_WE_N : out slbit; -- sram: write enable (act.low)
|
|
O_MEM_OE_N : out slbit; -- sram: output enable (act.low)
|
|
O_MEM_ADDR : out slv19; -- sram: address lines
|
|
IO_MEM_DATA : inout slv8 -- sram: data lines
|
|
);
|
|
end component;
|
|
|
|
component c7_sram_memctl is -- SRAM controller
|
|
port (
|
|
CLK : in slbit; -- clock
|
|
RESET : in slbit; -- reset
|
|
REQ : in slbit; -- request
|
|
WE : in slbit; -- write enable
|
|
BUSY : out slbit; -- controller busy
|
|
ACK_R : out slbit; -- acknowledge read
|
|
ACK_W : out slbit; -- acknowledge write
|
|
ACT_R : out slbit; -- signal active read
|
|
ACT_W : out slbit; -- signal active write
|
|
ADDR : in slv17; -- address
|
|
BE : in slv4; -- byte enable
|
|
DI : in slv32; -- data in (memory view)
|
|
DO : out slv32; -- data out (memory view)
|
|
O_MEM_CE_N : out slbit; -- sram: chip enable (act.low)
|
|
O_MEM_WE_N : out slbit; -- sram: write enable (act.low)
|
|
O_MEM_OE_N : out slbit; -- sram: output enable (act.low)
|
|
O_MEM_ADDR : out slv19; -- sram: address lines
|
|
IO_MEM_DATA : inout slv8 -- sram: data lines
|
|
);
|
|
end component;
|
|
|
|
end package cmoda7lib;
|