US7774574B2 - Prototyping integrated systems - Google Patents
Prototyping integrated systems Download PDFInfo
- Publication number
- US7774574B2 US7774574B2 US10/621,012 US62101203A US7774574B2 US 7774574 B2 US7774574 B2 US 7774574B2 US 62101203 A US62101203 A US 62101203A US 7774574 B2 US7774574 B2 US 7774574B2
- Authority
- US
- United States
- Prior art keywords
- chip
- address
- interface
- memory
- memory access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
Definitions
- the present invention relates to prototyping of integrated systems.
- the off-chip circuit can be for example in the form of an FPGA or emulator and can provide memory resources.
- an integrated circuit comprising: a processor operable to issue memory access requests, each memory access request identifying an address in memory to which the request is directed; at least one on-chip resource falling within the address space addressable by the processor; an interface for directing packets off-chip and addressable within the address space of the processor; and a request directing unit for receiving said memory access requests and directing them in accordance with a selected one of first and second address maps, wherein said first address map has a first range of addresses allocated to said at least one on-chip resource and a second range of addresses allocated to said interface, and in said second memory address map said first range of addresses are also allocated to the interface.
- a prototype system comprising an integrated circuit comprising: a processor operable to issue memory access requests, each memory access request identifying an address in memory to which the request is directed; at least one on-chip memory resource falling within the address space addressable by the processor; an interface for directing packets off-chip and addressable within the address space of the processor; a request directing unit for receiving said memory access requests and directing them in accordance with a selected one of first and second address maps, wherein said first address map has a first range of addresses allocated to said at least one memory resource and a second range of addresses allocated to said interface, and the second memory address map said first range of addresses are also allocated to the interface; and an off-chip circuit connected to said interface and including at least one off-chip memory resource.
- a method of evaluating a prototype system comprising an integrated circuit including an on-chip processor associated with at least one on-chip memory resource and an off-chip circuit associated with at least one off-chip memory resource, the method comprising: executing a computer program on the on-chip processor, said program causing the generation of memory access requests, each memory access request including an address identifying an address in memory to which the request is directed; and in accordance with a selected mode of operation, selectively supplying said memory access requests to at least one of said first and second memory address maps, and directing the memory access requests selectively to said on-chip memory resource or said off-chip circuit in dependence on the selected one of said first and second address maps.
- FIG. 1 is a schematic diagram of an integrated system
- FIG. 2 shows a memory access packet
- FIG. 3 shows the addressing configuration of a first address map
- FIG. 4 shows the addressing configuration of a second address map
- FIG. 5 shows the decode logic of the memory management unit.
- FIG. 1 is a schematic diagram of a system to be prototyped.
- the system comprises an integrated circuit in the form of chip 2 on which is implemented a communication path 4 which takes the form of a packet router.
- the described embodiment implements a SuperHyway interconnect, but the present invention can be applied to any form of bus architecture.
- the router 4 is connected to a CPU 6 and to a plurality of other functional modules.
- the CPU 6 has a cache memory 8 , a memory management unit MMU 14 and control registers CR.
- Each resource module is a memory mapped peripheral, e.g. a graphics block, direct memory access (DMA) or other memory access module.
- DMA direct memory access
- a memory access module there is illustrated an external memory interface EMI 16 connected to off-chip memory devices 17 .
- Other memory access modules such as FEMI (Flash EMI) may also be present.
- FEMI Flash EMI
- Each module includes control registers CR associated with that particular module.
- the chip 2 also includes ports (not shown) connected to the router 4 , e.g. peripheral bridge ePBR etc.
- the integrated circuit 2 includes a SuperHyway off-chip (SHOC) interface 20 .
- the interface 20 has first and second wide bi-directional ports 22 , 24 connected to the router 4 on the circuit-side of the interface 20 and first and second narrow off-chip ports which are unidirectional, outgoing being referenced 26 and incoming being referenced 28 .
- the interface 20 communicates with a similar interface 30 on an off-chip circuit 32 which forms part of the system under prototype and which includes off-chip resources 34 .
- the off-chip resources 34 can include off-chip memory, control registers or any other resources.
- the bi-directional wide ports 22 , 24 are high pin-out ports which are capable of transmitting packets between the router 4 and the interface 20 .
- the off-chip unidirectional ports 26 and 28 are each narrower in the sense that they have a smaller number of pins to allow off-chip communication.
- Communication over the router 4 is in the form of packets which in the described embodiment have a maximum length of 32 bytes.
- the interface 20 is capable of performing a chop and frame function on packets received from the router 4 for transmission off-chip so as to transmit the packet off-chip in a plurality of chunks via the off-chip communication path attached to the port 26 . Conversely, the interface can reassemble chunks which are received on the incoming data path attached to port 28 into packets for communication on the router 4 .
- the precise semantics of the interface 20 do not form part of the present invention and so are not discussed further herein.
- the invention can be implemented with any suitable form of off-chip port.
- Memory access requests are issued by the CPU 6 in the form of packets.
- An example packet is shown in FIG. 2 which represents a memory access request packet.
- the packet comprises a lock field Ick, opcode field opc, source field src, transaction identifier field tid, address field addr, data field DATA, byte enable field be, end of packet field eop and a valid bit VALID.
- the important field to note herein is the address field which can be 4 bytes long and which identifies an address in memory to which the memory access requests relate.
- the opcode field opc identifies the memory operation, for example whether the memory access request is a read or write. If it is a write request, data is correspondingly sent in the packet.
- the address in the packet is interpreted by decode logic and arbitration logic 13 forming part of the router 4 .
- the decode logic is responsible for reading the address and comparing the address with predetermined address ranges which identify to which module the packets should be sent.
- the decode logic can operate in two modes. The first mode is termed platform mode and allocates the address space addressable by the address field addr in the memory access request packet across the on-chip memory resources 16 , 18 , 10 , 12 . In addition, part of the address space is reserved for the SHOC interface 20 to allow certain packets to be dispatched off-chip.
- bond-out mode In the second mode, referred to as bond-out mode, the entire address space is mapped off-chip via the SHOC interface 20 . In this way, all memory access requests are directed off-chip and so all non-CPU resources are off-chip.
- Platform mode allows a customer to preserve the address map of the evaluation chip 1 , and integrate their IP only into the memory space occupied by the SHOC port while bond-out mode allows the user to decide to use the evaluation chip 2 only as a CPU core, using the entire memory space for their own IP.
- FIGS. 3 and 4 show examples for the memory maps in platform mode and bond-out mode respectively.
- platform mode the memory space is mapped as follows.
- the address given above is the beginning address of the mapped region for the particular resource in question.
- the address space illustrated in FIG. 3 is 0x00 . . . to 0xFF . . .
- FIG. 4 shows how the address space is mapped in bond-out mode.
- the 29 bit space is mapped only to the SHOC interface 20 and the CPU.
- the EMI 16 , Resource 1 10 , Resource 2 12 and Resource 3 (not shown) no longer have their own addresses, so that packets which would formerly have been sent to them are instead transmitted to the SHOC interface 20 and are sent off-chip.
- the control registers accessible in the CPU are also addressable.
- the CPU addresses include addresses of control registers associated with the on-chip resource.
- FIG. 5 illustrates the decode logic in the router 4 .
- the address field addr is supplied to a multiplexer 40 which is controlled responsive to a mode signal on line 42 .
- This mode signal can be implemented in any suitable way, but in particular can be taken out to a mode pin 46 shoc_mode on the chip which can be set to logic zero or logic one on power-up therefore to determine the memory address mode of the system under prototype.
- the decode logic includes an address map 48 for bond-out mode and an address map 50 for platform mode. According to the address map 50 , each of the address ranges against which the incoming address field addr is compared are mapped according to the mapping of FIG. 3 .
- address ranges for each resource Res 1 , Res 2 , Res 3 , the ePBR, the CPU and the SHOC part there are address ranges for each resource Res 1 , Res 2 , Res 3 , the ePBR, the CPU and the SHOC part.
- CSP Core Support Peripherals
- the address map 48 maps these ranges in accordance with the address map of FIG. 4 .
- a request vector is generated by the comparators in the operative one of the address maps 48 , 50 and is output via an output multiplexer 52 also controlled by the mode signal on the mode pin 46 .
- the request vector indicates to a system arbiter (not shown) that a request packet for a particular target is pending, and the arbiter routes the packet to the target if the target is available while indicating to other modules connected to the router 4 that the request packet is not for them. Note that in platform mode using address map 50 , packets may be routed to the on-chip resources 10 , 12 , Resource 1 , Resource 2 etc, whereas using the address map 48 of bond-out mode addresses which would have been directed to these resources are now directed to the SHOC interface 20 .
- the router directs responses to requests made from initiators on-chip (including the CPU) and initiators behind the SHOC interface 20 .
- responses made to the CPU are routed back to either the CPU initiator or to an initiator off-chip via the SHOC interface 20 .
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
Description
- 0x00 . . . EMI
- 0x0D0 . . . CPU
- 0x10 . . . Res1
- 0x40 . . . Res2
- 0x80 . . . Res3 (not shown)
Claims (17)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/621,012 US7774574B2 (en) | 2003-07-15 | 2003-07-15 | Prototyping integrated systems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/621,012 US7774574B2 (en) | 2003-07-15 | 2003-07-15 | Prototyping integrated systems |
Publications (2)
Publication Number | Publication Date |
---|---|
US20050015565A1 US20050015565A1 (en) | 2005-01-20 |
US7774574B2 true US7774574B2 (en) | 2010-08-10 |
Family
ID=34062898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/621,012 Expired - Fee Related US7774574B2 (en) | 2003-07-15 | 2003-07-15 | Prototyping integrated systems |
Country Status (1)
Country | Link |
---|---|
US (1) | US7774574B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NO337760B1 (en) * | 2013-03-18 | 2016-06-13 | Tco As | Device by well plug |
US10725746B2 (en) | 2018-03-05 | 2020-07-28 | Stmicroelectronics, Inc. | Method and apparatus for quick prototyping of embedded peripherals |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4626985A (en) * | 1982-12-30 | 1986-12-02 | Thomson Components - Mostek Corporation | Single-chip microcomputer with internal time-multiplexed address/data/interrupt bus |
US6907514B2 (en) * | 1999-02-16 | 2005-06-14 | Renesas Technology Corp. | Microcomputer and microcomputer system |
-
2003
- 2003-07-15 US US10/621,012 patent/US7774574B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4626985A (en) * | 1982-12-30 | 1986-12-02 | Thomson Components - Mostek Corporation | Single-chip microcomputer with internal time-multiplexed address/data/interrupt bus |
US6907514B2 (en) * | 1999-02-16 | 2005-06-14 | Renesas Technology Corp. | Microcomputer and microcomputer system |
Also Published As
Publication number | Publication date |
---|---|
US20050015565A1 (en) | 2005-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6598177B1 (en) | Monitoring error conditions in an integrated circuit | |
KR100837449B1 (en) | Virtual PCI Device Apparatus and Method | |
US8683110B2 (en) | I/O system and I/O control method | |
US5548730A (en) | Intelligent bus bridge for input/output subsystems in a computer system | |
US8171230B2 (en) | PCI express address translation services invalidation synchronization with TCE invalidation | |
KR100395393B1 (en) | System, device, and method for communicating with and initializing a computer peripheral | |
US20050091432A1 (en) | Flexible matrix fabric design framework for multiple requestors and targets in system-on-chip designs | |
KR101682980B1 (en) | Controlling bandwidth allocations in a system on a chip (soc) | |
US10176137B2 (en) | Selectively transparent bridge for peripheral component interconnect express bus system | |
KR102570943B1 (en) | PCIe DEVICE AND OPERATING METHOD THEREOF | |
CN101425966A (en) | Network-on-chip and use network-on-chip carry out the method for data processing | |
KR102568906B1 (en) | PCIe DEVICE AND OPERATING METHOD THEREOF | |
JP4723470B2 (en) | Computer system and its chipset | |
CN107111572B (en) | For avoiding the method and circuit of deadlock | |
KR101035832B1 (en) | Integrated endpoint device, integrated PCI Express endpoint device and PCI Express communication system | |
EP4016309B1 (en) | System, apparatus and method for handling multi-protocol traffic in data link layer circuitry | |
KR102529761B1 (en) | PCIe DEVICE AND OPERATING METHOD THEREOF | |
US12216599B2 (en) | Peripheral component interconnect express (PCIe) device method for delaying command operations based on generated throughput analysis information | |
Hong et al. | Hardware implementation and analysis of Gen-Z protocol for memory-centric architecture | |
CN116881987A (en) | Method and device for enabling PCIE equipment to pass through virtual machine and related equipment | |
JP2000207247A (en) | Computer system and method of operating the computer system | |
US7774574B2 (en) | Prototyping integrated systems | |
US6590907B1 (en) | Integrated circuit with additional ports | |
US8341360B2 (en) | Method and apparatus for memory write performance optimization in architectures with out-of-order read/request-for-ownership response | |
US7549091B2 (en) | Hypertransport exception detection and processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SUPERH, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:RYAN, STUART;JONES, ANDREW;REEL/FRAME:014831/0033 Effective date: 20030721 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
CC | Certificate of correction | ||
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552) Year of fee payment: 8 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20220810 |