# Patent

## Title
System on chip (SoC) device verification system using memory interface

## Abstract

A system on a chip (SoC) device verification system comprises: an SoC device model including one or more IPs and a memory controller; an external IP verification model receiving an instruction from the SoC device model and verifying operation of the one or more IPs included in the SoC device model; and a bus select model selecting one of the external IP verification model and an external device in response to a memory control signal received from the memory controller of the SoC device model.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims the benefit of Korean Patent Application No. 10-2008-0069299, filed on Jul. 16, 2008, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein in its entirety by reference.
BACKGROUND
The inventive concept relates to a system for verifying a system on a chip (SoC) including one or more IPs, and more particularly, to an SoC device verification system for connecting an internal IP verification model of an SoC device and an external IP verification model by using a memory controller included by an SoC. IPs are circuit design modules or design objects that are commonly employed in SoC design. A collection of IPs, each of a known function, and each being modeled and pre-tested for performance and functionality, can be joined in an SoC design to create a device of greater functionality.
A system on a chip (SoC) is a device whereby all components of an electronic system are integrated onto a single integrated chip. It is common for SoC devices to initially include an integrated processor and a few IPs during an initial stage of development. However, during later stages of development, it is common for most SoC devices to include several tens of IPs as a part of the design process using various computer aided engineering (CAE) tools. As SoC integration continues to improve, the SoC devices increase in size and functionality, and therefore, include an ever-increasing number of IPs. Therefore, it continues to become more important to reduce SoC device development time.
SUMMARY
The inventive concept provides a system on a chip (SoC) device verification system for connecting an internal IP verification model of an SoC device and an external IP verification model using a common interface.
In one aspect, a system on a chip (SoC) device verification system comprises: an SoC device model including one or more IPs and a memory controller; an external IP verification model receiving an instruction from the SoC device model and verifying operation of the one or more IPs included in the SoC device model; and a bus select model selecting one of the external IP verification model and an external device in response to a memory control signal received from the memory controller of the SoC device model.
The bus select model can transmit a common model interface signal to the external IP verification model when selecting the external IP verification model, and can transmit the memory control signal to the external device when selecting the external device.
The external device can be an external memory.
The external IP verification model can comprise: an IP verifying unit that verifies the operation of the one or more IPs included in the SoC device mode; and a common model interface signal converting unit receiving the common model interface signal from the bus select model and converting the common model interface signal into a signal that is compatible with the IP verifying unit. wherein the IP verifying unit verifies the operation of the one or more IPs in response to the signal generated by the common model interface signal converting unit.
The bus select model can comprise: a memory control signal input/output unit receiving the memory control signal; a memory model select signal generating unit determining a type of a memory instructed by the memory control signal and generating a memory model select signal; a model input/output signal converting unit converting the memory control signal into the common model interface signal based on the memory control signal received from the memory control signal input/output unit and the memory model select signal received from the memory model select signal generating unit; and a model selecting unit receiving the common model interface signal from the model input/output signal converting unit and transmitting the common model interface signal to a corresponding external model.
The common model interface signal can comprise an address signal, wherein the model selecting unit selects the external model based on the address signal.
The external IP verification model can transfer an event that occurs therein to the SoC device model as an external interrupt.
The SoC device model can further comprise: an interrupt controller receiving the external interrupt transferred by the external IP verification model.
The bus select model can select one of the external IP verification model and the external device based on an address or data included in the memory control signal.
At least one of the SoC device model, the external IP verification model and the bus select model is described by a register transfer level (RTL).
In another aspect, a SoC device verification system comprises: an SoC device model including a plurality of IPs and a memory controller; a plurality of external IP verification models receiving an instruction from the SoC device model and verifying operation of each of the plurality of IPs included in the SoC device model; and a bus select model selecting one of the plurality of external IP verification models in response to a memory control signal received from the memory controller of the SoC device model.
The bus select model can further select one of the plurality of external IP verification models and the external memory in response to the memory control signal.
The bus select model can select one of the plurality of external IP verification models based on an address or data included in the memory control signal.



BRIEF DESCRIPTION OF THE DRAWINGS
Exemplary embodiments of the inventive concept will be more clearly understood from the following detailed description taken in conjugation with the accompanying drawings in which:
FIG. 1 is a block diagram of a system on a chip (SoC) device model;
FIG. 2 is a block diagram of a comparative example of an SoC device verification model;
FIG. 3 is a block diagram of an SoC device verification model according to an embodiment of the present invention;
FIG. 4 is a block diagram of an SoC device verification model according to another embodiment of the present invention;
FIG. 5 is a block diagram of a bus select model of FIG. 3 or a bus select model of FIG. 4 according to an embodiment of the present invention;
FIG. 6 is a timing diagram of an external model interface signal according to an embodiment of the present invention; and
FIG. 7 is a flowchart illustrating an SoC device verification method according to an embodiment of the present invention.



DETAILED DESCRIPTION OF EMBODIMENTS
The attached drawings for illustrating embodiments of the present invention are referred to in order to gain a sufficient understanding of the embodiments of the present invention, the merits thereof, and the objectives accomplished by the implementation of the present invention. The present invention will now be described more fully with reference to the accompanying drawings, in which exemplary embodiments are shown.
A circuit design or device can be described or modelled using a hardware description language (HDL) at several hierarchical levels, including a behaviour level, a register transfer level (RTL), and a gate level. The behaviour level is used to describe the device in view of its functional characteristics. The gate level is used to describe the device by using real logic gates for realizing the function of the device. The RTL is used to describe the device at an intermediate level between the behaviour level and the gate level. In the present specification, the RTL is used to describe a device, unless otherwise expressed.
The following four operations are commonly used to verify the operation of a system on a chip (SoC) device.
1. The RTL is used to describe an SoC device model of the device.
2. A logic simulation program is used to verify the respective internal operation of internal IPs of the SoC device model.
3. After an external IP verification model is generated, the logic simulation program is used to verify the interface operation externally with regard to each internal IP of the SoC device model of the device.
4. The logic simulation program is then used to verify the overall operation of the SoC device model of the device.
FIG. 1 is a block diagram of an SoC device model 100. Referring to FIG. 1, the SoC device model 100 comprises one or more IPs 130, a processor 110, a memory controller 120 and an interrupt controller 140. The SoC device model 100 communicates data with an external memory 150 via the memory controller 120.
FIG. 2 is a block diagram of a comparative example of an SoC device verification model 200. Referring to FIG. 2, the SoC device verification model 200 comprises an SoC device model 210 that is described by the RTL, an external IP verification model 220 that is described by the RTL, and an event processing unit 230 that is described by a programming language.
Each internal IP 213 of the SoC device model 210 and an external interface thereof are verified by directly connecting the external IP verification model 220 and each internal IP 213 of the SoC device model 210 and by monitoring internal signals of the SoC device model 210 as input and output signals by the external IP verification model 220.
However, when each internal IP 213 of the SoC device model 210 and the external IP verification model 220 are directly connected, if the external IP verification model 220 is changed or if the structure of any of the internal IPs 213 of the SoC device model 210 is changed, input and output interfaces need to be corrected accordingly, which consumes time and can cause testing error due to various factors.
Also, it is common for each internal IP 213 to have unique input and output signals, which makes it difficult to correct all connections when the SoC device model 210 is changed.
FIG. 3 is a block diagram of an SoC device verification model 300 according to an embodiment of the present invention. Referring to FIG. 3, the SoC device verification model 300 comprises an SoC device model 310, an external IP verification model 320, and a bus select model 330.
The SoC device model 310 comprises, in this example, a processor 311, one or more IPs 313, and a memory controller 312. Each IP 313 may communicate with the external IP verification model 320 via the memory controller 312.
The SoC device model 310 can further comprise an interrupt controller 314. The interrupt controller 314 can receive a signal that is the result of a specific event that occurs in the external IP verification model 320. The external IP verification model 320 can transfer the event-based signal that occurs in the external IP verification model 320 to the interrupt controller of the SoC device model 310 as an external interrupt.
The bus select model 330 receives a memory control signal from the SoC device model 310 and converts the memory control signal into an external model interface signal or otherwise transfers the memory control signal to an external memory 340. The bus select model 330 may select transfer with one of the external IP verification model 320 and the external memory 340 based on an address or data included in the memory control signal. If the bus select model 330 selects the external IP verification model 320 for transfer, the bus select model 330 can transmit a common model interface signal to the external IP verification model 320. If the bus select model 330 selects the external memory 340 for transfer, the bus select model 330 can transmit the memory control signal to the external memory 340.
The external IP verification model 320 can comprise a common model interface signal converting unit 322 and an IP verifying unit 323. The common model interface signal converting unit 322 receives a common model interface signal transferred from the bus select model 330, converts the common model interface signal into a signal suitable for the IP verifying unit 323, and transfers the converted signal to the IP verifying unit 323. The IP verifying unit 323 is a model that verifies the interface of, or the operation of, various internal IPs 313 of the SoC device model 310. For example, the IP verifying unit 323 can be a model described by RTL.
The external IP verification model 320 can further comprise a protocol monitor 321. The protocol monitor 321 examines the operation, including the transfer of signals, between the IP verifying unit 323 and each internal IP 313.
FIG. 4 is a block diagram of an SoC device verification model 400 according to another embodiment of the present invention. Referring to FIG. 4, the SoC device verification model 400 comprises an SoC device model 410, a plurality of external IP verification models 440_1 ̃440—n, and a bus select model 420.
The SoC device model 410 comprises, in this example, a processor 411, a plurality of IPs 413_1 ̃413—n and a memory controller 412. The external IP verification models 440_1 ̃440—n capable of verifying each of the IPs 413_1 ̃413—n is connected to the SoC device model 410 via the bus select model 420. The external IP verification models 440_1 ̃440—n can use different or unique IP verification methods.
The bus select model 420 receives a memory control signal from the SoC device model 410 and determines whether to transfer the memory control signal to an external memory 430 or to the external IP verification models 440_1 ̃440—n based on an address. If the bus select model 420 transfers the memory control signal to the external IP verification models 440_1 ̃440—n, the bus select model 420 converts the memory control signal into common model interface signals based on the address and transfers the common model interface signals to the external IP verification models 440_1 ̃440—n. 
The external IP verification models 440_1 ̃440—n receive the common model interface signals from the bus select model 420, convert the common model interface signal into a signal suitable for an IP model to be performed therein, and transfer the converted signal to the bus select model 420. If a request is received, the external IP verification models 440_1 ̃440—n transfer an internal status to the bus select model 420.
FIG. 5 is a block diagram of the bus select model 330 of FIG. 3 or the bus select model 420 of FIG. 4 according to an embodiment of the present invention. Referring to FIG. 5, the bus select model 330 or the bus select model 420 comprises a memory control signal input/output unit 510, a memory model select signal generating unit 520, a model input/output signal converting unit 530, and a model selecting unit 540.
The memory control signal input/output unit 510 receives a memory control signal from the memory controllers 312 and 412.
The memory model select signal generating unit 520 generates a memory model select signal according to the type of external memory to be accessed.
The model input/output signal converting unit 530 receives the memory control signal from the memory control signal input/output unit 510 based on the memory model select signal and converts the memory control signal into a common model interface signal compatible with the external IP verification models 323 and 440_1 ̃440—n. 
The model selecting unit 540 selects the external IP verification models 323 and 440_1 ̃440—n based on an address of the memory control signal and transfers the common model interface signal to the selected external IP verification model 323 or 440_1 ̃440—n. 
FIG. 6 is a timing diagram of an external model interface signal according to an embodiment of the present invention. Referring to FIG. 6, the model input/output signal converting unit 530 converts various memory control signals into signals as shown and transfers the converted signal to the external memory 340 of FIG. 3 or 430 of FIG. 4.
FIG. 7 is a flowchart illustrating an SoC device verification method according to an embodiment of the present invention. Referring to FIG. 7, the SoC device verification method comprises reading or writing data from or to a specific address of a memory controller of an SoC device model (operation 710), receiving a memory control signal including the address or the data from the memory controller of the SoC device model (operation 730), converting the memory control signal into a common model interface signal (operation 750), and transmitting the common model interface signal to a corresponding external model (operation 770).
The common model interface signal may include an address. In operation 770, the common model interface signal may be transmitted to the corresponding external model according to the address.
While the inventive concept has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood that various changes in form and details may be made herein without departing from the spirit and scope of the inventive concept as defined by the following claims.

## Claims

1. A system on a chip (SoC) device verification system comprising:
an SoC device model including one or more IPs and a memory controller;
an external IP verification model receiving an instruction from the SoC device model and verifying operation of the one or more IPs included in the SoC device model;
and a bus select model selecting the external IP verification model and selecting an external device in response to a memory control signal received from the memory controller of the SoC device model, wherein the external IP verification model comprises:
an IP verifying unit that verifies the operation of the one or more IPs included in the SoC device model; and

a common model interface signal converting unit receiving a common model interface signal from the bus select model and converting the common model interface signal into a signal that is compatible with the IP verifying unit;
wherein the IP verifying unit verifies the operation of the one or more IPs in response to the signal generated by the common model interface signal converting unit, and
wherein the bus select model transmits the common model interface signal to the external IP verification model when selecting the external IP verification model, and transmits the memory control signal to the external device when selecting the external device.

2. The SoC device verification system of claim 1, wherein the external device is an external memory.

3. The SoC device verification system of claim 1, wherein the bus select model comprises:
a memory control signal input/output unit receiving the memory control signal;
a memory model select signal generating unit determining a type of a memory instructed by the memory control signal and generating a memory model select signal;
a model input/output signal converting unit converting the memory control signal into the common model interface signal based on the memory control signal received from the memory control signal input/output unit and the memory model select signal received from the memory model select signal generating unit; and
a model selecting unit receiving the common model interface signal from the model input/output signal converting unit and transmitting the common model interface signal to a corresponding external model.

4. The SoC device verification system of claim 3, wherein the common model interface signal comprises an address signal,
wherein the model selecting unit selects the external model based on the address signal.

5. The SoC device verification system of claim 1, wherein the external IP verification model transfers an event that occurs therein to the SoC device model as an external interrupt.

6. The SoC device verification system of claim 5, wherein the SoC device model further comprises: an interrupt controller receiving the external interrupt transferred by the external IP verification model.

7. The SoC device verification system of claim 1, wherein the bus select model selects one of the external IP verification model and the external device based on an address or data included in the memory control signal.

8. The SoC device verification system of claim 1, wherein at least one of the SoC device model, the external IP verification model and the bus select model is described by a register transfer level (RTL).

9. An SoC device verification system comprising:
an SoC device model including a plurality of IPs and a memory controller;
a plurality of external IP verification models receiving an instruction from the SoC device model and verifying operation of each of the plurality of IPs included in the SoC device model; and
a bus select model selecting one of the plurality of external IP verification models in response to a memory control signal received from the memory controller of the SoC device model, wherein each of the external IP verification models comprises:
an IP verifying unit that verifies the operation of the one or more IPs included in the SoC device model; and
a common model interface signal converting unit receiving a common model interface signal from the bus select model and converting the common model interface signal into a signal that is compatible with the IP verifying unit;
wherein the IP verifying unit verifies the operation of the one or more IPs in response to the signal generated by the common model interface signal converting unit, and
wherein the bus select model transmits the common model interface signal to the external IP verification model when selecting the external IP verification model, and transmits the memory control signal to the external device when selecting the external device.

10. The SoC device verification system of claim 9, wherein the bus select model further selects one of the plurality of external IP verification models and the external memory in response to the memory control signal.

11. The SoC device verification system of claim 9, wherein the bus select model selects one of the plurality of external IP verification models based on an address or data included in the memory control signal.