GB2418269A - A reusable hardware IP protocol method for designing a system-on-chip device. - Google Patents

A reusable hardware IP protocol method for designing a system-on-chip device. Download PDF

Info

Publication number
GB2418269A
GB2418269A GB0420483A GB0420483A GB2418269A GB 2418269 A GB2418269 A GB 2418269A GB 0420483 A GB0420483 A GB 0420483A GB 0420483 A GB0420483 A GB 0420483A GB 2418269 A GB2418269 A GB 2418269A
Authority
GB
United Kingdom
Prior art keywords
hardware
data
detecting
software function
component
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.)
Granted
Application number
GB0420483A
Other versions
GB0420483D0 (en
GB2418269B (en
Inventor
Fu-Chiung Cheng
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tatung Co Ltd
Original Assignee
Tatung Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tatung Co Ltd filed Critical Tatung Co Ltd
Priority to GB0420483A priority Critical patent/GB2418269B/en
Publication of GB0420483D0 publication Critical patent/GB0420483D0/en
Publication of GB2418269A publication Critical patent/GB2418269A/en
Application granted granted Critical
Publication of GB2418269B publication Critical patent/GB2418269B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • G06F17/505

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

A reusable hardware intellectual property (IP) component protocol method for a system-on-chip is disclosed, which uses a software function to describe hardware behaviour. A calling of the software corresponds to hardware IP component's execution, and the procedure of the software function corresponds to the behaviour of the hardware IP. Therefore, the hardware IP can be reused as a software function.

Description

241 8269
REUSABLE HARDWARE IP PROTOCOL METHOD FOR A
SYSTEM-ON-CHIP DEVICE
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a protocol method for a system-on-chip device and, more particularly, to a reusable hardware TP protocol method for a system-on-chip device.
2. Description of the Related Art
System-on-chip designs have become an important trend in current circuit designs, integrating several functionally related circuit blocks into one chip. Taking a system-on-chip microprocessor in the field of computing as an example, the system-on-chip's internal circuitry integrates the circuit blocks of a CPU, a chip set, and a graphical chip, so that the system-on-chip microprocessor contains the functionality of all three circuit blocks. The system-on-chip design not only reduces manufacturing costs but also reduces the total circuit area to reduce the entire circuit size. Each circuit block is composed of several different circuit modules, which may include counters, adders, coders, decoders, etc., that are known as hardware IP (Intellectual Property). The system-on-chip design uses hardware IPs to t build the required circuit blocks, and then integrates the circuit blocks together into a single chip.
However, there are some problems with the system-on-chip design.
The most important one is clock frequency control among the different hardware IP components. A clock frequency signal is used for controlling an operating speed of each hardware IP component in the system-on-chip.
When the clock frequency signal is sent to every circuit block in the system-on-chip, all the hardware IP components in the circuit block will operate at the same frequency. Since every hardware IP component has its individual operating frequency, in order to enable several hardware IP components to operate in a single clock frequency, the clock frequency signal must satisfy the slowest clock frequency to avoid incorrect timing.
However, this reduces the overall system efficiency.
Therefore, it is desirable to provide a reusable hardware IP component protocol method for a system-on-chip to mitigate and/or obviate the aforementioned problems.
SUMMARY OF THE INVENTION
A main objective of the present invention is to provide a reusable hardware IP component protocol method for a system-on-chip that can describe hardware behavior by software functions.
Another objective of the present invention is to provide a reusable hardware IP component protocol method for a system-on-chip that can be reused many times.
Another objective of the present invention is to provide a reusable hardware IP component protocol method for a system-on-chip that can be used in asynchronous circuit designs.
In order to achieve the above mentioned objectives, the present invention discloses a reusable hardware IP component protocol method for a systemon-chip, the method includes: (A) determining whether any l O parameters are needed, corresponding to a determination step of whether the hardware module needs any parameters; wherein if parameters are needed, proceeding to step (B), and if not, proceeding to step (C); (B) inputting at least one functional parameter, corresponding to an inputting step of the hardware module for at least one functional data parameter; (C) calling a software function that corresponds to a signal requesting step of the hardware module; (D) waiting for a return value from the software function corresponding to an acknowledge signal waiting step of the hardware module; (E) sending back the return value from the software function corresponding to an outputting result data step of the hardware module; and (F) ending the software function corresponding to a hardware reset step of the hardware module.
Finally, the software function is utilized to generate hardware description language, and the hardware description language is utilized to generate hardware IP components. The system-on-chip is designed for at least one hardware module, and the hardware module performs asynchronously. The software function of the present invention can be used to describe the hardware performance and be used for both synchronous and asynchronous circuit designs to achieve the objectives of the present 1 0 invention.
Other objects, advantages, and novel features of the invention will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a software flowchart of a reusable hardware IP component protocol method for a system-on-chip according to the present invention; FIG. 2 is a flowchart of hardware IP component performance corresponding to FIG. 1; and FIG. 3 is a schematic drawing of the hardware IP component's performance.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
FIG 1 shows a software flowchart of a reusable hardware IP component protocol method for a system-on-chip according to the present invention. The method of the present invention uses a software function to describe hardware IP component's behavior, and calls the software module to correspond to execution of the hardware IP component. Please refer to FIG l, FIG 2 and FIG 3. FIG. 2 is a flowchart of hardware IP component's behavior corresponding to FIG. 1. FIG. 3 shows the timing diagram of the hardware IP component's behavior. As shown in FIG. 1, a procedure of the method of the present invention includes: Step 10: determining whether the software function needs any parameters; if needed, step 12 is performed; if not, step 14 is performed. The software function can be the following accumulation function (1), but is not limited to this function: public static int sumTo(int CNT) --(1) int SI JM = n for(int i =1; i ≤ CNT; i ++) SUM+=i;
I
return SUM; Before calling the function (1), a function parameter needs to be set and input, for example setting the function parameter CNT to 5.
As well known, when the hardware IP component resets or boots, step is always executed to initialize the hardware for any subsequent execution. Moreover, the hardware operation of step 30 is shown at a rising edge 50 of a CLR signal in FIG.3, which means that the CLR signal is set as lO the high state to remove any data temporarily stored in the hardware IP components.
Step 10 for the software function corresponds to step 32 for the hardware IP component, wherein step 32 is executed to determine whether the hardware IP component needs any parameters, and if yes, step 34 is executed to input parameter data, to correspond to step 12. If step 32 determines that no hardware IP component is required, step 36 is executed to enable a request signal, to correspond to step 14. The hardware operation of step 34 is shown as a rising edge 52 of the parameter data in FIG.3, which means an external circuit (the circuit connected to the hardware IP component) inputs parameter data (such as the above-mentioned CNT = 5) into the hardware IP component. The external circuit can also receive the acknowledge signal of receiving the input data from the hardware IP component.
Step 14 is executed to call the software function. For the function (1), after step 12, the software should be executed. Step 14 executes the following code: int SUM = 0; for(int i =1; i ≤ CNT; i ++) SUM+=i; Furthermore, step 14 corresponds to step 36 in FIG. 2, which is executed to enable a request (REQ) signal. The REQ signal at a high state is input from the external circuit to the hardware IP component, and the hardware IP component executes an internal circuit operation (corresponding to step 14) according to functional settings and the input parameter and generates an appropriate response (the outputting result of step 14). Step 36 is shown as a rising edge 54 in FIG. 3, which means the external circuit sets the REQ signal with a high state, and then the internal circuit in the hardware IP component begins to operate.
Step 16 is executed to wait for a return value from the software function. For the function (1), when the parameter is provided (in step 12), and has undergone execution (in step 16), the function (1) will send back a resultant value (or a return value).
Furthermore, step 16 corresponds to step 38 in FIG. 2, which is executed to wait for an acknowledgment (ACK) signal. After the hardware IP component has executed its appropriate operation, the resultant value is generated by the hardware IP component and output to the external circuit.
The ACK signal is sent from the hardware IP to the external circuit l O indicating the resultant value is being produced. The hardware IP component then is ready to output the resultant value to the external circuit. Step 38 is shown as a rising edge 56 of the ACK signal in FIG. 3, wherein when the hardware IP raises the ACK signal from a low state to a high state, the hardware IP component completes the requested operation and output the result value to the external circuit.
Step 18 is executed to send back the return value of the software function. After the function (1) has finished operation, the return value is sent back. Since the CNT parameter is 5, the function (1) runs and results a SUM parameter of 15, and sends the SUM parameter back. Step 18 corresponds to step 40 in FIG. 2, which is executed to output the resultant data. When the REQ signal and the ACK signal are both set to the high state, the hardware IP component outputs the resultant value of the operation to the external circuit, i.e. outputs the resultant data 15. Step 40 is shown as a rising edge 58 of the result data in FIG. 3, which indicates outputting of the result data 15.
Step 20 is executed to end the software function. After the function ( 1) sends back the return value, the function (1) has finished its task and the function can be called again. Step 20 corresponds to step 42 shown in FIG. 2, which is executed to reset the hardware. After receiving the resultant data, the external circuit sets the REQ signal to the low state, so that the IP component can clear temporary stored data and is ready to the next call. Step 42 is shown as a descending edge 60 REQ signal in FIG. 3. When the REQ signal is at a low state, the hardware IP component stops outputting the resultant data and removes all the resultant data in the hardware IP component, as indicated by a descending edge 62 of a data signal shown in FIG. 3. When the ACK signal is at the low state that indicates the resultant data has been removed completely, as indicated by a descending edge 64 of the ACK signal shown in FIG.3, the hardware IP component is ready for a subsequent operation.
In addition, when inputting the parameter and outputting the resultant data, a double-check data representation is used to assure that output/input procedures have been completed, as well as execution of an error detection means. As in step 34, while inputting the parameter data, completion-detection or error-detection (CDED) parameter data is also input at the same time by using, for example, a complement technique (also used in step 40) which determines if the sum of the parameter data with the CDED parameter data equals -l. However, there are many other error detecting methods that can be used. When the parameter data is input as CNT = 5, the CDED parameter is input as CNT' = -6, and its hardware execution is shown as a rising edge 53 of the CDED parameter data in FIG. 3; when the result data is output as SUM = 15, the detection/after-detection parameter data is output as SUM' = -16, and its hardware execution is shown as a rising edge 59 of the CDED parameter data in FIG. 3. Therefore, the correctness of data transmission is well assured.
The software function of this embodiment can be used to indicate the hardware IP component's performance or operation; and the software function can be repeatedly called, which means the hardware IP component can repeat the operation. Thus, the software function can be transformed into a practical hardware structure. For example, the software function can be \ transformed into a well-known VHSIC (Very High Speed Integrated Circuits) Hardware Description Language (VHDL), and the VHDL is then transformed into a practical hardware structure. In other words, the software function can describe the hardware's performance. Furthermore, when the system-on-chip is designed to have more than one software function, since the hardware IP component corresponding to the software function is implemented in accordance with the above-mentioned steps and irrelevant to clock frequency, the different hardware IP components can have different clock frequencies. Therefore, the hardware IP component can perform l O correctly in either synchronous or asynchronous system-onchip designs.
Although the present invention has been explained in relation to its preferred embodiment, it is to be understood that many other possible modifications and variations can be made without departing from the spirit and scope of the invention as hereinafter claimed.

Claims (11)

  1. WHAT IS CLAIMED IS: 1. A reusable hardware intellectual property (IP)
    protocol method for a system-on-chip device, capable of describing a hardware behavior via a software function, the method comprising: (A) determining whether any parameters are needed, corresponding to a determination of whether the hardware IP needs any parameters; wherein if parameters are needed, proceeding to step (B), and if not, proceeding to step (C); (B) inputting at least one function parameter, corresponding to input at least one function parameter to the hardware IP; (C) calling the software function corresponding to input a request signal to the hardware IP; (D) waiting for a return value from the software function corresponding to input an acknowledge signal to the hardware IP; (E) sending back the return value from the software function corresponding to output the result data from the hardware IP; and (F) ending the software function corresponding to reset or boot the hardware IP.
  2. 2. The method as claimed in claim 1, further comprising, before step (A), a hardware initialization step to initialize the hardware IP.
  3. 3. The method as claimed in claim 1, wherein step (B) further comprises an input of at least one detecting data that corresponds to the at least one function parameter.
  4. 4. The method as claimed in claim 3, wherein the at least one detecting data is a complement number of the at least one function parameter.
  5. 5. The method as claimed in claim 4, wherein the at least one detecting data is used for detecting whether the at least one function parameter is incorrect, or for detecting whether the at least one function parameter is input completely.
  6. 6. The method as claimed in claim 1, wherein step (E) further comprises an output of at least one detecting resultant data from the hardware IF, and the at least one detecting resultant data corresponds to resultant data.
  7. 7. The method as claimed in claim 6, wherein the at least one detecting resultant data is a complement number of the at least one resultant data.
  8. 8. The method as claimed in claim 4, wherein the at least one detecting resultant data is used for detecting whether the at least one resultant data is incorrect, or for detecting whether the at least one resultant data is input completely.
  9. 9. The method as claimed in claim 1, wherein the software function can be transformed into a hardware description language.
  10. 10. The method as claimed in claim 1, wherein the system-on-chip device includes at least one hardware IP, and interaction of each the at least one hardware IP is asynchronous.
  11. 11. A reusable hardware intellectual property (IP) protocol method substantially as described herein with reference to and as illustrated in the accompanying drawings.
GB0420483A 2004-09-15 2004-09-15 Reusable hardware IP protocol method for a system-on-chip device Expired - Fee Related GB2418269B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0420483A GB2418269B (en) 2004-09-15 2004-09-15 Reusable hardware IP protocol method for a system-on-chip device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0420483A GB2418269B (en) 2004-09-15 2004-09-15 Reusable hardware IP protocol method for a system-on-chip device

Publications (3)

Publication Number Publication Date
GB0420483D0 GB0420483D0 (en) 2004-10-20
GB2418269A true GB2418269A (en) 2006-03-22
GB2418269B GB2418269B (en) 2010-07-21

Family

ID=33306592

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0420483A Expired - Fee Related GB2418269B (en) 2004-09-15 2004-09-15 Reusable hardware IP protocol method for a system-on-chip device

Country Status (1)

Country Link
GB (1) GB2418269B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001095161A2 (en) * 2000-06-02 2001-12-13 Virtio Corporation Method and system for virtual prototyping
US6446243B1 (en) * 1999-04-23 2002-09-03 Novas Software, Inc. Method for functional verification of VLSI circuit designs utilizing reusable functional blocks or intellectual property cores
US20020144216A1 (en) * 2001-01-31 2002-10-03 Leonard Elizabeth A. Method for rapid, reusable system on a chip functional verification

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10105426A (en) * 1996-09-25 1998-04-24 Nec Ic Microcomput Syst Ltd Semiconductor integrated circuit
FR2809559B1 (en) * 2000-05-25 2002-08-16 Cit Alcatel METHOD FOR MUTUAL TRANSFERS OF CONTROL PARAMETERS THROUGH A COMMUNICATION NETWORK
JP3884914B2 (en) * 2001-01-30 2007-02-21 株式会社ルネサステクノロジ Semiconductor device
US7146581B2 (en) * 2002-11-15 2006-12-05 Russell Alan Klein Automated repartitioning of hardware and software components in an embedded system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6446243B1 (en) * 1999-04-23 2002-09-03 Novas Software, Inc. Method for functional verification of VLSI circuit designs utilizing reusable functional blocks or intellectual property cores
WO2001095161A2 (en) * 2000-06-02 2001-12-13 Virtio Corporation Method and system for virtual prototyping
US20020144216A1 (en) * 2001-01-31 2002-10-03 Leonard Elizabeth A. Method for rapid, reusable system on a chip functional verification

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
http://www.circuitcellar.com/pastissues/articles/Anderson109/Anderson.pdf *

Also Published As

Publication number Publication date
GB0420483D0 (en) 2004-10-20
GB2418269B (en) 2010-07-21

Similar Documents

Publication Publication Date Title
JP4599266B2 (en) Simulation apparatus and simulation method
CN111064449A (en) Digital down-sampling filter verification platform and method based on UVM platform
CN114997087B (en) Clock tree optimization method, optimization device and related equipment
CN112115047A (en) Delay testing method and system for hard real-time operating system
US9305125B2 (en) Integrated circuit design timing path verification tool
CN114239453A (en) Simulation verification platform construction method, simulation verification method, device and equipment
US7454604B2 (en) Reusable hardware IP protocol method for a system-on-chip device
US7181559B2 (en) Message based transport mechanism for level sensitive interrupts
US7711535B1 (en) Simulation of hardware and software
US6141631A (en) Pulse rejection circuit model program and technique in VHDL
GB2418269A (en) A reusable hardware IP protocol method for designing a system-on-chip device.
US7313672B2 (en) Intellectual property module for system-on-chip
US20060161422A1 (en) Virtual emulation modules, virtual development systems and methods for system-on-chip development
NL1027012C2 (en) Reusable hardware IP protocol for system on a chip devices, determines whether hardware IP parameters are required and enters function parameter or search signal
WO2024066950A1 (en) Signal processing method, signal processing apparatus, chip, and electronic device
EP1372065A2 (en) System large scale integrated circuit (LSI), method of designing the same, and program therefor
WO2002063473A1 (en) Method for developing data processing system and evaluation board
US20100110954A1 (en) Method and system for synchronization between application layer controllers and wireless device
Muhr et al. Accelerating RTL simulation by several orders of magnitude using clock suppression
JP2008287558A (en) Semiconductor device and microcomputer
JP3001526B1 (en) Interrupt processing circuit and interrupt debugging method
Stepanov et al. SystemC and SDL Co-Modelling Implementation
EP0853280A2 (en) Timing verification method and device
JP2004157646A (en) Verification device for integrated circuit, verification method, and generation method for interface model for verifying integrated circuit
JP2003099489A (en) Logical synthesizing method

Legal Events

Date Code Title Description
732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)

Free format text: REGISTERED BETWEEN 20101021 AND 20101027

PCNP Patent ceased through non-payment of renewal fee

Effective date: 20140915