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

Subversion Repositories instruction_list_pipelined_processor_with_peripherals

[/] [instruction_list_pipelined_processor_with_peripherals/] [trunk/] [hdl/] [defines.v] - Diff between revs 3 and 5

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 3 Rev 5
Line 1... Line 1...
// 16-bit process controller defines
// 16-bit process controller defines
 
// 16-bit process controller defines
 
 
`define         immDataLen                      8
`define         immDataLen                      8
 
 
// program counter & instruction register
// program counter & instruction register
`define         instLen                         15                      // 15-bit fixed-length instructions
`define         instLen                         15                      // 15-bit fixed-length instructions
`define         instOpCodeLen           5
`define         instOpCodeLen           5
`define         instFieldLen            10
`define         instFieldLen            10
 
 
 
 
 
// control unit
 
`define         cuStateLen                      4               // max 16 states
 
`define         END                                     `instOpCodeLen'b0
 
`define         JMP                                     `instOpCodeLen'b1
 
`define         Ld                                              `instOpCodeLen'b10
 
`define         Ldi                                     `instOpCodeLen'b11
 
`define         ST                                              `instOpCodeLen'b100
 
`define         ADD                                     `instOpCodeLen'b101
 
`define         SUB                                     `instOpCodeLen'b110
 
`define         MUL                                     `instOpCodeLen'b111
 
`define         DIV                                     `instOpCodeLen'b1000
 
`define         AND                                     `instOpCodeLen'b1001
 
`define         OR                                              `instOpCodeLen'b1010
 
`define         XOR                                     `instOpCodeLen'b1011
 
`define         GrT                                     `instOpCodeLen'b1100
 
`define         GE                                              `instOpCodeLen'b1101
 
`define         EQ                                              `instOpCodeLen'b1110
 
`define         LE                                              `instOpCodeLen'b1111
 
`define         LT                                              `instOpCodeLen'b10000
 
`define         PRE                                     `instOpCodeLen'b10001
 
`define         ETY                                     `instOpCodeLen'b10010
 
`define         RST                                     `instOpCodeLen'b10011
 
`define         LdTC                                    `instOpCodeLen'b10100
 
`define         LdACC                                   `instOpCodeLen'b10101
 
`define         UARTrd                          `instOpCodeLen'b10110
 
`define         UARTwr                          `instOpCodeLen'b10111
 
`define         SPIxFER                         `instOpCodeLen'b11000
 
`define         SPIstat                         `instOpCodeLen'b11001
 
`define         SPIwBUF                         `instOpCodeLen'b11010
 
`define         SPIrBUF                         `instOpCodeLen'b11011
 
 
// alu opcodes
// alu opcodes
`define         aluOpcodeLen            4
`define         aluOpcodeLen            4
`define         AND_alu                         `aluOpcodeLen'b0
`define         AND_alu                         `aluOpcodeLen'b0
`define         OR_alu                          `aluOpcodeLen'b1
`define         OR_alu                          `aluOpcodeLen'b1
`define         XOR_alu                         `aluOpcodeLen'b10
`define         XOR_alu                         `aluOpcodeLen'b10
Line 19... Line 52...
`define         LT_alu                          `aluOpcodeLen'b111
`define         LT_alu                          `aluOpcodeLen'b111
`define         ADD_alu                         `aluOpcodeLen'b1000
`define         ADD_alu                         `aluOpcodeLen'b1000
`define         SUB_alu                         `aluOpcodeLen'b1001
`define         SUB_alu                         `aluOpcodeLen'b1001
`define         MUL_alu                         `aluOpcodeLen'b1010
`define         MUL_alu                         `aluOpcodeLen'b1010
`define         DIV_alu                         `aluOpcodeLen'b1011
`define         DIV_alu                         `aluOpcodeLen'b1011
 
`define         LD_data                         `aluOpcodeLen'b1100
 
 
// bit RAM
// bit RAM
`define         bitRamAddrLen           7               // 7-bit address
`define         bitRamAddrLen           7               // 7-bit address
`define         bitRamDepth                     128     // 2^7 = 128 locations
`define         bitRamDepth                     128     // 2^7 = 128 locations
 
 
Line 40... Line 73...
`define         outputNumber            128     // 128 outputs
`define         outputNumber            128     // 128 outputs
`define         outputAddrLen           7               // 7-bit address
`define         outputAddrLen           7               // 7-bit address
 
 
// accumulator multiplexer
// accumulator multiplexer
`define         accMuxSelLen            4               // 2^4 = 16 selections available for accumulator
`define         accMuxSelLen            4               // 2^4 = 16 selections available for accumulator
`define         accMuxSel0                      `accMuxSelLen'b0
`define         accMuxSelImmData                `accMuxSelLen'b0
`define         accMuxSel1                      `accMuxSelLen'b1
`define         accMuxSelAluOut         `accMuxSelLen'b1
`define         accMuxSel2                      `accMuxSelLen'b10
`define         accMuxSelTcLoad         `accMuxSelLen'b10
`define         accMuxSel3                      `accMuxSelLen'b11
`define         accMuxSelTcAcc                  `accMuxSelLen'b11
`define         accMuxSel4                      `accMuxSelLen'b100
`define         accMuxSelUart                   `accMuxSelLen'b100
`define         accMuxSel5                      `accMuxSelLen'b101
`define         accMuxSelSpiStat                `accMuxSelLen'b101
 
`define         accMuxSelSpiBuf         `accMuxSelLen'b110
 
 
// operand2 multiplexer
// operand2 multiplexer
`define         op2MuxSelLen            4               // 2^4 = 16 selections available for op2
`define         op2MuxSelLen            4               // 2^4 = 16 selections available for op2
`define         op2MuxSel0                      `op2MuxSelLen'b0
`define         op2MuxSelInput                  `op2MuxSelLen'b0
`define         op2MuxSel1                      `op2MuxSelLen'b1
`define         op2MuxSelOutput         `op2MuxSelLen'b1
`define         op2MuxSel2                      `op2MuxSelLen'b10
`define         op2MuxSelBitRam         `op2MuxSelLen'b10
`define         op2MuxSel3                      `op2MuxSelLen'b11
`define         op2MuxSelByteRam                `op2MuxSelLen'b11
`define         op2MuxSel4                      `op2MuxSelLen'b100
`define         op2MuxSel4                      `op2MuxSelLen'b100
`define         op2MuxSel5                      `op2MuxSelLen'b101
`define         op2MuxSel5                      `op2MuxSelLen'b101
`define         op2MuxSel6                      `op2MuxSelLen'b110
`define         op2MuxSel6                      `op2MuxSelLen'b110
 
 
//-----------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------
 
 
// peripheral defines
// peripheral defines
`define         timerAndCounter_peripheral
`define         timerAndCounter_peripheral
`define         UART_peripheral
`define         UART_peripheral
`define         SPI_peripheral
//`define               SPI_peripheral
 
 
 
 
//-----------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------
 
 
// Timer-Counter
// Timer-Counter

powered by: WebSVN 2.1.0

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