📄 yle270.vhdl
字号:
--*****************************************************************************
-- 版权所有(c) 2006, 深圳市优龙科技有限公司
-- 保留所有权利
--
-- 文件: YLE270.vhdl
-- 描述: YL-E270 DEV v1.0板的CPLD器件的源代码
-- 器件: XC9536XL-10VQ44C
-- 工具: Xilinx的 ISE 6.2i
-- 语言: VHDL
-- 作者: 秦建永 (qjy@ucdragon.net)
-- 日期: 2006年7月26日
-- 版本: 1.0
--*****************************************************************************
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
-- Uncomment the following lines to use the declarations that are
-- provided for instantiating Xilinx primitive components.
--library UNISIM;
--use UNISIM.VComponents.all;
--*****************************************************************************
-- 外部界面, 请看YL-E270 DEV v1.0板的电路原理图
--*****************************************************************************
entity YLE270_DEV is
Port (
B_nRESET : in std_logic; -- 来自PXA270处理器的信号
B_A16 : in std_logic;
B_nPREG : in std_logic;
nWAIT : out std_logic;
nPWAIT : out std_logic;
B_nCS0 : in std_logic;
B_nCS1 : in std_logic;
B_nCS2 : in std_logic;
B_nCS3 : in std_logic;
B_nCS5 : in std_logic;
B_nPCE1 : in std_logic;
B_nPCE2 : in std_logic;
B_nPIOR : in std_logic;
B_nPIOW : in std_logic;
B_nPOE : in std_logic;
B_nPWE : in std_logic;
B_nOE : in std_logic;
B_nWE : in std_logic;
BUF_EN : out std_logic; -- 使能74LVCH162245
BUF_DIR : out std_logic; -- 控制74LVCH162245的方向
IDE_DIOW : out std_logic; -- IDE设备的写信号
IDE_DIOR : out std_logic; -- IDE设备的读信号
IDE_IORDY : in std_logic; -- IDE是否准备好?
CF_nCS0 : out std_logic; -- CF卡片选0
CF_nCS1 : out std_logic; -- CF卡片选1
CF_nWE : out std_logic; -- CF卡写信号
CF_nOE : out std_logic; -- CF卡读信号
CF_IORDY : in std_logic; -- CF卡是否准备好?
USR_DEF : out std_logic_vector(5 downto 0) -- 用户可以自定义
);
end YLE270_DEV;
--*****************************************************************************
-- 内部功能实现
--*****************************************************************************
architecture decode of YLE270_DEV is
begin
-- 产生总线缓冲器74LVCH162245的使能及方向信号
--BUF_EN <= B_nCS1 and B_nCS2 and B_nCS3 and B_nCS5 and B_nPCE1 and B_nPCE2;
--BUF_DIR <= B_nOE and B_nPOE and B_nPIOR;
BUF_EN <= B_nCS1 and B_nCS2 and B_nCS3 and B_nCS5;
BUF_DIR <= B_nOE;
-- IDE部分
-- 注: IDE_IORDY这个信号我们暂时没有使用
IDE_DIOW <= B_nCS1 or B_nWE;
IDE_DIOR <= B_nCS1 or B_nOE;
-- CF卡部分
-- 注: CF_IORDY这个信号我们暂时没有使用
CF_nCS0 <= B_nCS3 or (not B_A16);
CF_nCS1 <= B_nCS3 or B_A16;
CF_nWE <= B_nCS3 or B_nWE;
CF_nOE <= B_nCS3 or B_nOE;
-- 这两个信号暂时没有使用, 应把它们设置在高阻状态!!! 因为这样它们就不会影响
-- 总线操作了.
nWAIT <= 'Z';
nPWAIT <= 'Z';
-- 没有使用的信号应该处理一下, 以防CPLD程序的编译软件做默认处理而带来干扰
USR_DEF(5) <= B_nRESET or B_nCS0 or B_nPIOW or B_nPWE or B_nPREG
or B_nPCE1 or B_nPCE2 or B_nPOE or B_nPIOR
or IDE_IORDY or CF_IORDY; -- 浪费了USR_DEF(5) :-(
USR_DEF(4) <= 'H';
USR_DEF(3) <= 'H';
USR_DEF(2) <= 'H'; --上拉有效
USR_DEF(1) <= 'L';
USR_DEF(0) <= 'L'; --下拉有效
end decode;
-- the YLE270.vhdl end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -