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

📄 yle270.vhdl

📁 深圳优龙公司PXA270的cpld的vhdl逻辑代码
💻 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 + -