From 110070fe371e521c0f20cbbb1b1da66312cb4d74 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Fri, 17 Dec 2010 19:02:14 -0800 Subject: usrp-n210: almost working w/ packet router + zpu added stack start signal to zpu removed wb perifs in n210 out of 0-16k added reset controller for main app rewire cpu addr line after booted use 0-16k --- usrp2/opencores/zpu/core/zpu_config.vhd | 5 ----- usrp2/opencores/zpu/core/zpu_core.vhd | 3 ++- usrp2/opencores/zpu/core/zpupkg.vhd | 1 + usrp2/opencores/zpu/wishbone/zpu_system.vhd | 3 ++- usrp2/opencores/zpu/zpu_top_pkg.vhd | 2 +- usrp2/opencores/zpu/zpu_wb_top.vhd | 2 ++ 6 files changed, 8 insertions(+), 8 deletions(-) (limited to 'usrp2/opencores') diff --git a/usrp2/opencores/zpu/core/zpu_config.vhd b/usrp2/opencores/zpu/core/zpu_config.vhd index f7743d602..b7e894232 100644 --- a/usrp2/opencores/zpu/core/zpu_config.vhd +++ b/usrp2/opencores/zpu/core/zpu_config.vhd @@ -12,9 +12,4 @@ package zpu_config is constant ZPU_Frequency : std_logic_vector(7 downto 0) := x"40"; -- This is the msb address bit. bytes=2^(maxAddrBitIncIO+1) constant maxAddrBitIncIO : integer := 15; - - -- start byte address of stack. - -- point to top of RAM - 2*words - constant spStart : std_logic_vector(maxAddrBitIncIO downto 0) := x"3ff8"; - end zpu_config; diff --git a/usrp2/opencores/zpu/core/zpu_core.vhd b/usrp2/opencores/zpu/core/zpu_core.vhd index 2450f14d3..24586b2f6 100644 --- a/usrp2/opencores/zpu/core/zpu_core.vhd +++ b/usrp2/opencores/zpu/core/zpu_core.vhd @@ -26,6 +26,7 @@ entity zpu_core is mem_write : out std_logic_vector(wordSize-1 downto 0); out_mem_addr : out std_logic_vector(maxAddrBitIncIO downto 0); mem_writeMask: out std_logic_vector(wordBytes-1 downto 0); + stack_start : in std_logic_vector(maxAddrBitIncIO downto 0); interrupt : in std_logic; break : out std_logic; zpu_status : out std_logic_vector(63 downto 0)); @@ -202,7 +203,7 @@ begin if areset = '1' then state <= State_Idle; break <= '0'; - sp <= spStart(maxAddrBitIncIO downto minAddrBit); + sp <= stack_start(maxAddrBitIncIO downto minAddrBit); pc <= (others => '0'); idim_flag <= '0'; diff --git a/usrp2/opencores/zpu/core/zpupkg.vhd b/usrp2/opencores/zpu/core/zpupkg.vhd index 1a01563b8..eee967a09 100644 --- a/usrp2/opencores/zpu/core/zpupkg.vhd +++ b/usrp2/opencores/zpu/core/zpupkg.vhd @@ -73,6 +73,7 @@ package zpupkg is mem_write : out std_logic_vector(wordSize-1 downto 0); out_mem_addr : out std_logic_vector(maxAddrBitIncIO downto 0); mem_writeMask: out std_logic_vector(wordBytes-1 downto 0); + stack_start : in std_logic_vector(maxAddrBitIncIO downto 0); interrupt : in std_logic; break : out std_logic; zpu_status : out std_logic_vector(63 downto 0)); diff --git a/usrp2/opencores/zpu/wishbone/zpu_system.vhd b/usrp2/opencores/zpu/wishbone/zpu_system.vhd index 294651fe2..8af678b6a 100644 --- a/usrp2/opencores/zpu/wishbone/zpu_system.vhd +++ b/usrp2/opencores/zpu/wishbone/zpu_system.vhd @@ -51,7 +51,7 @@ entity zpu_system is -- ZPU Control signals enable : in std_logic; interrupt : in std_logic; - + stack_start : in std_logic_vector(maxAddrBitIncIO downto 0); zpu_status : out std_logic_vector(63 downto 0); -- wishbone interfaces @@ -84,6 +84,7 @@ begin mem_write => mem_write, out_mem_addr => out_mem_addr, mem_writeMask => mem_writeMask, + stack_start => stack_start, interrupt => interrupt, zpu_status => zpu_status, break => open); diff --git a/usrp2/opencores/zpu/zpu_top_pkg.vhd b/usrp2/opencores/zpu/zpu_top_pkg.vhd index 23ff48c39..a158ab9c0 100644 --- a/usrp2/opencores/zpu/zpu_top_pkg.vhd +++ b/usrp2/opencores/zpu/zpu_top_pkg.vhd @@ -35,7 +35,7 @@ package zpu_top_pkg is -- ZPU Control signals enable : in std_logic; interrupt : in std_logic; - + stack_start : in std_logic_vector(maxAddrBitIncIO downto 0); zpu_status : out std_logic_vector(63 downto 0); -- wishbone interfaces diff --git a/usrp2/opencores/zpu/zpu_wb_top.vhd b/usrp2/opencores/zpu/zpu_wb_top.vhd index 48e5ee31d..9735c4b54 100644 --- a/usrp2/opencores/zpu/zpu_wb_top.vhd +++ b/usrp2/opencores/zpu/zpu_wb_top.vhd @@ -36,6 +36,7 @@ entity zpu_wb_top is -- misc zpu signals interrupt: in std_logic; + stack_start: in std_logic_vector(adr_w-1 downto 0); zpu_status: out std_logic_vector(63 downto 0) ); @@ -66,6 +67,7 @@ zpu_system0: zpu_system port map( areset => rst, enable => enb, interrupt => interrupt, + stack_start => stack_start, zpu_status => zpu_status, zpu_wb_i => zpu_wb_i, zpu_wb_o => zpu_wb_o -- cgit v1.2.3