OpenCores
URL https://opencores.org/ocsvn/hd63701/hd63701/trunk

Subversion Repositories hd63701

[/] [hd63701/] [trunk/] [HD63701_defs.i] - Rev 2

Compare with Previous | Blame | View Log

/***************************************************************************
       This file is part of "HD63701V0 Compatible Processor Core".
      ( DON'T ADD TO PROJECT, Because this file is include file. )
****************************************************************************/
`define vaRST           8'hFE           // RESET        Vector $FFFE
`define vaTRP           8'hEE           // TRAP Vector $FFEE
`define vaNMI           8'hFC           // NMI  Vector $FFFC    (NMI signal)
`define vaSWI           8'hFA           // SWI  Vector $FFFA    (Software Interrupt)
`define vaIRQ           8'hF8           // IRQ  Vector $FFF8    (IRQ signal)
`define vaICF           8'hF6           // ICF  Vector $FFF6    (Timer Input Capture)
`define vaOCF           8'hF4           // OCF  Vector $FFF4    (Timer Output Compare)
`define vaTOF           8'hF2           // TOF  Vector $FFF2    (Timer OverFlow)
`define vaSCI           8'hF0           // SCI  Vector $FFF0    (Serial)
`define vaWAI           8'h00           // WAI  Vector                  (Special)


`define phRST            0
//------------------
`define phVECT           1
`define phVEC1           2
`define phVEC2           3
//------------------
`define phEXEC          16
`define phEXEC1 17
`define phEXEC2 18
`define phEXEC3 19
`define phEXEC4 20
`define phEXEC5 21
`define phEXEC6 22
`define phEXEC7 23
`define phEXEC8 24
`define phEXEC9 25
//------------------
`define phINTR          32
`define phINTR1 33
`define phINTR2 34
`define phINTR3 35
`define phINTR4 36
`define phINTR5 37
`define phINTR6 38
`define phINTR7 39
`define phINTR8 40
`define phINTR9 41
//------------------
`define phSLEP          62
`define phHALT          63


`define mcNOP           `mcLDN
`define mcLDN           5'd0
`define mcINC           5'd1
`define mcADD           5'd2
`define mcADC           5'd3
`define mcDEC           5'd4
`define mcSUB           5'd5
`define mcSBC           5'd6
`define mcMUL           5'd7
`define mcNEG           5'd8
`define mcNOT           5'd9
`define mcAND           5'd10
`define mcLOR           5'd11
`define mcEOR           5'd12
`define mcASL           5'd13
`define mcASR           5'd14
`define mcLSR           5'd15
`define mcROL           5'd16
`define mcROR           5'd17
`define mcCCB           5'd18
`define mcSCB           5'd19
`define mcLDR           5'd20
`define mcTST           5'd21
//---------------------
`define mcINT           5'd25
`define mcPSH           5'd26
`define mcPUL           5'd27
`define mcXTD           5'd28
`define mcDAA           5'd29
`define mcAPC           5'd30
`define mcLDV           5'd31


                                                                        // [2] : 0=byte,1=word
`define mcrn            4'd0            // none
`define mcrA            4'd1
`define mcrB            4'd2
`define mcrC            4'd3

`define mcrD            4'd4            // {A,B}
`define mcrX            4'd5
`define mcrS            4'd6
`define mcrP            4'd7

`define mcrU            4'd8
`define mcrV            4'd9
`define mcrN            4'd10           // x.H <-> (rE)
`define mcrM            4'd11           // x.L <-> (rE)

`define mcrT            4'd12           // {U,V} Temporary
`define mcrE            4'd13           // Effective Address
`define mcrI            4'd14           // Immidiate
//---------------------


`define mcpK            3'd0            // Keep
`define mcpN            3'd1            // Next
`define mcp0            3'd2            // To Stage0
`define mcpI            3'd3            // To Interrupt
`define mcpV            3'd4            // To Vector
//------------------------------------------
`define mcpH            3'd6            // To HALT
`define mcpS            3'd7            // To SLEEP


`define amPC            3'd0
`define amP1            3'd1
`define amSP            3'd2
`define amS1            3'd3
`define amX0            3'd4
`define amXT            3'd5
`define amE0            3'd6
`define amE1            3'd7


`define pcN                     1'b0            // PC=PC
`define pcI                     1'b1            // PC=PC+1


//                    +- N^V
//                    |
`define bfRA            8'b00000000
`define bfRN            8'b10000000
`define bfHI            8'b00000101
`define bfLS            8'b10000101
`define bfCC            8'b00000001
`define bfCS            8'b10000001
`define bfNE            8'b00000100
`define bfEQ            8'b10000100
`define bfVC            8'b00000010
`define bfVS            8'b10000010
`define bfPL            8'b00001000
`define bfMI            8'b10001000
`define bfGE            8'b01000000
`define bfLT            8'b11000000
`define bfGT            8'b01000100
`define bfLE            8'b11000100

`define bfC                     8'b00000001
`define bfV                     8'b00000010
`define bfZ                     8'b00000100
`define bfN                     8'b00001000
`define bfI                     8'b00010000
`define bfH                     8'b00100000


`define mcwidth [23:0]

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.