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

📄 sparc.h

📁 usb-jtag转换,sparc芯片反汇编,sparc芯片调试的工具,可以对芯片内的gpio,sdram,flash进行读写,还可以一次下载64K大小的数据,反汇编,在线调试.
💻 H
字号:
#ifndef _SPARC_HEADER
#define _SPARC_HEADER

// op decoding (inst(31 downto 30))
// subtype op_type is std_logic_vector(1 downto 0)

const int FMT2 = 0;
const int CALL = 1;
const int FMT3 = 2;
const int LDST = 3;

// op2 decoding (inst(24 downto 22))
// subtype op2_type is std_logic_vector(2 downto 0)
const int BICC  = 2;
const int SETHI = 4;
const int FBFCC = 6;
const int CBCCC = 7;

// op3 decoding (inst(24 downto 19))
// subtype op3_type is std_logic_vector(5 downto 0)
const int IADD  = 0;
const int IAND  = 1;
const int IOR   = 2;
const int IXOR  = 3;
const int ISUB  = 4;
const int ANDN  = 5;
const int ORN   = 6;
const int IXNOR = 7;
const int ADDX  = 8;
const int UMUL  = 0xa;
const int SMUL  = 0xb;
const int SUBX  = 0xc;
const int UDIV	= 0xe;
const int SDIV  = 0xf;
const int ADDCC = 0x10;
const int ANDCC = 0x11;
const int ORCC  = 0x12;
const int XORCC = 0x13;
const int SUBCC  = 0x14;
const int ANDNCC = 0x15;
const int ORNCC  = 0x16;
const int XNORCC = 0x17;
const int ADDXCC = 0x18;
const int UMULCC = 0x1a;
const int SMULCC = 0x1b;
const int SUBXCC = 0x1c;
const int UDIVCC = 0x1e;
const int SDIVCC = 0x1f;
const int TADDCC = 0x20;
const int TSUBCC  = 0x21;
const int TADDCCTV = 0x22;
const int TSUBCCTV = 0x23;
const int MULSCC   = 0x24;
const int ISLL     = 0x25;
const int ISRL     = 0x26;
const int ISRA     = 0x27;
const int RDY      = 0x28;
const int RDPSR    = 0x29;
const int RDWIM    = 0x2a;
const int RDTBR    = 0x2b;
const int WRY      = 0x30;
const int WRPSR    = 0x31;
const int WRWIM    = 0x32;
const int WRTBR    = 0x33;
const int FPOP1    = 0x34;
const int FPOP2    = 0x35;
const int CPOP1    = 0x36;
const int CPOP2    = 0x37;
const int JMPL     = 0x38;
const int TICC     = 0x3a;
const int FLUSH    = 0x3b;
const int RETT     = 0x39;
const int SAVE     = 0x3c;
const int RESTORE  = 0x3d;
const int UMAC     = 0x3e;
const int SMAC     = 0x3f;

const int LD       = 0x00;
const int LDUB     = 0x01;
const int LDUH     = 0x02;
const int LDD      = 0x03;
const int LDSB     = 0x09;
const int LDSH     = 0x0a;
const int LDSTUB   = 0x0d;
const int SWAP     = 0x0f;
const int LDA      = 0x10;
const int LDUBA    = 0x11;
const int LDUHA    = 0x12;
const int LDDA     = 0x13;
const int LDSBA    = 0x19;
const int LDSHA    = 0x1a;
const int LDSTUBA  = 0x1d;
const int SWAPA    = 0x1f;
const int LDF      = 0x20;
const int LDFSR    = 0x21;
const int LDDF     = 0x23;
const int LDC      = 0x30;
const int LDCSR    = 0x31;
const int LDDC     = 0x33;
const int ST       = 0x04;
const int STB      = 0x05;
const int STH      = 0x06;
const int ISTD     = 0x07;
const int STA      = 0x14;
const int STBA     = 0x15;
const int STHA     = 0x16;
const int STDA     = 0x17;
const int STF      = 0x24;
const int STFSR    = 0x25;
const int STDFQ    = 0x26;
const int STDF     = 0x27;
const int STC      = 0x34;
const int STCSR    = 0x35;
const int STDCQ    = 0x36;
const int STDC     = 0x37;

// bicc decoding (inst(27 downto 25))

const int BA  = 0x08;

// fpop1 decoding
// subtype fpop_type is std_logic_vector(8 downto 0);

const int FITOS    = 0xc4;
const int FITOD    = 0xc8;
const int FSTOI    = 0xd1;
const int FDTOI    = 0xd2;
const int FSTOD    = 0xc9;
const int FDTOS    = 0xc6;
const int FMOVS    = 0x01;
const int FNEGS    = 0x05;
const int FABSS    = 0x09;
const int FSQRTS   = 0x29;
const int FSQRTD   = 0x2a;
const int FADDS    = 0x41;
const int FADDD    = 0x42;
const int FSUBS    = 0x45;
const int FSUBD    = 0x46;
const int FMULS    = 0x49;
const int FMULD    = 0x4a;
const int FSMULD   = 0x69;
const int FDIVS    = 0x4d;
const int FDIVD    = 0x4e;

// fpop2 decoding

const int FCMPS    = 0x51;
const int FCMPD    = 0x52;
const int FCMPES   = 0x55;
const int FCMPED   = 0x56;

// trap type decoding
// subtype trap_type is std_logic_vector(5 downto 0);

const int TT_IAEX   = 1;
const int TT_IINST  = 2;
const int TT_PRIV   = 3;
const int TT_FPDIS  = 4;
const int TT_WINOF  = 5;
const int TT_WINUF  = 6;
const int TT_UNALA  = 7;
const int TT_FPEXC  = 8;
const int TT_DAEX   = 9;
const int TT_TAG    = 0xa;
const int TT_WATCH  = 0xb;

const int TT_DSU    = 0x10;
const int TT_PWD    = 0x11;

const int TT_RFERR  = 0x20;
const int TT_IAERR  = 0x21;
const int TT_CPDIS  = 0x24;
const int TT_CPEXC  = 0x28;
const int TT_DIV    = 0x2a;
const int TT_DSEX   = 0x2b;
const int TT_TICC   = 0x3f;

// Alternate address space identifiers (only 5 lsb bist are used)
// subtype asi_type is std_logic_vector(4 downto 0);

const int ASI_SYSR    = 0x02;
const int ASI_UINST   = 0x08;
const int ASI_SINST   = 0x09;
const int ASI_UDATA   = 0x0A;
const int ASI_SDATA   = 0x0B;
const int ASI_ITAG    = 0x0C;
const int ASI_IDATA   = 0x0D;
const int ASI_DTAG    = 0x0E;
const int ASI_DDATA   = 0x0F;
const int ASI_IFLUSH  = 0x10;
const int ASI_DFLUSH  = 0x11;

const int ASI_FLUSH_PAGE     = 0x10;
const int ASI_FLUSH_CTX      = 0x13;

const int ASI_DCTX           = 0x14;
const int ASI_ICTX           = 0x15;

const int ASI_MMUFLUSHPROBE  = 0x18;
const int ASI_MMUREGS        = 0x19;
const int ASI_MMU_BP         = 0x1c; 
const int ASI_MMU_DIAG       = 0x1d;
const int ASI_MMU_DSU        = 0x1f; 


// ftt decoding
//subtype ftt_type is std_logic_vector(2 downto 0);

const int FPIEEE_ERR  = 1;
const int FPSEQ_ERR   = 4;
const int FPHW_ERR    = 5;

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -