-- This file is generated automagically by the JavaScript interface at -- http://127.0.0.1/tools/generate_VHDL.html?size=16&mul=8 -- Do not modify or edit Library ieee; use ieee.std_logic_1164.all; package yasep_definitions is ---------------------------------------------------------- -- user defined values : constant YASEP_SIZE : natural := 16; constant YASEP_MUL : natural := 8; ---------------------------------------------------------- -- exported from the JavaScript definitions : subtype SULV2 is std_ulogic_vector( 1 downto 0); subtype SULV3 is std_ulogic_vector( 2 downto 0); subtype SULV4 is std_ulogic_vector( 3 downto 0); subtype SULV6 is std_ulogic_vector( 5 downto 0); subtype SULV8 is std_ulogic_vector( 7 downto 0); subtype SULV16 is std_ulogic_vector(15 downto 0); subtype SULV32 is std_ulogic_vector(31 downto 0); subtype SULVY is std_ulogic_vector(YASEP_SIZE-1 downto 0); type R_GROUP is range 4 downto 2; type R_FUNCTION is range 7 downto 5; type R_OPCODE is range 7 downto 2; type R_SRC1 is range 11 downto 8; type R_IMM4 is range 15 downto 12; type R_WR3 is range 27 downto 24; type R_COND is range 31 downto 28; constant FORM_RR : SULV2 := "00"; constant FORM_RI4 : SULV2 := "10"; constant FORM_RRI16 : SULV2 := "01"; constant FORM_EXT : SULV2 := "11"; constant REG_R0 : SULV4 := "0000"; constant REG_R1 : SULV4 := "0001"; constant REG_R2 : SULV4 := "0010"; constant REG_R3 : SULV4 := "0011"; constant REG_R4 : SULV4 := "0100"; constant REG_NPC : SULV4 := "0101"; constant REG_A0 : SULV4 := "0110"; constant REG_D0 : SULV4 := "0111"; constant REG_A1 : SULV4 := "1000"; constant REG_D1 : SULV4 := "1001"; constant REG_A2 : SULV4 := "1010"; constant REG_D2 : SULV4 := "1011"; constant REG_A3 : SULV4 := "1100"; constant REG_D3 : SULV4 := "1101"; constant REG_A4 : SULV4 := "1110"; constant REG_D4 : SULV4 := "1111"; constant GROUP_IE : SULV3 := "000"; constant F_MOV : SULV3 := "000"; constant F_SB : SULV3 := "001"; constant F_LZB : SULV3 := "010"; constant F_LSB : SULV3 := "011"; constant F_SH : SULV3 := "100"; constant F_SHH : SULV3 := "101"; constant F_LZH : SULV3 := "110"; constant F_LSH : SULV3 := "111"; constant GROUP_SHL : SULV3 := "001"; constant F_SHR : SULV3 := "000"; constant F_SAR : SULV3 := "001"; constant F_SHL : SULV3 := "010"; constant F_ROR : SULV3 := "011"; constant F_ROL : SULV3 := "100"; constant GROUP_ROP2 : SULV3 := "010"; constant F_AND : SULV3 := "000"; constant F_ANDN : SULV3 := "001"; constant F_NAND : SULV3 := "010"; constant F_OR : SULV3 := "011"; constant F_ORN : SULV3 := "100"; constant F_NOR : SULV3 := "101"; constant F_XOR : SULV3 := "110"; constant F_XORN : SULV3 := "111"; constant GROUP_ASU : SULV3 := "011"; constant F_ADD : SULV3 := "000"; constant F_SUB : SULV3 := "001"; constant F_CMPU : SULV3 := "010"; constant F_CMPS : SULV3 := "011"; constant F_UMIN : SULV3 := "100"; constant F_UMAX : SULV3 := "101"; constant F_SMIN : SULV3 := "110"; constant F_SMAX : SULV3 := "111"; constant GROUP_MUL : SULV3 := "100"; constant F_MUL8L : SULV3 := "000"; constant F_MUL8H : SULV3 := "001"; constant F_MULI : SULV3 := "010"; constant GROUP_CTL : SULV3 := "101"; constant F_GET : SULV3 := "000"; constant F_PUT : SULV3 := "001"; constant F_HALT : SULV3 := "010"; constant F_CRIT : SULV3 := "011"; constant GROUP_RSV : SULV3 := "111"; constant F_INV : SULV3 := "111"; end yasep_definitions; package body yasep_definitions is -- empty end yasep_definitions;