CN100545815C - The implementation method of coprocessor in the soft emulator - Google Patents

The implementation method of coprocessor in the soft emulator Download PDF

Info

Publication number
CN100545815C
CN100545815C CNB2006100232945A CN200610023294A CN100545815C CN 100545815 C CN100545815 C CN 100545815C CN B2006100232945 A CNB2006100232945 A CN B2006100232945A CN 200610023294 A CN200610023294 A CN 200610023294A CN 100545815 C CN100545815 C CN 100545815C
Authority
CN
China
Prior art keywords
coprocessor
software
processor module
processor
hardware
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
Application number
CNB2006100232945A
Other languages
Chinese (zh)
Other versions
CN101000576A (en
Inventor
许国泰
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.)
Shanghai Huahong Integrated Circuit Co Ltd
Original Assignee
Shanghai Huahong Integrated Circuit 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 Shanghai Huahong Integrated Circuit Co Ltd filed Critical Shanghai Huahong Integrated Circuit Co Ltd
Priority to CNB2006100232945A priority Critical patent/CN100545815C/en
Publication of CN101000576A publication Critical patent/CN101000576A/en
Application granted granted Critical
Publication of CN100545815C publication Critical patent/CN100545815C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention discloses the implementation method of coprocessor in a kind of soft emulator, at software implementation method that can't obtain coprocessor or source code, when perhaps the coprocessor operating rate that realizes in software co-processor module mode can't be used too slowly, the inputoutput data corresponding tables that obtains from the hardware co-processor chip is embedded into the co-processor module of soft emulator, when this coprocessor of software operation, return corresponding response data behind co-processor module this table of data query according to input.The present invention can guarantee that not only coprocessor and the hardware co-processor in the product chips in the soft emulator has the identical functions characteristic, can also make it have higher execution speed, the cost that drops in the making, time are all less, risk is also less, and objectively helping product chips can introduce to the market faster.Be applicable to software development emulation on the sheet of microprocessor chip, debugging.

Description

The implementation method of coprocessor in the soft emulator
Technical field
The present invention relates to the implementation method of coprocessor in a kind of soft emulator.
Background technology
On the sheet of microprocessor chip, in the software development process, need to use and the supporting emulator of chip.Owing to design, making hardware emulator need spend the long time, in order to seize market with the fastest speed, chip manufacturers generally all can make, provide a earlier and the supporting soft emulator of chip.
Though soft emulator generally only is used for functional level emulation, the debugging of software, but for the program function that guarantees to develop meets the requirements, software can be transplanted on hardware emulator fast, the every basic function of product chips of soft emulator simulation still must be consistent with the definition in the product chips specification.Just comprised the coprocessor functions emulation in the chip in these basic functions.
In the emulation chip of hardware emulator, similar with product chips, coprocessor is to realize with the form of hardware module.Coprocessor generally uses software co-processor module mode to realize in soft emulator.The software co-processor module is different from the hardware co-processor module in the product chips, it is one section program code of operation on computers, be pure software, externally the interface of performance is identical with hardware co-processor in the emulation chip with the function of finishing, but has than big-difference on the performances such as speed.If use the software coprocessor, and wish that its function is consistent with hardware co-processor with interface features, the software co-processor module source code that is complementary with this hardware co-processor just must be arranged, it is embedded in the code of soft emulator goes then.
But, for comparatively complicated coprocessor, for example realizing the coprocessor of cryptographic algorithm, the arithmetic speed of software co-processor module is more a lot of slowly than hardware co-processor module, objectively can influence operation, the debugging speed of program.In addition, bigger problem is, some high level of security, need to be keep secret or controlled coprocessor, and chip manufacturer obtains from the provider with packaged code module form.For security consideration, the provider can not provide the software implementation method or the source code of these coprocessors.Because the interface of these packaged code modules and mode of operation all are at the product chips design and produce, can't be applied in the soft emulator, can only supply chip manufacturer when design, production product chips, interface and operating characteristic according to provider's regulation are embedded into it in the product chips.Simultaneously, owing to can't obtain the software implementation method or the source code of these coprocessors, chip manufacturer just can't use the mode of software co-processor module to realize the function of these coprocessors in soft emulator.For example, state is close at security-related smart card (for example does requirement in China, social security card etc.) must comprise the co-processor module that some realizes data encryption feature in the processor chips product, and close the doing of state only provides packaged coprocessor code module to chip manufacturer, and the software implementation method and the source code of any of these coprocessor is not provided.
If can't make soft emulator, emulation, the debugging acid of functional level just can't in time be provided to the client, after the client must wait until that hardware emulator is finished, could begin the debugging work of software, objectively can postpone the development progress of software greatly, also be unfavorable for the timely popularization of chip product.
Summary of the invention
The technical problem to be solved in the present invention provides the implementation method of coprocessor in a kind of soft emulator, at software implementation method that can't obtain coprocessor or source code, when perhaps the coprocessor operating rate that realizes in software co-processor module mode can't be used too slowly, in soft emulator, realize the functional simulation of these coprocessors, when the hardware co-processor in guaranteeing itself and product chips has the identical functions characteristic, also has higher operating rate.
For solving the problems of the technologies described above, the implementation method of coprocessor is achieved through the following technical solutions in the soft emulator of the present invention, this coprocessor adopts software co-processor module mode to realize, wherein, contain the inputoutput data corresponding tables that obtains from the hardware co-processor chip in the described co-processor module, when this co-processor module of software operation, return corresponding response data behind this table of data query according to input.
Owing to adopt method of the present invention, at software implementation method that can't obtain coprocessor or source code, when perhaps the coprocessor operating rate that realizes in software co-processor module mode can't be used too slowly, still can in soft emulator, realize the functional simulation of these assist process devices, can guarantee that not only the hardware co-processor in these coprocessors and the product chips has the identical functions characteristic, can also make it have higher execution speed, the cost that drops in the making, time is all less, risk is also less, and objectively helping product chips can introduce to the market faster.
Description of drawings
The present invention is further detailed explanation below in conjunction with the drawings and specific embodiments:
Accompanying drawing is to adopt coprocessor architectures synoptic diagram in the soft emulator that method of the present invention makes.
Embodiment
Software has the difference of a maximum in artificial debugging process on the emulator and the use on product chips.In product chips, use, can not get rid of has various possible data to input to coprocessor to require it to calculate or handle, and the emulation of software, debug process are concerned about is the function and the correctness of software itself, and the input data that coprocessor calculates or handle that can send to that only need provide that several determine just have been enough to satisfy the requirement of debugging, the function of checking software and correctness.And software be concerned about be, be input to the data of coprocessor and the correct response that coprocessor returns, for coprocessor to the input data be how to calculate or handle and be indifferent to.In addition, for in the chip design process, on the hardware verification plate coprocessor is being suspended to checking and the examination of carrying out entire chip on the processor core (generally realizing) with the FPGA form, the provider of these coprocessors also can provide the coprocessor of some single-chip forms to use for checking, examination when packaged coprocessor code module is provided.
The implementation method of coprocessor utilizes above-mentioned these characteristics to realize in the soft emulator of the present invention.
As shown in Figure 1, this coprocessor adopts software co-processor module mode to realize.Comprise an inputoutput data corresponding tables 3 in the co-processor module 2 in the soft emulator 1, co-processor module 2 is connected with processor core 5 in the soft emulator 1 by standard interface 4, and co-processor module 2 is an external external interface 6 in addition.
After chip design, checking are finished, at first select the input data of some on the hardware verification plate, to be input in the hardware co-processor of single-chip, note the corresponding response data, form an inputoutput data corresponding tables 3.Because obtain by real chip computing and processing, the correctness of output data is believable.Then, set up a co-processor module 2 in soft emulator 1, the standard interface 4 of it and processor core 5 and operating characteristic meet the definition in the product chips specification.Subsequently, this inputoutput data corresponding tables 3 that obtains on the real hardware coprocessor is embedded in this co-processor module 2.When in the soft simulation process, software operation is to this co-processor module 2 on the sheet, and when it sent the input data, co-processor module 2 was just according to the input data, and inquiry inputoutput data corresponding tables 3 finds the corresponding response data to return to software on the sheet.Owing to there is which available input data predict, on debugging sheet, during software, can therefrom select the situation that the input data co-processor module 2 that can not occur using can't respond fully.In addition, co-processor module 2 also leaves an external interface 6, and it is right to accept new input data and response data, replenishes its inner inputoutput data corresponding tables 3.Like this, when user's software on the debugging sheet, when needing to use the input data that are not included in the inputoutput data corresponding tables 3, chip manufacturer is put into these input data on the hardware co-processor chip and moves, the corresponding response data that obtains and input data are added to together in the inputoutput data corresponding tables 3 of co-processor module 2 of soft emulator 1 and go, the co-processor module 2 after the renewal just can have correct the response to these new input data.These input data and response data are to adding at any time.
In addition, because the co-processor module 2 in the soft emulator 1, reality is not calculated or is handled, use be lookup table mode very fast, so very fast response speed is arranged.Particularly those are carried out the coprocessor of complicated cryptographic calculation, RSA encryption-decryption coprocessor etc. for example, can be to greatest extent near the execution speed of hardware co-processor.
Though used the inputoutput data corresponding tables 3 of co-processor module 2, but because the number that wherein data are right is limited, far be not enough to be used for by enumerating calculating or the disposal route that mode cracks coprocessor, therefore, bring any influence can for the technical security of coprocessor.

Claims (1)

1, the implementation method of coprocessor in a kind of soft emulator, this coprocessor adopts software co-processor module mode to realize, it is characterized in that: contain the inputoutput data corresponding tables that obtains from the hardware co-processor chip in the described co-processor module, when this co-processor module of software operation, return corresponding response data behind this table of data query according to input.
CNB2006100232945A 2006-01-13 2006-01-13 The implementation method of coprocessor in the soft emulator Expired - Fee Related CN100545815C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100232945A CN100545815C (en) 2006-01-13 2006-01-13 The implementation method of coprocessor in the soft emulator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100232945A CN100545815C (en) 2006-01-13 2006-01-13 The implementation method of coprocessor in the soft emulator

Publications (2)

Publication Number Publication Date
CN101000576A CN101000576A (en) 2007-07-18
CN100545815C true CN100545815C (en) 2009-09-30

Family

ID=38692556

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100232945A Expired - Fee Related CN100545815C (en) 2006-01-13 2006-01-13 The implementation method of coprocessor in the soft emulator

Country Status (1)

Country Link
CN (1) CN100545815C (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101751480B (en) * 2008-11-28 2011-07-20 上海华虹集成电路有限责任公司 Soft emulator and realization method thereof
CN102262608A (en) * 2011-07-28 2011-11-30 中国人民解放军国防科学技术大学 Method and device for controlling read-write operation of processor core-based coprocessor

Also Published As

Publication number Publication date
CN101000576A (en) 2007-07-18

Similar Documents

Publication Publication Date Title
Ryzhyk et al. Automatic device driver synthesis with Termite
CN101203834B (en) Method, apparatus and system for bi-directional communication between a virtual machine monitor and an ACPI-compliant client operating system
US7813909B2 (en) Register mapping in emulation of a target system on a host system
CN102955737B (en) The program debugging method of heterogeneous processor system and system
CN106030548B (en) Multinode maincenter for trust computing
Kirchgessner et al. VirtualRC: a virtual FPGA platform for applications and tools portability
US7409478B2 (en) Peripheral hardware devices providing multiple interfaces and related systems and methods
CN108093652A (en) The simulation of application
CN103874984A (en) Virtualizable and forward-compatible hardware-software interface
CN1834898A (en) Microprocessor apparatus and method for modular exponentiation
CN105224483B (en) Data transmission method, electronic equipment and universal serial bus device
CN110516447A (en) A kind of method and apparatus of identification terminal simulator
US9946823B2 (en) Dynamic control of design clock generation in emulation
CN100545815C (en) The implementation method of coprocessor in the soft emulator
CN103473426A (en) Design method for satellite-borne phased array signal processing architecture based on embedded system frame
CN103294482B (en) Web service method for packing and system for PWscf concurrent computational system
Lin et al. Functional verifications for SoC software/hardware co-design: From virtual platform to physical platform
CN103955394B (en) GPU (Graphic Processing Unit) virtualization optimization method based on delayed submitting
US7711535B1 (en) Simulation of hardware and software
CN115292000A (en) Method and device for dynamic migration of virtual machine and electronic equipment
Acquaviva et al. Semi-automatic generation of device drivers for rapid embedded platform development
CN110489212A (en) A kind of method, apparatus and vehicle device of universal input/output port virtualization
CN106997182B (en) It is a kind of for single-chip microcontroller or the programmable control method of PC machine
CN102110066A (en) Tax-control encryption card control method
CN100530113C (en) Contact type smart card emluator coprocessor

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090930

Termination date: 20170113

CF01 Termination of patent right due to non-payment of annual fee