12.07.2015 Views

SystemC based Virtual SoC – an Integrated System Level and Block ...

SystemC based Virtual SoC – an Integrated System Level and Block ...

SystemC based Virtual SoC – an Integrated System Level and Block ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

16 Nov 2004ST-CMG tech-article (v1.2)<strong><strong>System</strong>C</strong> <strong>based</strong> <strong>Virtual</strong> <strong>SoC</strong> – <strong>an</strong> <strong>Integrated</strong> <strong>System</strong><strong>Level</strong> <strong>an</strong>d <strong>Block</strong> <strong>Level</strong> Verification approach fromSimulation to Co-EmulationAuthors:Laurent Ducousso (ST), Fr<strong>an</strong>k Ghennassia (ST), Joseph Bulone (ST), Neyaz Kh<strong>an</strong>(Cadence), Ascension Vizinho-Coutry (Cadence)Abstract:ST faced two daunting challenges for their next generation product (1), to provide <strong>an</strong> adv<strong>an</strong>ced <strong>an</strong>d fastplatform for s/w development, including ISS <strong>an</strong>d hardware models described in abstraction level, runningat a minimum targeted rate of 1 MHz in the simulation environment <strong>an</strong>d (2) to integrate the system level<strong>an</strong>d block level verification environments for a large RTL design with a signific<strong>an</strong>t firmware component .The Tr<strong>an</strong>saction <strong>Level</strong> Modelling (TLM) capabilities of <strong><strong>System</strong>C</strong> were used to deliver a <strong>Virtual</strong> <strong>SoC</strong> <strong>an</strong>dhelped to resolve challenge number (1). Though the TLM behaviour was modelled with more abstraction,there was enough accuracy for the software developers to be able to debug their <strong>SoC</strong> design while runningat 1 MHz. Having this platform available early in the process enabled software engineers to begindeveloping the embedded software for the application. Not only did this bring in the overall projecttimescales, but also the exceptionally close co-operation between the software <strong>an</strong>d hardware teams in theearly phases of the project led to the detection of signific<strong>an</strong>t bugs in the hardware specification of thedesign. Because these bugs were found early, they were relatively cheap to fix, <strong>an</strong>d contributed to save a respinof the chip.The <strong>Virtual</strong> <strong>SoC</strong> was extended to provide a block level Verification environment for a Low Cost MPEG2<strong>an</strong>d more recently MPEG4 design using Incisive <strong>an</strong>d <strong><strong>System</strong>C</strong>. Reusing the system level environment inthis way me<strong>an</strong>s that the tests (using images 80x96 pixels) <strong>an</strong>d test harness do not have to be reimplementedin a new l<strong>an</strong>guage <strong>an</strong>d tool set. In order to speed up the RTL verification regression <strong>an</strong>d runfull size conformal tests (with 1920x1080 <strong>an</strong>d 720x480 pixel images), Tr<strong>an</strong>saction Based Acceleration(TBA) <strong>an</strong>d emulation have completed the validation process.In order to accelerate the regression test of the IP, virtual <strong>SoC</strong> environment used Cadence Incisive <strong>an</strong>d thePalladium for signal-<strong>based</strong> acceleration, by re-using <strong><strong>System</strong>C</strong> high-level of abstraction for the testbenchportion (simulations went from 300 Hz on Incisive up to 10 kHz using signal-<strong>based</strong> acceleration). Thisperform<strong>an</strong>ce will improve further in the future, using Tr<strong>an</strong>saction-Based Acceleration methodology.Incisive capabilities included mixed l<strong>an</strong>guage <strong><strong>System</strong>C</strong>/RTL kernel, SimVision for debugging <strong>an</strong>dperform<strong>an</strong>ce <strong>an</strong>alysis th<strong>an</strong>ks to TxE 1 . SysProbe methodology, dedicated to verify RTL perform<strong>an</strong>ce <strong>an</strong>dfunctionality, was then built on top of TxE..1 Tr<strong>an</strong>saction Explorer tool from Cadencepg# 1 of 7


16 Nov 2004ST-CMG tech-article (v1.2)1- Introduction: Verification <strong>an</strong>d validation challengesBecause of the increasing complexity of set-top-box chips, the Verification team decidedto follow <strong><strong>System</strong>C</strong>/TLM (Tr<strong>an</strong>saction <strong>Level</strong> Modelling) methodology. This allowed SWteams to initiate their SW development early in the design flow <strong>an</strong>d provide <strong>an</strong> adv<strong>an</strong>ced<strong>an</strong>d fast co- simulation platform for s/w development. This included ISS models, runningat a minimum targeted rate of 1 MHz in the simulation environment without the use ofhardware accelerators. Figure 1 illustrates the <strong>SoC</strong> TLM flow compared to the old flow.Section 2 describes this <strong>Virtual</strong> <strong>SoC</strong> platform for 3 usages: SW development, HWverification <strong>an</strong>d architecture exploration <strong>an</strong>d <strong>an</strong>alysis. Section 3 will present STverification process for RTL at block <strong>an</strong>d platform levels for set-top-box chips.In order to complete full verification regression tests (with real image sizes), the <strong>Virtual</strong><strong>SoC</strong> platform was extended to include simulation acceleration. This approach makes useof the Tr<strong>an</strong>saction Based Verification (TBV) methodology, which enables the ability tomix <strong><strong>System</strong>C</strong> testbench with RTL emulated on the Palladium 2 H/W emulator. This willbe described in section 4. Section 5 will summarize the benefits of the <strong>Virtual</strong> <strong>SoC</strong>platform <strong>an</strong>d will comment the next steps of ST TLM methodology.Traditional FlowSOC platforms in the design flowSpec Archi Design Fab BoardSoftwaredevelopment<strong>System</strong>Integration<strong>System</strong>ValidationCurrent flow<strong>SoC</strong> TLMDesignFabBoardCo-designTLM/ISSSoftwaredevelopment<strong>System</strong>Validation<strong>System</strong>ValidationCo-verificationRTL/ISS/TLMGAINTimeFigure 1: Comparison between traditional <strong>an</strong>d <strong><strong>System</strong>C</strong>/TLM flow2 Cadence H/W accelerator & emulator.pg# 2 of 7


16 Nov 2004ST-CMG tech-article (v1.2)2- <strong>Virtual</strong> <strong>SoC</strong> TLM platformTr<strong>an</strong>saction <strong>Level</strong> Modelling (TLM) was pushed by industry <strong>an</strong>d research institutesthrough OSCI to respond to the following tasks:- Embedded software development- Functional verification- Architecture <strong>an</strong>alysis <strong>an</strong>d exploration- HW/SW co-verification, HW validationTLM infrastructure was developed to support modelling communication structures atthree abstraction levels: i.e. Programmer’s View (PV), Programmer’s View with Timing(PVT) <strong>an</strong>d Cycle Accurate (CA), leaving it up to the user to compromise betweensimulation speed <strong>an</strong>d accuracy. ST has played a major role in the OSCI-TLM workinggroup <strong>an</strong>d deployed TLM methodology on multiple projects.The virtual <strong>SoC</strong> TLM platform was developed at the PV level from Specifications inorder to offer fast simulations for the next phases. This platform has been used asreference model <strong>an</strong>d enabled concurrent SW <strong>an</strong>d HW engineering <strong>an</strong>d close co-operationin early phases of the project. This process lead to the detection of signific<strong>an</strong>t bugs earlyin the hardware specification. Because these bugs were found early, they were relativelycheap to fix, <strong>an</strong>d contributed to save a re-spin of the chip.SW engineers could start development before having the board. As example, this wasdone on Graphic Engine blitter <strong>an</strong>d MPEG2 projects; the driver was developed beforehaving a board, that lead to 6 months time gain in comparison with traditional flow (aspointed out in figure 1).HW verification group employed TLM platform because, though more abstract, itaccurately modelled the bit level behaviour of the <strong>SoC</strong> while running at 1 MHz (this wasachieved on MPEG4 decoder project). This will be fully described in the followingsection.Another domain of utility is architecture exploration <strong>an</strong>d <strong>an</strong>alysis. The <strong>SoC</strong> TLMplatform, when refined with timing information, c<strong>an</strong> provide relev<strong>an</strong>t information on busb<strong>an</strong>dwidth, peripheral accesses, interrupt latencies, memory conflicts <strong>an</strong>d latency to thearchitects. The SysProbe methodology was built at ST using the flexible tr<strong>an</strong>sactionrecording, viewing <strong>an</strong>d <strong>an</strong>alysis capabilities of Cadence’s SimVision <strong>an</strong>d TXE. SysProbecould record the tr<strong>an</strong>sactions generated by proprietary architectural models. It was alsoused for functional <strong>an</strong>d timed validation. By calibrating TLM with back-<strong>an</strong>notated data[1] it was also possible to record the same tr<strong>an</strong>sactions generated by either TLM modelsor corresponding RTL models <strong>an</strong>d to compare the results using the environment providedby Cadence’s TXE. This technique was used to verify the perform<strong>an</strong>ce of the RTL.pg# 3 of 7


16 Nov 2004ST-CMG tech-article (v1.2)Figure 2: SimVision/TxE/SysProbe <strong>an</strong>alysis environment3- Functional verification: co-simulation TLM <strong>an</strong>d RTLThe <strong>Virtual</strong> <strong>SoC</strong> TLM platform (integrating bus, memories, CPU) was also re-used forfunctional verification at block level <strong>an</strong>d platform level using Incisive <strong>an</strong>d <strong><strong>System</strong>C</strong>. Thisprovided the ability to achieve fast simulations. As <strong>an</strong> example, for MPEG4 decoder, fullRTL (including complete test bench) would take 6/7 hours. This was reduced to fewminutes with TLM backbone (tests used images 80x96 pixels).Reusing the system level environment at block <strong>an</strong>d platform views me<strong>an</strong>s that the tests<strong>an</strong>d test harness do not have to be re-implemented in a new l<strong>an</strong>guage <strong>an</strong>d tool set. Athree-step approach was used to achieve block <strong>an</strong>d platform level verification:• First, step is to verify the block level. This step used the TLM models of the lowcost MPEG4 already developed for the virtual <strong>SoC</strong>. This implies that the RTLblocks c<strong>an</strong> be verified st<strong>an</strong>d-alone before integrating with the rest of the RTL. Italso me<strong>an</strong>s that function tests used for system level verification c<strong>an</strong> be reused forblock level verification.• The Second step involves connecting the RTL DUT to the TLM testbenchthrough bus functional models (BFM), also known as tr<strong>an</strong>sactors. Thesetr<strong>an</strong>sactors use the <strong><strong>System</strong>C</strong> Verification Library (SCV) to shape the timingpg# 4 of 7


16 Nov 2004ST-CMG tech-article (v1.2)characteristics of the traffic across the bus, <strong>an</strong>d the tr<strong>an</strong>saction recording <strong>an</strong>dviewing capabilities of Incisive to verify the perform<strong>an</strong>ce <strong>an</strong>d functionality of theDesign Under Test (DUT).• The third step is to use the fast mixed l<strong>an</strong>guage simulation <strong>an</strong>d debuggingfacilities of Incisive to verify the full RTL design, by connecting the RTLdescription of the DUT to the <strong><strong>System</strong>C</strong> <strong>based</strong> <strong>Virtual</strong> <strong>SoC</strong> Verificationenvironment described in previous sections.Writing tests at the tr<strong>an</strong>saction level me<strong>an</strong>s that the tests c<strong>an</strong> be used at both system <strong>an</strong>dblock level. But to do effective block level verification, we need to stress the DUT byshaping the timing characteristics of the data. ST uses SCV, the OSCI verification librarysupported by Incisive, to r<strong>an</strong>domize the timing characteristics of the bus traffic. Forexample, we c<strong>an</strong> allow the length of a burst write to vary between a minimum <strong>an</strong>dmaximum number of clock cycles, or we c<strong>an</strong> specify the gap between one burst <strong>an</strong>d thenext. R<strong>an</strong>domizing traffic characteristics in this way c<strong>an</strong> trap costly bugs that the blockdesigner may not have been able to test for.SysProbe methodology is used together with SimVision as a powerful tr<strong>an</strong>saction levelvisualization tool. By visually looking at tr<strong>an</strong>sactions rather th<strong>an</strong> individual signals in awaveform viewer, functional bugs c<strong>an</strong> be identified <strong>an</strong>d tracked down a lot quicker, <strong>an</strong>dmore efficiently. Once the problem is identified, the verification engineer c<strong>an</strong> switch tothe signal level to work out how to fix the bug.4- Validation: co-emulation TLM-PalladiumThe Validation process is incomplete without testing real condition input to the design.Once the design was converted from <strong><strong>System</strong>C</strong> to RTL, simulation perform<strong>an</strong>ce wasreduced. In the case of the MPEG4 design, full image sizes are 1920x1080 <strong>an</strong>d 720x480.These image sizes could not be fully tested during simulation.The traditional approach at CMG group has been to wait until fully synthesizable <strong>an</strong>dcomplete RTL is available, <strong>an</strong>d then use the Palladium emulator to test full RTLimplementation. The Tr<strong>an</strong>saction-Based Verification (TBV) methodology was adopted inorder to get a head start for full-chip verification, early in the development effort. Thisalleviated the need to wait for the availability of complete RTL (including test bench).This methodology allows the design teams to re-use the <strong><strong>System</strong>C</strong> testbench, that wasused in the first <strong>an</strong>d second phase, while the design is being converted into RTL. Theperform<strong>an</strong>ce gain allows the teams to run long tests <strong>an</strong>d continue to validate their system,while the design under test is getting its final RTL representation.The Incisive TBA solution ( as illustrated in figure 3), which is <strong>based</strong> on the st<strong>an</strong>dard coemulationmodelling interface (SCE-MI), enh<strong>an</strong>ces simulation acceleration perform<strong>an</strong>ceof the Palladium system by reducing communication between the test bench running onthe workstation <strong>an</strong>d the design under test in the emulation system. Productivity featuresinclude support of variable-length messages, a faster streaming mode, tr<strong>an</strong>sactionpg# 5 of 7


16 Nov 2004ST-CMG tech-article (v1.2)recording capabilities <strong>an</strong>d support of both timed <strong>an</strong>d un-timed test bench components.This solution enables full congruency with the Incisive unified simulator to shorten bringuptime <strong>an</strong>d assure reusability of the test bench <strong>an</strong>d the verification IP models. ST hopesto reach 100 kHz in comparison of 10 kHz at signal-<strong>based</strong> acceleration for a full imageformat SD.Figure 3: Tr<strong>an</strong>saction Based Acceleration5- Conclusion <strong>an</strong>d future developmentsIn summary, the virtual <strong>SoC</strong> TLM platform made early SW development possible – up to6 months earlier th<strong>an</strong> the traditional approach. The Validation process was also pulled inby approximately 3 months – by utilizing the TBV methodology. All this was madepossible by using <strong><strong>System</strong>C</strong>/Incisive environment, which also provided the ability tomaintain same debugging <strong>an</strong>d tr<strong>an</strong>sactional environment for both RTL <strong>an</strong>d <strong>System</strong>-levelverification.The effort to create <strong>an</strong>d update more <strong>an</strong>d more TLM models into the portfolio is <strong>an</strong>ongoing process at ST for efficient <strong>System</strong> <strong>Level</strong> Verification. TBA methodology isreally beneficial if one c<strong>an</strong> enh<strong>an</strong>ce the speed of co-emulation. While this approach hasalready proven beneficial at ST, there is continued joint effort to improve thismethodology <strong>an</strong>d technique.To further enh<strong>an</strong>ce the efficiency <strong>an</strong>d throughput of the Verification effort, CadenceAssertion Based Verification (ABV) is also being investigated, <strong>an</strong>d will potentially beused on future projects.pg# 6 of 7


16 Nov 2004ST-CMG tech-article (v1.2)[1] [Clouard et al., 2002] Clouard, A., Mastrorocco, G., Carbogn<strong>an</strong>i, F., Perrin, A. undGhenassia, F. (2002). Towards Bridging the Gap between <strong>SoC</strong> Tr<strong>an</strong>sactional <strong>an</strong>d Cycle-Accurate <strong>Level</strong>s. In Proc. of Design, Automation <strong>an</strong>d Test in Europe -- Design Forum(DATE'02), Paris, Fr<strong>an</strong>ce. IEEE CS Press, Los Alamitos)pg# 7 of 7

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!