CN100373351C - High speed synergy emulation method for transaction-grade software and hardware - Google Patents

High speed synergy emulation method for transaction-grade software and hardware Download PDF

Info

Publication number
CN100373351C
CN100373351C CNB2006100207017A CN200610020701A CN100373351C CN 100373351 C CN100373351 C CN 100373351C CN B2006100207017 A CNB2006100207017 A CN B2006100207017A CN 200610020701 A CN200610020701 A CN 200610020701A CN 100373351 C CN100373351 C CN 100373351C
Authority
CN
China
Prior art keywords
software
transaction processor
message
state
input
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
CNB2006100207017A
Other languages
Chinese (zh)
Other versions
CN1828551A (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CNB2006100207017A priority Critical patent/CN100373351C/en
Publication of CN1828551A publication Critical patent/CN1828551A/en
Application granted granted Critical
Publication of CN100373351C publication Critical patent/CN100373351C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The present invention relates to a high-speed transaction level software and hardware collaborative simulation method, which belongs to the field of simulating the function of integrated circuit chips. The method of the present invention can be applied to a software and hardware collaborative simulation system for the joint simulation of a computer and a hardware simulator. On the basis of the structure of an original transaction level software and hardware collaborative simulation system, the transaction level software and hardware collaborative simulation method improves processing mechanisms on four aspects: a software excitation module uses an optimistic prediction method to judge the receiving state of an input transaction processor; the input transaction processor offers four receiving states for reflecting the use degree of the cache space of the input transaction processor; a hardware party defines a state reporting message; the message periodically reports all the information of the receiving state of the input transaction processor to a software party. Through improving a flow control method for message excitation in the transaction level software and hardware collaborative simulation system, the collaborative simulation system decreases the number of times for the software excitation module in a waiting state and decreases the channel bandwidth occupied by a state feedback message, and thereby, the simulation speed of the entire transaction level software and hardware collaborative simulation system is enhanced.

Description

A kind of high speed synergy emulation method for transaction-grade software and hardware
Technical field
A kind of high speed synergy emulation method for transaction-grade software and hardware belongs to the functional simulation technical field of integrated circuit (IC) chip, can be applicable in the computer software and hardware collaborative simulation system.
Background technology
Along with the develop rapidly of integrated circuit technique, the integrated level and the complicacy of integrated circuit (IC) chip increase day by day, and particularly the appearance of SoC chip more aggravates this situation.The SoC chip can reach the complexity that the hundreds of door arrives several thousand, and inside has CPU, storer, various complex assemblies such as high-speed bus, the SoC chip also need be by the software support of complexity, as embedded OS simultaneously, various communication protocols, multimedia is handled supervisor.Based on above-mentioned complicacy, the functional simulation of complicated large scale integrated chip has become a problem demanding prompt solution.In order to improve people chip is carried out the efficient of functional simulation, transaction-grade software and hardware collaborative simulation technology provides more at a high speed as a kind of new solution, more flexibly emulation mode.
Transaction-grade software and hardware collaborative simulation technology is a kind of functional simulation method that is used for complicated large scale integrated chip, is mainly used in the proofing chip rtl model and whether has finished the function that needs, and guarantees that this rtl model meets design specifications.In the method, the transaction-grade software and hardware collaborative simulation system uses a computer and finishes the emulation of a system under test (SUT) with the hardware emulator associated working jointly.
The basic thought of the software and hardware cooperating simulation of transaction-level is by the modeling level that improves software emulation side and reduces the speed that the bipartite synchronizing information amount of software and hardware improves collaborative simulation, quickens the test of various standard interfaces by increase transaction processor module various standards and comprehensive in simulation hardware side.To achieve these goals, the software and hardware cooperating simulation system of transaction-level need possess following four key properties.
The software emulation module is used the transaction-level modeling, can use language descriptions such as C/C++/SystemC usually, and this is very different with rtl model with the HDL language description, and it is no longer based on clock or signal variation.Owing to had higher abstraction level, the software emulation module can have modeling speed and travelling speed more fast.
Message based communication, software and hardware emulation both sides carry out the synchronous and message exchange of bipartite emulation with message as transmission unit.Collaborative simulation system has defined various affairs possible in the system, and emulation side represents it, and passes to the other side after the affairs of agreement take place with the message of arranging.Use message to replace the concrete signal value to communicate, can reduce bipartite data transmission frequency and volume of transmitted data.
Transaction processor is finished the conversion of the data layout between message and the signal.Because simulation hardware module itself is used signal work, for by message and software emulation side communication, increased the conversion work that the affairs processor module carries out information format in the simulation hardware side, it can be transformed into the message from software emulation side the pumping signal of a plurality of clock period, also the response signal of a plurality of clock period can be transformed into message simultaneously.Transaction processor has been realized the conversion between software and hardware both sides' the data layout.
Control clock and non-control clock, the work of the whole simulation hardware method, system of non-control clock control is the system clock of a reality.The work of control clock control simulation hardware module, it is subjected to the control of transaction processor module.When transaction processor carried out message conversion, the signal that the simulation hardware module needs did not also produce, and non-control clock is closed the work that stops the simulation hardware module.
In the software and hardware cooperating simulation system of transaction-level, each submodule in the system under test (SUT) and test module thereof are divided into two groups, one group of called after software emulation module, emulation in computing machine, one group of called after simulation hardware module, emulation in hardware emulator.Software emulation module and simulation hardware module utilize the high speed of the dirigibility of computing machine and hardware emulator to finish the functional simulation of SoC system jointly respectively.
The basic structure of the software and hardware cooperating simulation system of transaction-level as shown in Figure 1.Software emulation side comprises the software interface part of a plurality of software emulation modules and message channel, and simulation hardware side comprises simulation hardware module, a plurality of transaction processor module, the hardware interface part of message channel.The effect of these modules is as follows:
The software emulation module can be divided into software stimulating module and software responses module usually.The software stimulating module requires to produce corresponding stimulus messages according to concrete emulation/checking, and stimulus messages is write the Message Agent port.The software responses module analysis writes down output result and its correctness of checking of system under test (SUT) from the response message of Message Agent port.This module uses language such as C/C++ to realize on computers usually.
The rtl model of the chip that the simulation hardware module is normally to be tested.The designer carries out downloading to hardware emulator after comprehensive with it and verifies behind the RTL that finishes system under test (SUT) to be tested (register shift level) model.
Transaction processor is divided into input transaction processor and output transactions processor.The input transaction processor converts thereof into the pumping signal of corresponding system to be tested by the stimulus messages of message port reception from the software stimulating module.The stimulus messages of a correspondence can produce the input of the pumping signal of dozens or even hundreds of clock period.The response signal of output transactions processor monitors system to be tested converts thereof into corresponding response message, passes to the software responses module then.Similarly, the response signal of Xiang Guan a plurality of clock period can be represented by a response message.
Message channel is used to connect software emulation side and simulation hardware side, realizes the synchronous and message exchange of software emulation module and simulation hardware module by transmission stimulus messages and response message on passage.Message channel provides Message Agent port and message port in software emulation side and simulation hardware side respectively, just can carry out the transmission of message by the access message passage by these port software emulation modules and transaction processor module.
In this transaction-grade software and hardware collaborative simulation system, defined three kinds of message usually and be used to realize that software emulation side is synchronous with the message exchange and the emulation of simulation hardware side:
1, stimulus messages.It sends to corresponding input transaction processor by message channel from the software stimulating module, is used for software emulation direction simulation hardware module and notifies excitation affairs.Usually stimulus messages has comprised the numbering of purpose input transaction processor and the coding of the excitation affairs that will produce.
2, response message.It mails to the software responses module by message channel from the output transactions processor, is used for simulation hardware direction software emulation square tube and knows a response transactions has taken place.Usually response message has comprised the coding of the response transactions of the numbering of purpose software emulation module and generation.
3, input is ready to message.In order to prevent since the software stimulating module to send stimulus messages processing speed too fast or the input transaction processor slower, cause stimulus messages the overflowing of input transaction processor, system uses input to be ready to the Flow Control that message is carried out stimulus messages.Input is ready to message and mails to the software stimulating module by message channel from the input transaction processor, informs that the corresponding now input transaction processor of software stimulating module has been ready to receive stimulus messages.Usually input is ready to numbering and the ready coding of expression input that message comprises the input transaction processor.The format sample that input is ready to message as shown in Figure 2.The numbering of 8bit can realize containing the collaborative simulation system of 256 input transaction processors.
Message definition in the software and hardware cooperating simulation system has been arranged the content and the form of software and hardware emulation both sides' synchronous operation, has made things convenient for the transaction-level modeling of software emulation side.Import and response analysis by the transaction processor realization excitation at a high speed of hardware side simultaneously, and reduced the volume of transmitted data on the message channel, the emulation that has reduced to produce on the passage postpones.
In above-mentioned transaction-grade software and hardware cooperative system, software emulation module and simulation hardware module by appropriate be arranged in this collaborative simulation system after, message exchange and the emulation of carrying out the software and hardware both sides by three kinds of message are synchronous, and the step of whole simulation is as follows usually:
1, software emulation side carries out initialization.Software emulation side carries out initialization earlier, and the software stimulating module directly enters waiting status from init state, and the software responses module is in the wait-for-response message status.Software emulation side sends reset signal in stable back to simulation hardware side, and preliminary examinationization carry out in notice simulation hardware side.
2, simulation hardware side carries out initialization after receiving reset signal, and each input transaction processor is ready to message to the software stimulating module transmission input of correspondence, prepares to receive stimulus messages then.
3, the software stimulating module is receiving the simulation work that begins to carry out oneself after input is ready to message, after the affairs that agreement takes place, to the input transaction processor transmission stimulus messages of correspondence.Be in waiting status then, the arrival of good news to wait for the input preparation.
4, the input transaction processor of simulation hardware side becomes message translation the pumping signal of a plurality of clock period of correspondence after receiving stimulus messages, realizes the excitation input to tested module.Simultaneously, the input transaction processor sends input and is ready to message according to the full state of the message buffering space empty of oneself.
5, the software stimulating module enters the excitation transmit status after the input of receiving corresponding input transaction processor is ready to message.Artificial tasks before the continuation of software stimulating module is simultaneously after the affairs that agreement takes place, to the input transaction processor transmission stimulus messages of correspondence.Transfer to waiting status then.The state transition diagram of software stimulating module as shown in Figure 3, it adopts the accepting state of pessimistic method prediction input transaction processor.
6, the output transactions processor of simulation hardware side monitors the output port of tested module in simulation process, constantly the variation of response signal is encoded with response message, and issues corresponding software responses module.
7, the software responses module is carried out corresponding response record and analysis after receiving response message, judges whether the output of tested module is correct.
In whole transaction-grade software and hardware collaborative simulation process, step 4,5 is carried out repeatedly, promotes the simulation hardware module thus and the software stimulating module is constantly finished artificial tasks, advances the emulation progress of tested module.Step 6,7 is constantly finished the response record and the analysis of tested module in simulation process simultaneously.
In simulation process, stimulus messages is finished the excitation input to tested module, response message is finished the analysis to the output response of tested module, input is ready to the Flow Control function of message realization to stimulus messages, guarantees that the transmission speed of stimulus messages can not surpass the receiving ability of input transaction processor.
The advantage of above-mentioned synergy emulation method for transaction-grade software and hardware:
1. excitation produces and the response analysis scheme this method for the user provides very easily.Because the software emulation module is moved on computers, can use software language (as C/C++) to describe, and has data-handling capacity very flexibly.This collaborative simulation system can produce the very high exiting form of emulation coverage rate, and responsive status is done various calculating and exported with various forms.
2. this method provides simulation velocity fast.In the method, tested module is placed in the hardware emulator usually and moves, and makes that the most complicated part obtains the fastest travelling speed in the analogue system.
3. this method is by the transaction processor of use standard, makes the macro operation that the test of module is based on the affairs notion, rather than concrete signal changes, and improved user's verification efficiency.
4. this method uses the message of agreement form to realize the expression of exiting form and the record of response results.Represent pumping signal and response signal with direct use signal value, this method has reduced the emulation delay that the data transmission on passage causes.
The shortcoming of this synergy emulation method for transaction-grade software and hardware:
Synergy emulation method for transaction-grade software and hardware has used two the independent emulation platforms (software side and hardware side) that connected by message channel to carry out the functional simulation of tested module.In simulation process, the software stimulating module in software side needs constantly to produce stimulus messages, and these a large amount of stimulus messages pass to the input transaction processor by message channel, and the input transaction processor converts these stimulus messages to corresponding pumping signal.In order to prevent that the software stimulating module from sending reception and the processing power of the speed of stimulus messages greater than the input transaction processor, this collaborative simulation system has defined a kind of input and has been ready to mechanism.The input mechanism of being ready to is overflowed the input transaction processor of situation a feedback of status method is provided for stimulus messages might take place for each, it issues corresponding software stimulating module with the state whether corresponding input transaction processor is ready to receive stimulus messages, and this software stimulating module just can judge whether can continue to send stimulus messages according to this status information and can not cause overflowing of input transaction processor.
In above-mentioned implementation, what the software stimulating module adopted is the pessimistic forecast method, just thinks that corresponding input transaction processor is not ready for and enters waiting status when initialization and after each transmission stimulus messages.Only the input transaction processor that receives reference numeral be ready to just can turn back to the excitation transmit status after the message from waiting status, continue to send next stimulus messages then.
In simulation process, it is corresponding one by one with the stimulus messages that the software stimulating module produces that the input that the input transaction processor produces is ready to message, n input transaction processor arranged in the supposing the system, each input transaction processor receives that stimulus messages is v in unit interval, and the size that input is ready to message is illustrated in figure 2 as 9bit, then the input transmitted data amount of (9*n*v) bit that has been ready to messages consume in the unit interval.The bandwidth that this transmitted data amount demonstration input is ready to message and stimulus messages use is suitable, can reduce the service efficiency of whole message channel.
As long as the implementation by this input mechanism of being ready to can guarantee that the stimulus messages that the input transaction processor can receive a maximum just can never produce the situation of overflowing, but this scheme can reduce the simulation efficiency of collaborative simulation system.
Stimulus messages of the every transmission of software stimulating module just must wait for that the input from the input transaction processor of hardware side is ready to message.Because the software stimulating module has adopted this pessimistic Forecasting Methodology, think that the input transaction processor is easy to enter overflow status, even cause the input transaction processor to have bigger spatial cache also must just have the input of new stimulus messages after its input is ready to message sending.Therefore the transmission stimulus messages that the software stimulating module can not be smooth has suppressed the raising of collaborative simulation speed to the input transaction processor.
In this scheme, all can have the input of a correspondence to be ready to message for each stimulus messages need transmit on passage.This will increase greatly needs data quantity transmitted on the passage, passage will further suppress the raising of collaborative simulation speed to the transmission delay of message data.
Summary of the invention
The present invention provides a kind of high speed synergy emulation method for transaction-grade software and hardware on the basis of the Flow Control function that realizes stimulus messages based on a kind of status report messages, compare with existing method, and the present invention has higher simulation velocity.
Before setting forth detailed technology scheme of the present invention, at first introduce basic thought of the present invention:
1. in the present invention, the software stimulating module adopts the optimistic prediction method to realize that input is ready to mechanism.The software stimulating module thinks that the input transaction processor has bigger spatial cache, when initialization and after sending stimulus messages, think that all corresponding input transaction processor still is to be in the excitation transmit status, only receiving that the full or message of spatial cache that input transaction processor feedback is come overflows situation and just can wait for.
2. the status information of status report messages no longer is to reflect simply whether the input transaction processor is ready to receive stimulus messages.But the operating position of the spatial cache of the input transaction processor by a plurality of status information coded representation correspondences reflects that thus the input transaction processor can receive the in various degree various of new stimulus messages.
3. simulation hardware side encourages the feedback of send state information separately at each input transaction processor, but adopts all status information feedbacks.Status report messages is arranged the accepting state numbering by appointment of all input transaction processors and is packaged into a message, gives software side then together.The software square tube is informed corresponding software stimulating module with the accepting state of each input transaction processor after crossing parsing, is used to indicate the software stimulating module whether can send stimulus messages.
4. simulation hardware side is receiving that at every turn stimulus messages just feeds back the receiving status information of input transaction processor, but periodic status report message is reported the accepting state of input transaction processor.The cycle that sends, concrete conditions such as the transmission density of stimulus messages were provided with according to the spatial cache size of input transaction processor.
The basic structure of transaction-grade software and hardware collaborative simulation system as shown in Figure 1, in order to realize that the software stimulating module sends the Flow Control function of stimulus messages to the input transaction processor, improve original input and be ready to the treatment effeciency of message mechanism, the present invention improves the simulation process and the message content of transaction-grade software and hardware collaborative simulation.
According to above-mentioned basic thought, the following describes the technical scheme case of high speed synergy emulation method for transaction-grade software and hardware provided by the invention:
A kind of high speed synergy emulation method for transaction-grade software and hardware is characterized in that, may further comprise the steps:
Step 1, software emulation side carry out initialization.Software emulation side carries out initialization earlier, and software emulation side sends reset signal in stable back to simulation hardware side, and preliminary examinationization carry out in notice simulation hardware side.Then through after a while delay, guarantee that simulation hardware side has entered normal operating conditions after, the software stimulating module is directly transferred to the excitation transmit status, sends stimulus messages.
Step 2, simulation hardware side carry out initialization after receiving reset signal, each input transaction processor begins to prepare to receive stimulus messages.
Step 3, software emulation side carry out corresponding artificial tasks, and after the affairs that agreement takes place, the software stimulating module sends stimulus messages to the input transaction processor of correspondence.The software stimulating module continues to remain on the excitation transmit status then, and the artificial tasks after continuing.
The input transaction processor of step 4, simulation hardware side becomes message translation the pumping signal of a plurality of clock period of correspondence after receiving stimulus messages, realize the excitation input to tested module.Simultaneously, simulation hardware side makes regular check on the operating position in the message buffering space of all input transaction processors, to software emulation side's status report message, the status report messages form is made up of the state encoding of each input transaction processor of serial number as shown in Figure 6.The state encoding of described each input transaction processor is as described in Table 1.
Step 5, software stimulating module carry out state transitions control according to the state encoding of corresponding input transaction processor after receiving status report messages.If when the software stimulating module is in the excitation transmit status, receive " 10 " or " 11 " state encoding, then be transferred to waiting status, otherwise constant.If when being in waiting status, receive that " 00 " state encoding then is transferred to the excitation transmit status.This state transformation as shown in Figure 4.
The output transactions processor of step 6, simulation hardware side monitors the output port of tested module in simulation process, constantly the variation of response signal is encoded with response message, and response message is issued corresponding software responses module.
Step 7, software responses module are carried out corresponding response record and analysis after receiving response message, judge whether the output of tested module is correct.
In whole simulation process, step 3,4,5 constantly has been repeated in this description the process that software emulation square tube blasting message encourages the simulation hardware module.Step 6,7 constantly has been repeated in this description the process that the response of simulation hardware module is write down and analyzed by software emulation side by response message.Wherein, periodic status report messages has effectively been realized the Flow Control function of stimulus messages.
Essence of the present invention is on the basis of existing synergy emulation method for transaction-grade software and hardware, has carried out the improvement of following four aspects:
One, the improvement of the treatment scheme of software stimulating module
In the process of collaborative simulation, need send the continuous receiving status information that receives self-corresponding input transaction processor of software stimulating module of stimulus messages to the input transaction processor, judge whether then and can send stimulus messages to this corresponding input transaction processor.Usually, the software stimulating module takes the method for pessimistic forecast to judge the accepting state of input transaction processor, the state transition diagram of its processing procedure such as Fig. 3.The software stimulating module has initialization, input is ready to and wait for three states.After system reset, enter init state, the various initial parameters of software stimulating module are set.At this moment the software stimulating module thinks that the state of corresponding input transaction processor is for being not ready for.Receive input when it and just enter the excitation transmit status when being ready to message.The software stimulating module sends stimulus messages when the excitation transmit status then, and enters into waiting status after transmission.Think during waiting status that input transaction is handled and also do not carry out the preparation that receives stimulus messages.Receive when waiting status that then input is ready to the information software stimulating module and turns back to the excitation transmit status, continue to send next stimulus messages.Because the software stimulating module all will enter waiting status and wait for that receiving input is ready to message after each transmission stimulus messages, so this method has suppressed the travelling speed of software stimulating module.
In the present invention, the software stimulating module is taked the accepting state of optimistic method prediction input transaction processor.As shown in Figure 4, the software stimulating module enters init state various parameters is set after system reset, directly enters into the excitation transmit status then, and at this moment the software stimulating module just can send stimulus messages.After each transmission stimulus messages, the software stimulating module still is in the excitation transmit status.Only when the spatial cache of receiving corresponding input transaction processor was expired status information, the software stimulating module just entered waiting status.Can not send stimulus messages at waiting status software stimulating module.The software stimulating module receives that turning back to the excitation transmit status after the spatial cache dummy status information of input transaction processor continues to send next stimulus messages when waiting status.This treatment scheme has reduced the time that the software stimulating module is in waiting status, can improve the speed of collaborative simulation.
Two, the coding of the receiving status information of input transaction processor
For stimulus messages is carried out effective Flow Control, the input transaction processor need send the receiving status information of oneself to the software stimulating module, is exactly the use information of its spatial cache usually.In existing method, the input transaction processor adopting with the status report mechanism of above-mentioned pessimistic forecast coupling.After receiving stimulus messages, the input transaction processor will check whether its spatial cache is full at every turn.If buffer memory, then sends input for discontented and is ready to message and informs that the software stimulating module continues to send stimulus messages, if spatial cache then wait for for full, postpone the transmission that input is ready to message, up to spatial cache for discontented.Such method has produced more input and has been ready to message, has increased the volume of transmitted data on the message channel.And, can not reflect the usage degree of spatial cache because the feedback states information of input transaction processor has included only empty full information, even when more remaining space is arranged, the software stimulating module still can not send a plurality of stimulus messages and improve operational efficiency.
In the present invention, the input transaction processor is provided with four kinds of accepting states according to the operating position of its spatial cache, and encodes.The basic structure of input transaction processor as shown in Figure 5.Stimulus messages enters from the input message port, and then by fifo (buffer memory of input transaction processor) module stores, the pumping signal generation module produces the pumping signal of needs according to stimulus messages.According to 4 signal empty that the fifo module provides, ae, af, full distinguish four kinds of accepting states of input transaction processor.
Signal empty represents that the fifo module is for empty.
Signal ae represents that fifo module use unit number is less.Its use unit number of ordinary representation is less than parameter ae_num during specific implementation, and parameter ae_num is provided with by the user.
Signal af represents that fifo module use unit number is less.Its use unit number of ordinary representation is greater than parameter af_num during specific implementation, and parameter af_num is provided with by the user.
Signal full represents that the fifo module is for full.
The setting of four accepting states such as following table 1:
Table 1: four accepting state tables of input transaction processor
State The input transaction processor is in the condition of this state The operating position of fifo under this state State encoding
Than dummy status When signal empty or ae are effective 0~ae_num “00”
Medium state As four signal empty, ae, when af, full are invalid ae_num~af_num “01”
Expire state When signal af or full are effective, be in this state af_num~fifo_num “10”
Overflow status When full effectively and be in this state when also having new stimulus messages attempt to write fifo Stimulus messages is overflowed “11”
Annotate: fifo_num represents the unit number that fifo is total.
By return the above-mentioned state encoding of input transaction processor to the software stimulating module, the software stimulating module can know that the input transaction processor is in " than dummy status ", " medium state ", " expiring state " and " overflow status " one of four states, knows the usage degree of the spatial cache of input transaction processor thus.In the present invention, according to above-mentioned optimistic prediction method, the software stimulating module continues to keep the excitation transmit status when the excitation transmit status is received " than dummy status " and " medium state ", when receiving " comparatively expire state ", enter waiting status, when receiving " overflow status " according to the processing that can report an error of user's needs.The software stimulating module continues to keep waiting status when receiving " expiring state " and " medium state " in waiting status, just returns the excitation transmit status after receiving " than dummy status ".
By the report of more kinds of status informations, the software stimulating module can send an amount of stimulus messages according to the usage degree of the spatial cache of input transaction processor.Can send a plurality of stimulus messages continuously at " than dummy status " software stimulating module, can send a small amount of stimulus messages continuously at " medium state " software stimulating module, should stop to send stimulus messages at " expiring state " software stimulating module, " overflow status " is used for system and reports an error.Used two different threshold values to distinguish in the excitation transmit status with the conversion between the waiting status simultaneously, have only fifo to use greater than af_num, the excitation transmit status just enters waiting status, has only fifo to use less than ae_num, and waiting status is just returned the excitation transmit status.Because the difference of af_num and ae_num can prevent software stimulating module frequent transitions between excitation transmit status and waiting status.And the user can come the efficient of regulating system with stable by the value of configuration ae_num and af_num.
Therefore, the multiple receiving status information of input transaction processor cooperates the optimistic prediction method of software stimulating module to reduce the time that is in wait, has realized the faster transmission speed of stimulus messages.
Three, all feedbacks of the receiving status information of input transaction processor
In a transaction-grade software and hardware collaborative simulation system, there are a plurality of input transaction processors need carry out the information feedback of accepting state usually to its corresponding software stimulating module.Usually, each input transaction processor is independently finished the feedback of status information separately, and when the needs status information was fed back, the input transaction processor sent an input and is ready to the software stimulating module of message to correspondence.Independent input is ready to format sample such as Fig. 2 of message.Because each input transaction processor independently carries out status information reporting, be ready to need in the message number information of input transaction processor in input, each input simultaneously is ready to message all the additive decrementation of oneself.In the present invention, status information reporting is being not individually at an input transaction processor, but with a status report messages status information of all input transaction processors is reported.The form of this status report messages as shown in Figure 6.Suppose that total n input transaction processor need carry out status information reporting, then status report messages is divided into n zone, and each zone takies 2bit.The accepting state of the input transaction processor device of each numbering that each zone is respectively corresponding in order.2bit information in the zone is exactly the status information coding of above-mentioned input transaction processor.
After this status report messages was issued software side, software number order according to a preconcerted arrangement parsed the status information of each input transaction processor, is distributed to each corresponding software stimulating module.The software stimulating module carries out the Flow Control of stimulus messages according to its status information.
All feedback mechanisms of this status information have reduced the number information that the input transaction processor is discerned in original being used to by the status information of each input transaction processor of appointed position sign of status report messages.Replace the individual independently input of input transaction processor of n to be ready to message with a status report messages simultaneously.Therefore this method both will reduce the volume of transmitted data on the passage, had also saved the time loss that frequent transmission input is ready to message.
Four, cycle status report message
In order to guarantee that stimulus messages does not cause overflowing of input transaction processor, in the method in the past, after the software stimulating module sent stimulus messages at every turn, corresponding input transaction processor just must check whether its spatial cache also has remaining space.Be ready to message if there is remaining space just to send input, be not ready to message if just wait for up to there being remaining space to send input again.Therefore each stimulus messages is all corresponding, and an input is ready to message, and the average generation speed that the message good news is prepared in input is identical with the average generation speed of stimulus messages.Under the more situation of stimulus messages, input is ready to message and will have taken a large amount of message channel bandwidth, postpones the emulation progress of whole collaborative simulation system.
In the present invention, the transaction-grade software and hardware collaborative simulation system uses above-mentioned status report messages to replace input to be ready to the Flow Control function that message is finished stimulus messages.Because status report messages no longer is the feedback of status that corresponding some input transaction processor modules or some stimulus messages are carried out, so can't need to use stimulus messages to trigger the transmission of status report messages.In the present invention, status report messages adopts periodically send mode, and the receiving status information of each input transaction processor is gathered according to the fixing cycle by hardware side, is packaged into a status report messages then and sends to software emulation side.The user can be provided with the transmission cycle according to the frequency of stimulus messages transmission in the system and the spatial cache size of input transaction processor.As long as guarantee that the spatial cache of input transaction processor is bigger, the stimulus messages in one-period can not cause overflowing of spatial cache immediately, the Flow Control that so periodic status report messages just can helper applications stimulating module realization stimulus messages.1/4 to 1/2 of the average transmission speed of the stimulus messages that the common transmission speed that needs only status report messages is single input transaction processor just can be realized the Flow Control to stimulus messages effectively.
Periodic status report messages makes that the feedback of status message number that is used for the stimulus messages Flow Control no longer is proportional with the quantity of stimulus messages, but the transmission cycle that is provided with the user is proportional, approximately is 1/4th of the stimulus messages that sends of single input transaction processor.In case set the transmission cycle, the bandwidth of the message channel that this status report messages takies in whole collaborative simulation process is a more stable numerical value, can be not relevant with the transmission speed of stimulus messages.Therefore, the periodic status report messages mechanism bandwidth that promptly helps to save message channel has also improved the stability of collaborative simulation speed.
Performance estimation
In simulation process, the periodic status report messages that produces in simulation hardware side is informed the status information of each input transaction processor of software emulation side.N input transaction processor arranged in the supposing the system, each input transaction processor receives that on average stimulus messages is v in unit interval, and the size of status report messages is according to Figure 6 shows that (2n) bit, the transmission speed that status report messages is set is 1/4 of a stimulus messages transmission speed, and (2n* (1/4) * is the transmitted data amount of bit=(1/2*n*v) bit v) so can draw unit interval internal state report message mean consumption.This shows, contrast (9*n*v) bit of original method, message channel bandwidth still less that the status report messages among the present invention has been finished same Flow Control function consumption.
The invention has the beneficial effects as follows:
The invention provides the method for transaction-grade software and hardware collaborative simulation more at a high speed and the definition of the status report messages of the Flow Control function that is used for stimulus messages.In the method, the software stimulating module adopts the optimistic prediction method to judge the accepting state of input transaction processor, the input transaction processor provides four kinds of accepting states to reflect the usage degree of its spatial cache, hardware side has also defined status report messages, and this message periodically reports to software side with the receiving status information of all input transaction processors.The present invention is by replacing pessimistic forecast with optimistic prediction, replace two kinds of accepting states with four kinds of accepting states, replace independent status report with all status reports, replace stimulus messages to trigger the improvement of four main aspects such as status report with the periodic status report, number of times and time that the software stimulating module is in waiting status have been reduced, promptly accelerated the transmission speed of stimulus messages, simultaneously the user mode report message has reduced feedback of status message to the taking of the bandwidth of message channel, and has promptly dwindled various message transmission delay time on passage.The present invention can improve the simulation velocity of this analogue system greatly by improving the Flow Control efficient of stimulus messages in a word.This invention can provide following advantage for the transaction-grade software and hardware collaborative simulation system:
1, by the optimistic prediction method, make the software stimulating module more be in the excitation transmit status, stimulus messages can be smooth more sends to the input transaction processor.Therefore more stimulus messages is processed in the same time, and the emulation of collaborative simulation system is also faster.
2, the coding of a plurality of accepting states by the input transaction processor, software stimulating module can more detailed understanding input transaction processor the usage degree of spatial cache, can regulate the transmission speed of stimulus messages more accurately thus.The transmission speed of appropriate stimulus messages can help to improve the simulation velocity of collaborative simulation system.
3, all be placed in the status report messages by accepting state and send all input transaction processors, collaborative simulation system has reduced the quantity that needs the feedback of status message of transmission, reduced the bandwidth consumption of message channel, dwindle the transmission delay of all message in the collaborative simulation system, improved the speed of collaborative simulation system thus.
4, by adopting periodic status report message, determining to send all after dates, the message channel bandwidth that the status report messages in this collaborative simulation system takies becomes a more stable numerical value.This method can further reduce the quantity of feedback of status message, improves the speed of collaborative simulation system, and can improve the stability of the simulation velocity of collaborative simulation system.
Description of drawings
Fig. 1: the basic structure synoptic diagram of the software and hardware cooperating simulation system of transaction-level.
Fig. 2: input is ready to the form synoptic diagram of message.
Fig. 3: the software stimulating module adopts pessimistic method prediction accepting state synoptic diagram.
Fig. 4: the present invention adopts optimistic method prediction accepting state synoptic diagram.
Fig. 5: the basic structure synoptic diagram of input transaction processor.
Fig. 6: the form synoptic diagram of status report messages.

Claims (1)

1. a high speed synergy emulation method for transaction-grade software and hardware is characterized in that, may further comprise the steps:
Step 1, software emulation side carry out initialization
Software emulation side carries out initialization earlier, and software emulation side sends reset signal in stable back to simulation hardware side, and notice simulation hardware side carries out initialization; Then through after a while delay, guarantee that simulation hardware side has entered normal operating conditions after, the software stimulating module is directly transferred to the excitation transmit status, sends stimulus messages;
Step 2, simulation hardware side carry out initialization after receiving reset signal, each input transaction processor begins to prepare to receive stimulus messages;
Step 3, software emulation side carry out corresponding artificial tasks, after the affairs that agreement takes place, the software stimulating module sends stimulus messages to the input transaction processor of correspondence, and the software stimulating module continues to remain on the excitation transmit status then, and the artificial tasks after continuing;
The input transaction processor of step 4, simulation hardware side becomes message translation the pumping signal of a plurality of clock period of correspondence after receiving stimulus messages, realize the excitation input to tested module; Simultaneously, simulation hardware side makes regular check on the operating position in the message buffering space of all input transaction processors, and to software emulation side's status report message, the status report messages form is made up of the state encoding of each input transaction processor of serial number; The state encoding of described each input transaction processor is as described in the following table;
Four accepting state tables of input transaction processor
State The input transaction processor is in the condition of this state The operating position of fifo under this state The coding of this state Than dummy status When signal empty or ae are effective 0~ae_num “00” Medium state As four signal empty, ae, when af, full are invalid ae_num~af_num “01” Expire state When signal af or full are effective, be in this state af_num~fifo_num “10” Overflow status When full effectively and be in this state when also having new stimulus messages attempt to write fifo Stimulus messages is overflowed “11”
Annotate: fifo_num represents the unit number that fifo is total
Step 5, software stimulating module carry out state transitions control according to the state encoding of corresponding input transaction processor after receiving status report messages
When the software stimulating module is in the excitation transmit status,, then be transferred to waiting status if receive " 10 " or " 11 " state encoding, otherwise constant; When the software stimulating module is in waiting status,, then be transferred to the excitation transmit status if receive " 00 " state encoding;
The output transactions processor of step 6, simulation hardware side monitors the output port of tested module in simulation process, constantly the variation of response signal is encoded with response message, and response message is issued corresponding software responses module;
Step 7, software responses module are carried out corresponding response record and analysis after receiving response message, judge whether the output of tested module is correct;
In whole simulation process, step 3,4,5 constantly repeats, and step 6,7 constantly repeats.
CNB2006100207017A 2006-04-13 2006-04-13 High speed synergy emulation method for transaction-grade software and hardware Expired - Fee Related CN100373351C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100207017A CN100373351C (en) 2006-04-13 2006-04-13 High speed synergy emulation method for transaction-grade software and hardware

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100207017A CN100373351C (en) 2006-04-13 2006-04-13 High speed synergy emulation method for transaction-grade software and hardware

Publications (2)

Publication Number Publication Date
CN1828551A CN1828551A (en) 2006-09-06
CN100373351C true CN100373351C (en) 2008-03-05

Family

ID=36946962

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100207017A Expired - Fee Related CN100373351C (en) 2006-04-13 2006-04-13 High speed synergy emulation method for transaction-grade software and hardware

Country Status (1)

Country Link
CN (1) CN100373351C (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101365150B (en) * 2007-08-08 2011-08-24 华为技术有限公司 Method and node enhancing multicast transmission efficiency based on random network code
CN102760176B (en) * 2011-04-29 2015-02-11 无锡江南计算技术研究所 Hardware transaction level simulation method, engine and system
CN106326599B (en) * 2016-09-14 2020-03-10 苏州浪潮智能科技有限公司 System state monitoring method and device for multiprocessor system simulation
CN109213626A (en) * 2018-08-20 2019-01-15 上海集成电路研发中心有限公司 A kind of control method of state machine and its state machine
CN109683877B (en) * 2018-12-11 2022-03-15 中国航空工业集团公司西安航空计算技术研究所 SystemC-based GPU software and hardware interaction TLM system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1420434A (en) * 2001-11-16 2003-05-28 深圳市中兴通讯股份有限公司上海第二研究所 Board stage supporting packet simulation method
CN1582432A (en) * 2000-06-19 2005-02-16 P·C·克劳斯及合伙人公司 Distributed simulation
US20050223281A1 (en) * 2004-02-03 2005-10-06 Maly John W Transaction logging and intelligent error reporting in an expectation-based memory agent checker

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1582432A (en) * 2000-06-19 2005-02-16 P·C·克劳斯及合伙人公司 Distributed simulation
CN1420434A (en) * 2001-11-16 2003-05-28 深圳市中兴通讯股份有限公司上海第二研究所 Board stage supporting packet simulation method
US20050223281A1 (en) * 2004-02-03 2005-10-06 Maly John W Transaction logging and intelligent error reporting in an expectation-based memory agent checker

Also Published As

Publication number Publication date
CN1828551A (en) 2006-09-06

Similar Documents

Publication Publication Date Title
CN100399341C (en) Software and hardware synergistic simulation/ validation system and vector mode simulation/ validation method
Jalabert et al. xpipesCompiler: A tool for instantiating application-specific Networks on Chip
CN100373351C (en) High speed synergy emulation method for transaction-grade software and hardware
KR20140079417A (en) Apparatus and methods for an interconnect power manager
CN100562864C (en) A kind of implementation method of chip-on communication of built-in isomerization multicore architecture
CN104050140B (en) Method, apparatus, system for hybrid lane stalling or no-lock bus architectures
Gilabert et al. Exploring high-dimensional topologies for NoC design through an integrated analysis and synthesis framework
CN109446740A (en) A kind of system on chip framework performance emulation platform
CN106649184A (en) Method for quick response of asynchronous communication serial port instruction for satellite-borne electronic equipment
CN101777035A (en) Implementation method for AMBA AHB bus and device thereof
CN104008076A (en) Bus data signal transmitting method and device capable of supporting DVFS
CN111985174A (en) RT latch and latch method
Coelho et al. Hardware-software codesign of embedded systems
US20050159907A1 (en) Method and apparatus for VLSI clock gated power estimation using LCB counts
Chen et al. FPGA-based elastic in-circuit debugging for complex digital logic design
Menaka et al. Asynchronous Circular Buffers based on FIFO for Network on Chips
Salman et al. High Performance and Low Power Axi-Lite 4 Master Controller Using System Verilog
Prabhu OCIN_TSIM-a DVFS aware simulator for NoC design space exploration and optimization
CN116184902A (en) Microsecond level delay control method for converting reflective memory network node and electric signal interface
Yoo et al. Performance improvement of geographically distributed cosimulation by hierarchically grouped messages
Jung et al. Handshake protocol using return-to-zero data encoding for high performance asynchronous bus
Semeraro Multiple clock domain microarchitecture design and analysis
CN110717255A (en) Simulation method
Galal Abdelhamid Digital Techniques for Cultural Heritage and Artifacts Recording.
Ayub Pre-Silicon Power and Performance Estimation and Optimization for System Scenarios of Mobile Communication Platforms

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080305

Termination date: 20110413