| |
|
||||
![]() |
![]() |
||||
|
68000 IP Core C68000 16/32-bit Microprocessor CoreOn this page: Description | Implementation Results | Features | Applications | Block Diagram | Functional Description | Support | Verification | Deliverables The C68000 is core of a powerful 16/32-bit microprocessor and is derived from the Motorola MC68000 microprocessor. The C68000 is a fully functional 32-bit internal and 16-bit external equivalent for the MC68000. The C68000 serves interrupts and exceptions, and provides an interface for M6800 family peripherals. The C68000 is the microcode-free design developed for reuse in ASIC and FPGA implementations. The design is strictly synchronous without internal tri-states and with a synchronous reset. Scan insertion is straightforward. See representative implementation results (each in a new pop-up window): Features
ApplicationsThe C68000 core can be used for a variety of applications including:
Block Diagram
Functional DescriptionThe C68000 core is partitioned into modules as shown above and described below. Execution UnitArithmetic-Logic Unit. (ALU) performs:
Address/Data Shifter performs various types of shift and rotate operations by one bit position. These two units with some additional logic, allows all basic operation on data and address registers. Program CounterThe program counter (PC) is 32 bits wide. This register can be incremented or loaded by the control unit during instruction execution. Control UnitDecodes and executes instructions. Contains main processor sequencer and control unit for all inner resources. RegistersThe C68000 has eight 32-bit data registers, eight 32-bit address registers, one 32-bit user stack pointer and a 16-bit status register. Data registers are mainly used for data operations but can also be used as index registers. Address registers can be used as software stack pointers, index registers or base address registers. Status register contains operations results flags, and system control bits. Interrupt ControlProvides seven priority levels of interrupt and calculates an internal vector during the auto-vector interrupt. It also holds the internal state of the interrupt and exception level. InterfaceManages all accesses to memory. Generates all control signals to memory and peripherals. This is a synchronous device working with both rising and falling edge of the clk (clock) signal. OCDSServes as the interface for On-Chip Debug Support using an IEEE1149.1 (JTAG) port. The OCDS unit provides the following functions - run/stop control, single-step mode, software/hardware breakpoints, debugger program execution and Read/Write Access to all memory space. SupportThe core as delivered is warranted against defects for ninety days from purchase. Thirty days of phone and email technical support are included, starting with the first interaction. Additional maintenance and support options are available. VerificationThe core has been verified through extensive simulation and rigorous code coverage measurements. All subcomponents were functionally verified with an HDL testbench using their individual test suites. The CPU and ALU have been verified against a proprietary hardware modeler and behavioral models. The peripherals have also been verified in their own testbenches, based on either hardware or behavioral models. DeliverablesThe core is available in ASIC (synthesizable HDL) and FPGA (netlist) forms, and includes everything required for successful implementation:
On this page: Description | Implementation Results | Features | Applications | Block Diagram | Functional Description | Support | Verification | Deliverables Download PDF datasheets for more info: ASIC | Altera | Xilinx
|
||||||||||||||||||||
|
top of page |
|||||||||||||||||||||