⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 system_tri_io.vhd

📁 编码器系统
💻 VHD
字号:
----------------------------------------------------------------------------------
-- Company: 
-- Engineer: 
-- 
-- Create Date:    21:06:36 11/13/2007 
-- Design Name: 
-- Module Name:    system_tri_io - Behavioral 
-- Project Name: 
-- Target Devices: 
-- Tool versions: 
-- Description: 
--
-- Dependencies: 
--
-- Revision: 
-- Revision 0.01 - File Created
-- Additional Comments: 
--
----------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;

entity system_tri_io is
port	(
			dsp_a : in std_logic_vector(21 downto 2);
			dsp_d : inout std_logic_vector(31 downto 0);
			dsp_d_in : out std_logic_vector(31 downto 0);
			dsp_ce0_n : in std_logic;
			dsp_ce3_n : in std_logic;
			dsp_aoe_n : in std_logic;
						
			sd_dq : inout std_logic_vector(15 downto 0);
			sd_dq_in : out std_logic_vector(15 downto 0);
			sd_dq_out : in std_logic_vector(15 downto 0);
			sd_dq_tri : in std_logic;
			
			dd : inout std_logic_vector(15 downto 0);
			dd_in : out std_logic_vector(15 downto 0);
			fpga_dd_out : in std_logic_vector(15 downto 0);
			reg_3 : in std_logic_vector(31 downto 0);
			dd_tri : in std_logic;
			
			sram_d : inout std_logic_vector(7 downto 0);
			sram_d_in : out std_logic_vector(7 downto 0);
			reg_2 : in std_logic_vector(31 downto 0);
			
			data_out_param : in std_logic_vector(7 downto 0)
		);
			
end system_tri_io;

architecture Behavioral of system_tri_io is

signal dd_in_tmp : std_logic_vector(15 downto 0) := (others=>'0');
signal dsp_d_in_tmp : std_logic_vector(31 downto 0) := (others=>'0');
signal sram_d_in_tmp : std_logic_vector(7 downto 0) := (others=>'0');

begin

dsp_d <= (x"0000" & dd_in_tmp) when (dsp_ce3_n='0' and dsp_aoe_n='0') else
			reg_2 when (dsp_ce0_n='0' and dsp_a=x"04012" and dsp_aoe_n='0') else
			(x"000000" & data_out_param) when (dsp_ce0_n='0' and (dsp_a>x"0401F" and dsp_a<x"04040") and dsp_aoe_n='0') else
			(x"000000" & sram_d_in_tmp) when (dsp_ce0_n='0' and dsp_a>x"04fff" and dsp_aoe_n='0') else (others=>'Z');
dsp_d_in_tmp <= dsp_d;

sd_dq <= sd_dq_out when sd_dq_tri='1' else (others=>'Z');
sd_dq_in <= sd_dq;

dd <= dsp_d_in_tmp(15 downto 0) when (reg_3=x"00000000" and dsp_ce3_n='0' and dsp_aoe_n='1') else		fpga_dd_out when (reg_3=x"00000055" and dd_tri='1') else (others=>'Z');
dd_in_tmp <= dd;

sram_d <= dsp_d_in_tmp(7 downto 0) when (dsp_ce0_n='0' and dsp_a > x"04fff" and dsp_aoe_n='1') else (others=>'Z');
sram_d_in_tmp <= sram_d;

dd_in <= dd_in_tmp;
dsp_d_in <= dsp_d_in_tmp;
sram_d_in <= sram_d_in_tmp;

end Behavioral;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -