Background technology
With leading System on Chip/SoC(SoC, System on Chip)More complicated various agreements are all contained in design,
Intellectual property for checking(VIP, Verification Intellectual Property)Have become verification environment
One important component, and allow an engineer to enough reach coverage rate target in the project process of anxiety.VIP provides various cores
Functional mode on piece and outside chip, such asPCI Express, USB, MIPI, HDMI and Ethernet
Deng.Checking engineer comes to test all SoC interfaces using these models in flow, enables them to verify that an interface is
It is no to meet announced standard.
Electric design automation(EDA)The SystemVerilog verification methodologies that Software tool manufacturer releases(VMM)By very
Polyelectron company uses, for developing advanced verification environment.Using SystemVerilog create using covering it is leading, it is random about
The comprehensive verification environment of beam, assertion based verification technology, while for establishing data block mutually can be specified with checking assembly.VMM side
The science of law obtains the use of the hundreds of SoC in the whole world and silicon IP checkings team, accelerates exploitation based on the powerful of SystemVerilog
Verification environment, and help to reach measurable function coverage target with less time and effort.
Mainstream chip design is had increasing need for using the designing technique based on SoC that can reuse IP extensively.Which increase set
The complexity of meter, propose bigger checking challenge, it is necessary to using powerful new verification technique and method to engineer.Employ
The standard of VMM methodologies, it greatly improves the quality and productivity ratio of chip checking process.
As chip-scale is increasing, design complexities more and more higher, the checking in chip design is as designer's
Challenge.Chip design engineer can be effectively helped to solve checking challenge with the SystemVerilog of VMM methodologies.
Recently there is Software tool manufacturer to release and be based on SystemVerilog language, with primary UVM, VMM and OVM branch
The VIP different from other commercializations is held, the VIP is write using SystemVerilog language completely, and another kind is employed at one
, also need not any encapsulation or methodology extension around the original realization of different language.Discovery VIP employ primary
Support generic validation methodology in ground(UVM, Universal Verification Methodology), verification methodology handbook
(VMM, Verification Methodology Manual)With open verification methodology(OVM, Open Verification
Methodology)Framework, the interoperability encapsulation without methodology rank or translation under outer layer and again
New mappings.For the standard before AMBA3.0, there is the commercial VIP of correlation, but be built upon the verification methodology of correlation greatly
(Or simulation work)On, without the simple VIP based on System Verilog language.
In response to the demand to higher performance and power efficiency, see now that in industry and rapidly use AMBA extensively
4AXI4TMAnd ACETMAgreement, to support sustainable continuous, diversified and multiprocessor system-on-chip chip, AMBA 4.0 mark
It is simultaneous without ripe VIP checkings AXI4 and ACE EBI, therefore, it is necessary to develop a set of AMBA VIP after standard is released
Hold the whole standards of below AMBA4.0, it is unrelated with verification methodology, it is unrelated with emulation tool, based on system verilog language,
It is desirably integrated into the SoC verification environments of any AMBA systems.
The content of the invention
The present invention provides a kind of device for verifying Advanced Microcontroller Bus interface, suitable for any system based on AMBA
The checking of level or module level, the design verification efficiency of whole chip can be improved.
A kind of device for verifying Advanced Microcontroller Bus interface provided by the invention, including:
Parameter generating unit, for producing opportunistic transmission bag according to constraints(random transaction), the biography
At least one of parameters described below is included in defeated bag:Data, address, read-write type, burst-length, and send the opportunistic transmission bag
To transmission unit;
Transmission unit(Transactor), for the content of the opportunistic transmission bag transaction, generate different
Order, and it is sent to driver element Driver;
Driver element, for the different command to be changed into interface(interface)On signal, by marking accordingly
Quasi- interface interface is sent to identifying object(DUT);
Detection unit, for monitoring the behavior of the identifying object DUT buses, and check the agreement of the bus in real time
Correctness;
Function coverage statistic unit, for receiving the transmission bag of the transmission unit and/or detection unit transmission
Transaction, the coverage rate that row bus behavior is entered according to its content count, including access type, address space, data are empty
Between, at least one of outburst type.
Safeguard there is caching in driver element Driver(cache)Model, obtain/update according to different ACE types
The state of cache models, simulate the cache cache rows in a true high level consistency expansion interface ACE Master
For for responding and/or sending the access of monitoring snoop types.
Operational control module is provided with driver element, separates read-write operation for controlling, and according to super generating
(outstanding)Deep-controlled transmission process, if not up to predetermined super generating depth, Continuous Drive address;If reach pre-
Fixed super generating depth, then an end of transmission is waited to initiate to transmit next time again.
Any system-level or module level verification environment based on AMBA can directly be multiplexed device provided by the invention.
DUT transport module can be substituted with VIP devices provided by the invention before identifying object DUT transport module exploitation is completed
Complete whole-system verification.Because module is fully multiplexed, verification platform is largely shortened(Testbench)Exploitation week
Phase, improve the design verification efficiency of whole chip.
Embodiment
Many details are elaborated in the following description in order to fully understand the present invention.But the present invention can be with
Much it is different from other manner described here to implement, those skilled in the art can be in the situation without prejudice to intension of the present invention
Under do similar popularization, therefore the present invention is not limited to the specific embodiments disclosed below.
System on Chip/SoC business men is released with Advanced Microcontroller Bus Architecture(AMBA, Advanced Microcontroller
Bus Architecture)High level consistency expansion interface (ACE, Advanced Coherency Extensions) based on
Want the new edition AMBA interface and protocol specification of characteristic.Effectively to maintain the consistent of data stored by local cache in shared resource
Property, the uniformity of caching is crucial.AMBA 4ACE specifications can reach system-level between the multi-core processor that difference is gathered together
Cache coherence (including multi-core processor and painting processor).
AMBA 4ACE not only allow extremely complicated Heterogeneous systems single chip design to reach energy-efficient target, Ye Shizhuan
For designed by the secondary generation computing application in the fields such as action, family expenses, network and game.
AMBA 4ACE specifications can ensure that the cache coherence of systemic hierarchial, enable high-effect multi-core processor
Manage frequent data and caching is shared, and more across component communication, while support to access in shared buffer memory and outside
The extra process engine deposited.By a set of standardization program, for managing cache coherence, internal memory barrier and virtual memory,
The maintenance needs of software caching will can be reduced, save the processor cycle, and reduce the access of external memory.
Internal memory barrier is imported by memory subsystem, system engineer is completed best instruction sequence, if necessary may be used
Lifting system efficiency.The signal processing of distributed virtual internal memory, the framework and processor of newest release of arranging in pairs or groups can be by memory virtuals
Change extends to internal storage management system(MMU, Memory Management Unit), external memory more can be effectively used, is allowed simultaneously
Multiple operating systems (OS) can share hardware resource under appropriate virtual management software supervision.
In view of this, the embodiment of the present invention provides a kind of device for verifying Advanced Microcontroller Bus interface, such as Fig. 1 institutes
Show, the device 100 includes:
Parameter generating unit 10, for producing opportunistic transmission bag according to constraints(random transaction), should
At least one of parameters described below is included in transmission bag:Data, address, read-write type, burst-length, and send the opportunistic transmission
Wrap to transmission unit 20;
Transmission unit 20(Transactor), for the content of the opportunistic transmission bag transaction, generate difference
Order, and be sent to driver element 30(Driver);
Driver element 30, for the signal for changing into the different command on interface interface, by marking accordingly
Quasi- interface interface is sent to identifying object DUT;
Detection unit 40, for monitoring the behavior of the identifying object DUT buses, and the agreement of the bus is checked in real time
Correctness;
Function coverage statistic unit 50, for receiving the transmission of the transmission unit 20 and/or the transmission of detection unit 40
Transaction is wrapped, the coverage rate that row bus behavior is entered according to its content counts, including access type, address space, data are empty
Between, at least one of outburst type.
Also include at least one parameters described below in opportunistic transmission bag:
Read and write ID, data package size, lockType, respond style.
It is provided with the opportunistic transmission bag and monitors snoop read types, snoop write types or/and domain
Field type element.
Transmission unit 20Transactor is using readjustment(callback)Mechanism, according to user's needs, inject some mistakes
Element to the opportunistic transmission bag transaction, to check responses of the identifying object DUT under illegal excitation.
Driver element 30(Driver)In it is maintaining cached(cache)Model, according to different ACE types come obtain/
The state of cache models is updated, simulates the cache cache in a true high level consistency expansion interface ACE Master
Behavior, for responding and/or sending the access of monitoring snoop types.
Operational control module is provided with driver element 30, separates read-write operation for controlling, and according to super generating
(outstanding)Deep-controlled transmission process, if not up to predetermined super generating depth, Continuous Drive address;If reach pre-
Fixed super generating depth, then an end of transmission is waited to initiate to transmit next time again.
In order that principle, characteristic and the advantage of the present invention are entered with reference to specific embodiment to the present invention according to clear
Row is described in detail.
Fig. 1 show AMBA VIP module basic structure, is divided into four levels, scene(scenario), work(
Energy(function), order(command), signal(signal), this meets the system verilog of classics hierarchical structure.
Reference picture 1, wherein parameter generating unit 10(Generator)Can be according to constraints(constraint)Produce
Random transaction, including each dvielement such as data, address, read-write type, burst-length;Pass through mail box
It is delivered to Transactor.
Mailbox(Mailbox)It is a kind of communication mechanism defined in system verilog language, for transaction
(Transmission unit)Between communication.Mailbox is also system verilog keyword in itself, and its implementation is similar to
The data filled in a FIFO between data source and receiving end, FIFO are transaction(Transmission bag).
Certainly other transmission communication modes, such as TLM also be present.But these modes are all that language/standard defines.
Transactor is function level module, and it is according to the transaction contents randomly generated, generation
Go out different orders, continue through mailbox and be sent to Driver.Driver is command level module, and VIP
In a most complicated part, it is responsible for the signal that different command is changed on interface, passes through system verilog's
The interface of standard is sent to DUT.
Detection unit includes monitoring modular Monitor and checks module Checker, and they constitute AMBAVIP inspection
Mechanism, the behavior of identifying object DUT buses being observed, monitoring modular Monitor checks the correctness of the agreement of AMBA buses in real time,
It can be reported out coming if signal level mistake produces, can also stop emulating immediately.Checker is completed
Signal level to function level conversion, user can also some self-defined test modes inside Checker.
Communicate by Interface between monitoring modular Monitor and identifying object DUT, relied between Monitor and Checker
Mailbox communicates.This set checking mechanism of AMBAVIP can be enabled by independent, one real Master/Slave's of inspection
Bus behavior.Functional coverage statistic unit Function Coverage modules are directed to AMBA protocol definitions covering group
Coverage group, so as to ensure the coverage rate of checking.
coverage group(Covering group)It is the concept of system verilog language, and keyword.In brief,
One covering group includes multiple covering points, and a covering point includes multiple covering storehouses.Workflow is briefly described as follows,
Two covering groups of Function Coverage module definitions, while the transaction that transactor is sent is received, root
The coverage rate that bus behavior is done according to its content counts, including access type/address space/data space/outburst type etc.;Together
When can also receive checker transmission transaction, can not only count transactor transmission bus behavior covering
Rate, and count the sequential of random access/response in bus(timing)Information.As VIP generator and transactor
It is aggressive mode when all working, two-way coverage is being counted;When VIP generator and transactor do not work
When, only monitor and checker work are Passive Mode, only collect this coverage all the way of checker.
Checker generates new transaction according to AMBA bus signals, this transaction content and
Generator is generated basically identical, simply increases the timing information of some buses, is collected for coverage rate.
Self-defined test mode is just more diversified, such as the transaction that can be sent with generator does number
According to/address contrast.
High level consistency expansion interface ACE is the bus standard that AMBA 4 is newly introduced, and its complexity is guarantee system
Level chip(SoC, System on Chip are also referred to as on-chip system)Buffer consistency between multiple master, SoC, which is one, to be had specially
With the integrated circuit of target, wherein comprising holonomic system and having a full content of embedded software.So by taking ACE Master as an example,
Briefly explain the IP for being used to verify(VIP, Verification Intellectual Property)Implementation.Parameter
Generation unit Generator is to produce opportunistic transmission bag random transaction according to constraints constraint, should
Not only include data, address, read-write type, outburst type, burst-length, read-write ID, packet in transmission bag transaction
Size, lockType, respond style;And it is each to define snoop read types, snoop write types, domain types etc.
Dvielement;Transmission unit Transactor includes a set of readjustment(callback)Mechanism, can clearly it be noted according to user's needs
Enter some wrong elements to transaction, so as to check responses of the identifying object DUT under illegal excitation.Readjustment
Callback mechanism is a kind of task calling for approach that system verilog language suggestions use, and its basic ideas are the bottom of at
The interface of a task, does not do the realization of task defined in the object of layer, and different scenes can be directed in top object
Change the content of this task.Such benefit is that the code safeguarded is relatively fewer.
Cache models initialization and and simulation process in all leave callback interfaces, for different scene weights
Newly realize numerical value in this interface task can modification Cache models.This is also the System Verilog conventional side of one kind
Formula.
A set of cache is maintained in ACE masterVIP Driver(cache)Model, simulate a true ACE
Cache behaviors in Master, for responding/sending the access of snoop types.Cache models are that ACE VIP realize Cache
The key technology of uniformity.Some physical parameters of Cache models can be set when initialization, including spatial cache is big
Small, each cache line size, cache way(Road)Number.Two basic functions safeguard cache state:get_
Cache_state (addr) and set_cache_state (line_idx, state).Driver according to different ACE types come
The state of acquisition/renewal cache models.The original state of Cache models can be by function sets, can also be in simulation process
In changed by way of callback, so as to further improve the coverage rate of checking.
ACE/AXI adds advanced transmission compared with AMBA buses before(outstanding transaction)'s
Function, also referred to as " super generating ", it can it is preceding be once transmitted before initiate transmission below, it is whole so as to substantially increase
The efficiency of system.So checking device VIP provided by the invention can realize the support to advanced transmission outstanding, such as Fig. 2
It is shown:
Under transmission Outstanding patterns in advance, basic mode of operation is as follows:
1. being provided with operational control module in the independent driver element driver of read-write, read-write operation is separated, driving is single
First driver obtains the transaction of read-write by the queue of read-write respectively from transactor.
2.Driver safeguards get_and_put tasks, while transaction is obtained, while according to read-write type
Transaction is assigned in independent queue.
3.Driver safeguards Write_drive tasks, and transaction is obtained from write queue, according to its content driven
Address, data, response signal.
If a) being not reaching to super generating outstanding depth, Driver can continuously drive address, it is not necessary to wait to be transmitted
Terminate.
If b) having reached super generating outstanding depth, it is next that Driver can wait an end of transmission to initiate again
Secondary transmission.
C) Write_data and write_response will not obstructive root canal circulation, the pipe in a manner of fork-join_none
Reason.
D) for single end-around carry, it is necessary to assure response occurs.
Driver safeguards reading driving Read_drive tasks simultaneously, and it drives address according to read transaction, obtained
Take the data of slave unit.Basic circulation management mode is identical with writing driving Write_drive, reads address read_address quilts
Super generating outstanding depth is blocked, and circulation will not be blocked by reading data read_data.
As shown in figure 3, integrated AMBA VIP complete S oC verification environments are exemplarily illustrated, inside dotted line
White module can be seen as DUT part, VIP and test case the Testcase verification portion that to be VIP related.This example
The VIP such as ACE Master, ACE-Lite Master, AXI monitor, ACE slave, and advanced high property are integrated with son
Can bus(AHB, Advanced High-performance Bus)And advanced peripheral bus(APB, Advanced
Peripheral Bus).Communicated by interface and master.Test case Testcase passes through system verilog
Program mode realizes that the constraint by changing transaction can produce different random excitations.
In summary, any system-level or module level verification environment based on AMBA can directly be multiplexed the present invention and carry
The device of confession.DUT can be substituted before identifying object DUT transport module exploitation is completed with VIP devices provided by the invention
Transport module complete whole-system verification.Because module is fully multiplexed, largely shorten verification platform Testbench's
Construction cycle, improve the design verification efficiency of whole chip.
Although the present invention is disclosed as above with preferred embodiment, it is not for limiting the present invention, any this area skill
Art personnel without departing from the spirit and scope of the present invention, can make possible variation and modification, therefore the guarantor of the present invention
Shield scope should be defined by the scope that the claims in the present invention are defined.