📄 cis.vhd
字号:
-- cis.vhd
-- (c) Copyright 2003 Xilinx, Inc
-- All rights reserved
--
-- Created: 2/6/2003 JRH
-- This code implements the CIS portion of the Attribute memory for the CF+ interface
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
entity cis is
port( -- inputs
cis_addr : in std_logic_vector(10 downto 0); -- address bus
-- outputs
cis_data : out std_logic_vector(7 downto 0) -- data byte
);
end cis;
architecture behave of cis is
begin
--************** CIS data storage *******************
cis_array: process(cis_addr)
begin
case cis_addr is
-------------- Device Information Tuple -----------------
when "00000000000" => cis_data <= "00000001"; -- 01 - Device information tuple.
when "00000000010" => cis_data <= "00000010"; -- 02 - Link byte.
when "00000000100" => cis_data <= "00000000"; -- 00 - Not a memory device.
when "00000000110" => cis_data <= "11111111"; -- FF - Termination byte.
---------- Level1/Product Information Tuple -------------
when "00000001000" => cis_data <= "00010101"; -- 15 - Level1/product information tuple.
when "00000001010" => cis_data <= "00010001"; -- 11 - Link byte.
when "00000001100" => cis_data <= "00000100"; -- 04 - Major Version Number.
when "00000001110" => cis_data <= "00000001"; -- 01 - Minor Version Number.
when "00000010000" => cis_data <= "01111000"; -- 78 - X
when "00000010010" => cis_data <= "01001001"; -- 49 - I
when "00000010100" => cis_data <= "01001010"; -- 4C - L
when "00000010110" => cis_data <= "01001001"; -- 49 - I
when "00000011000" => cis_data <= "01001110"; -- 4E - N
when "00000011010" => cis_data <= "01111000"; -- 78 - X
when "00000011100" => cis_data <= "00000000"; -- 00 - End Manufacturer name
when "00000011110" => cis_data <= "01000100"; -- 44 - D
when "00000100000" => cis_data <= "01010011"; -- 53 - S
when "00000100010" => cis_data <= "01010000"; -- 50 - P
when "00000100100" => cis_data <= "00000000"; -- 00 - End product name
when "00000100110" => cis_data <= "01010110"; -- 56 - V
when "00000101000" => cis_data <= "00100000"; -- 20 - blank space
when "00000101010" => cis_data <= "00110001"; -- 31 - 1
when "00000101100" => cis_data <= "00101110"; -- 2E - .
when "00000101110" => cis_data <= "00110000"; -- 30 - 0
when "00000110000" => cis_data <= "00000000"; -- 00 - End of Version Information.
when "00000110010" => cis_data <= "11111111"; -- FF - Termination byte.
-------------- Configuration Table Tuple ----------------
when "00000110100" => cis_data <= "00011010"; -- 1A - Configuration table tuple.
when "00000110110" => cis_data <= "00000101"; -- 05 - Link byte
when "00000111000" => cis_data <= "00000001"; -- 01 - Two byte base address.
when "00000111010" => cis_data <= "00000000"; -- 00 - Index number of Last confiiguration table entry.
when "00000111100" => cis_data <= "00000000"; -- 00 - Base address LSB.
when "00000111110" => cis_data <= "00000010"; -- 02 - Base address MSB.
when "00001000000" => cis_data <= "00010111"; -- 17 - configuration mask.
----------- Configuration Table Entry Tuple. ------------
when "00001000010" => cis_data <= "00011011"; -- 1B - Configuration table entry tuple.
when "00001000100" => cis_data <= "00001001"; -- 09 - Link byte
when "00001000110" => cis_data <= "11000000"; -- C0 - configuration index.
when "00001001000" => cis_data <= "00000001"; -- 01 - Interface descriptor entry.
when "00001001010" => cis_data <= "00011000"; -- 18 - Feature Selection byte.
when "00001001100" => cis_data <= "10101010"; -- AA - IO description byte.
when "00001001110" => cis_data <= "01100000"; -- 60 - length size descriptor.
when "00001010000" => cis_data <= "00000000"; -- 00 - Starting address LSB.
when "00001010010" => cis_data <= "00000000"; -- 00 - Starting address MSB.
when "00001010100" => cis_data <= "00000111"; -- 07 - Length of adrress block.
when "00001010110" => cis_data <= "00100110"; -- 26 - Interrupt byte.
------------------ Termination Tuple. -------------------
when "00001011000" => cis_data <= "00010100"; -- 14 - Termination tuple.
when "00001011010" => cis_data <= "00000000"; -- 00 - Link.
when "00001011100" => cis_data <= "11111111"; -- FF - Termination byte
when others => cis_data <= "11111111"; -- FF - Termination byte
end case;
end process;
end behave;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -