📄 microblaze_types_pkg.vhd
字号:
--------------------------------------------------------------------------------- $Id: microblaze_types_pkg.vhd,v 1.1 2007/10/12 09:11:36 stefana Exp $--------------------------------------------------------------------------------- MicroBlaze_Types - package--------------------------------------------------------------------------------- ****************************************************************************-- ** Copyright(C) 2001-2005 by Xilinx, Inc. All rights reserved.-- **-- ** This text contains proprietary, confidential information of-- ** Xilinx, Inc. , is distributed by under license from Xilinx, Inc.,-- ** and may be used, copied and/or disclosed only pursuant to the-- ** terms of a valid license agreement with Xilinx, Inc.-- **-- ** Unmodified source code is guaranteed to place and route,-- ** function and run at speed according to the datasheet-- ** specification. Source code is provided "as-is", with no-- ** obligation on the part of Xilinx to provide support.-- **-- ** Xilinx Hotline support of source code IP shall only include-- ** standard level Xilinx Hotline support, and will only address-- ** issues and questions related to the standard released Netlist-- ** version of the core (and thus indirectly, the original core source-- **-- ** The Xilinx Support Hotline does not have access to source-- ** code and therefore cannot answer specific questions related-- ** to source HDL. The Xilinx Support Hotline will only be able-- ** to confirm the problem in the Netlist version of the core.-- **-- ** This copyright and support notice must be retained as part-- ** of this text at all times.-- ****************************************************************************----------------------------------------------------------------------------------- Filename: microblaze_types_pkg.vhd-- Version: v1.00a-- Description: A package with type definition and help functions for-- different implementations of the MicroBlaze family-- --------------------------------------------------------------------------------- Structure: -- microblaze_types_pkg.vhd-- -- microblaze_types_pkg_body.vhd----------------------------------------------------------------------------------- Author: goran-- History:-- goran 1-29-2001 -- First version----------------------------------------------------------------------------------- Naming Conventions:-- active low signals: "*_n"-- clock signals: "clk", "*_clk"-- reset signals: "rst", "*_rst", "reset"-- generics: All uppercase, starting with: "C_"-- constants: All uppercase, not starting with: "C_"-- state machine next state: "*_next_state"-- state machine current state: "*_curr_state"-- pipelined signals: "*_d#"-- counter signals: "*_cnt_*" , "*_counter_*", "*_count_*"-- internal version of output port: "*_i"-- ports: Names begin with uppercase-- component instantiations: "<ENTITY>_I#|<FUNC>" , "<ENTITY>_I"---- Signals starting with IF, OF, EX, MEM, or WB indicate that they start in that-- stage:---- IF -- instruction fetch-- OF -- operand fetch-- EX -- execute-- MEM -- memory-- WB -- write back-------------------------------------------------------------------------------library IEEE;use IEEE.std_logic_1164.all;package MicroBlaze_Types is type TARGET_FAMILY_TYPE is ( -- pragma xilinx_rtl_off VIRTEX, SPARTANII, VIRTEXE, SPARTANIIE, VIRTEX2, VIRTEX2PRO, SPARTAN3, VIRTEX4, VIRTEX5, SPARTAN3E, SPARTAN3A, SPARTAN3AN, SPARTAN3Adsp, -- pragma xilinx_rtl_on RTL ); -- standard type for all data elements processed by MicroBlaze subtype DATA_TYPE is std_logic_vector(0 to 31); subtype DATA_BE_TYPE is std_logic_vector(0 to 3); -- Address type for register file access subtype GPR_ADDR_TYPE is std_logic_vector(0 to 4); -- type for all 16 bit instruction immediate values subtype IMM16_TYPE is std_logic_vector(0 to 15); -- abbreviations for commonly used ranges subtype slv_0to0 is std_logic_vector(0 to 0); subtype slv_0to1 is std_logic_vector(0 to 1); subtype slv_0to2 is std_logic_vector(0 to 2); subtype slv_0to3 is std_logic_vector(0 to 3); function log2(x : natural) return integer; -- pragma xilinx_rtl_on function String_To_Int(S : string) return integer; -- Create a Boolean array type type boolean_array is array (natural range <>) of boolean; -- Create a resolved boolean function resolve_boolean(values : in boolean_array ) return boolean; -- Or two integer booleans function intbool_or(constant a : integer; constant b : integer ) return integer; -- Resolved boolean type subtype rboolean is resolve_boolean boolean; -- moved from microblaze.vhd for GTi function LowerCase_Char(char : character) return character; function LowerCase_String (s : string) return string; function Equal_String( str1, str2 : STRING ) RETURN BOOLEAN; function String_To_Family (S : string; Select_RTL : boolean) return TARGET_FAMILY_TYPE; -- Get the maximum number of inputs to a LUT. function Family_To_LUT_Size(Family : TARGET_FAMILY_TYPE) return integer; end package MicroBlaze_Types;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -