head	1.7;
access;
symbols
	bg2_23:1.7
	bg2_22:1.7
	bg2_21:1.7
	bg2_20:1.7
	bg2_16:1.7
	bg2_15:1.7
	bg2_12:1.7
	bg2_07:1.7
	isorc2008_submission:1.3
	handbook_alpha_edition:1.3
	jtres2007_submission:1.3;
locks; strict;
comment	@# @;


1.7
date	2008.02.23.23.18.48;	author martin;	state Exp;
branches;
next	1.6;
commitid	b7347c0a9b84567;

1.6
date	2008.02.22.13.17.43;	author 9914pich;	state Exp;
branches;
next	1.5;
commitid	d3b47becb764567;

1.5
date	2008.02.20.14.35.22;	author martin;	state Exp;
branches;
next	1.4;
commitid	514547bc3aa84567;

1.4
date	2008.02.20.14.29.33;	author martin;	state Exp;
branches;
next	1.3;
commitid	4d7c47bc39384567;

1.3
date	2007.06.01.13.05.26;	author 9914pich;	state Exp;
branches;
next	1.2;
commitid	64a4466019954567;

1.2
date	2007.03.18.01.47.07;	author martin;	state Exp;
branches;
next	1.1;
commitid	32c145fc99f04567;

1.1
date	2007.03.17.14.59.40;	author martin;	state Exp;
branches;
next	;
commitid	16d345fc025a4567;


desc
@@


1.7
log
@JOP goes GPL
@
text
@--
--
--  This file is a part of JOP, the Java Optimized Processor
--
--  Copyright (C) 2001-2008, Martin Schoeberl (martin@@jopdesign.com)
--
--  This program is free software: you can redistribute it and/or modify
--  it under the terms of the GNU General Public License as published by
--  the Free Software Foundation, either version 3 of the License, 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 more details.
--
--  You should have received a copy of the GNU General Public License
--  along with this program.  If not, see <http://www.gnu.org/licenses/>.
--


--
--	sc_pack.vhd
--
--	Package for SimpCon defines
--
--	Author: Martin Schoeberl (martin@@jopdesign.com)
--	
--
--	2007-03-16  first version
--
--

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

package sc_pack is

	-- two more bits than needed for the main memory
	--    one to distinguishe between memory and IO access
	--    one more to allow memory mirroring for size auto
	--        detection at boot time
	constant SC_ADDR_SIZE : integer := 23;
	constant RDY_CNT_SIZE : integer := 2;

	type sc_out_type is record
		address		: std_logic_vector(SC_ADDR_SIZE-1 downto 0);
		wr_data		: std_logic_vector(31 downto 0);
		rd			: std_logic;
		wr			: std_logic;
		atomic	: std_logic;
	end record;

	type sc_in_type is record
		rd_data		: std_logic_vector(31 downto 0);
		rdy_cnt		: unsigned(RDY_CNT_SIZE-1 downto 0);
	end record;
	
	type sc_out_array_type is array (integer range <>) of sc_out_type;
	type sc_in_array_type is array (integer range <>) of sc_in_type;
	
end sc_pack;
@


1.6
log
@included atomic
@
text
@d2 21
@


1.5
log
@Cleanup of SimpCon types
@
text
@d31 1
@


1.4
log
@Cleanup of SimpCon types
@
text
@d19 5
a23 1
	constant SC_ADDR_SIZE : integer := 21;
@


1.3
log
@no message
@
text
@d19 1
a19 2
	constant MEM_ADDR_SIZE : integer := 21;
	constant IO_ADDR_SIZE : integer := 7;
d22 2
a23 2
	type sc_mem_out_type is record
		address		: std_logic_vector(MEM_ADDR_SIZE-1 downto 0);
a28 7
	type sc_io_out_type is record
		address		: std_logic_vector(IO_ADDR_SIZE-1 downto 0);
		wr_data		: std_logic_vector(31 downto 0);
		rd			: std_logic;
		wr			: std_logic;
	end record;
	
d34 1
a34 1
	type sc_io_out_array_type is array (integer range <>) of sc_io_out_type;
@


1.2
log
@VHDL restructure: add jopcpu + records for SimpCon
@
text
@d36 1
a36 1

d41 4
a44 1

@


1.1
log
@no message
@
text
@d24 5
a28 5
		address		: in std_logic_vector(MEM_ADDR_SIZE-1 downto 0);
		wr_data		: in std_logic_vector(31 downto 0);
		rd			: in std_logic;
		wr			: in std_logic;
	end type
d31 5
a35 5
		address		: in std_logic_vector(IO_ADDR_SIZE-1 downto 0);
		wr_data		: in std_logic_vector(31 downto 0);
		rd			: in std_logic;
		wr			: in std_logic;
	end type
d38 3
a40 3
		rd_data		: out std_logic_vector(31 downto 0);
		rdy_cnt		: out unsigned(RDY_CNT_SIZE-1 downto 0);
	end type;
@

