12.07.2015 Views

Scalable RTL in Design and Verification

Scalable RTL in Design and Verification

Scalable RTL in Design and Verification

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

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

<strong>Scalable</strong> <strong>RTL</strong> <strong>in</strong> <strong>Design</strong> <strong>and</strong> <strong>Verification</strong>Ross Weber


IntroductionOverview• Prior <strong>Design</strong> Work• Current <strong>and</strong> Future <strong>Design</strong> Work• Application of <strong>Scalable</strong> <strong>RTL</strong> Strategy• Results• Conclusions<strong>Scalable</strong> <strong>RTL</strong> <strong>in</strong> <strong>Design</strong> <strong>and</strong> <strong>Verification</strong> 9/17/2007 Page 2


MMMMMMPrior <strong>Design</strong> WorkI/OI/ONCPPI/OI/ONCPPGeneral DescriptionKeyNC- Node ControllerM- MemoryI/O- I/O BridgeP- ProcessorI/OI/OPPI/OI/OPP• <strong>Scalable</strong> ServersI/ONCPI/ONCP• Node Controller ASICs– Processor Interfaces– Memory Interfaces– I/O Interfaces– Scale-up Interfaces– CrossbarI/OMI/OI/OMMIUIUPI/OMRN RN RNRU RU RUXBUMPUPUMPPPI/OIUPUPKeyI/O- I/O BridgeRN- Remote NodeM- MemoryP- ProcessorIU- I/O UnitRU- Remote UnitMU- Memory UnitPU- Processor UnitXBU- Crossbar UnitMU MU MUM M M<strong>Scalable</strong> <strong>RTL</strong> <strong>in</strong> <strong>Design</strong> <strong>and</strong> <strong>Verification</strong> 9/17/2007 Page 3


Prior <strong>Design</strong> WorkCM CM CMRU RU RUIMIUPUPMImplementation <strong>and</strong><strong>Verification</strong> StrategiesIMIMIUIUXBUPUPUPMPM• Quick unit development– <strong>Verification</strong> advantages– Physical advantagesKeyIM- I/O ModelCM- Common ModelPM- Processor ModelMM- Memory ModelRU- Remote UnitMU- Memory UnitPU- Processor UnitXBU- Crossbar UnitMU MU MUMM MM MM• Limited model developmentCM• Workhorse unit testbenches• System testbenchesCMPUPM• Formal usage• Fully synthesizabletestbenchesXBUCMKeyCM- Common ModelPM- Processor ModelPU- Processor UnitXBU- Crossbar UnitCM<strong>Scalable</strong> <strong>RTL</strong> <strong>in</strong> <strong>Design</strong> <strong>and</strong> <strong>Verification</strong> 9/17/2007 Page 4


Prior <strong>Design</strong> WorkRN RN RNRU RU RUI/OIUPUPDetailed DescriptionI/OIUXBUPUP• FIFOsI/OIUPUP• Trackers• CountersKeyI/O- I/O BridgeRN- Remote NodeM- MemoryP- ProcessorIU- I/O UnitRU- Remote UnitMU- Memory UnitPU- Processor UnitXBU- Crossbar UnitMU MU MUM M MI/O IU MU M PU PKeyI/O- I/O BridgeIU- I/O UnitMU- Memory UnitM- MemoryPU- Processor UnitP- Processor<strong>Scalable</strong> <strong>RTL</strong> <strong>in</strong> <strong>Design</strong> <strong>and</strong> <strong>Verification</strong> 9/17/2007 Page 5


Prior <strong>Design</strong> Work<strong>Verification</strong> Hardships• Deep design state• Large testbench snapshots– Slower– Many testbenches do not fit <strong>in</strong> 32-bit simulators• Inefficient accelerator usage– Large buffers use up expensive space– Many testbenches do not fit <strong>in</strong>to box<strong>Scalable</strong> <strong>RTL</strong> <strong>in</strong> <strong>Design</strong> <strong>and</strong> <strong>Verification</strong> 9/17/2007 Page 6


Prior <strong>Design</strong> WorkPhysical <strong>Design</strong> Hardships• Early siz<strong>in</strong>g estimates not accurate• <strong>Design</strong> reductions needed– Large structures shrunk– Features removed– Bugs <strong>in</strong>troduced• Parameterization– Reductions made easier– Incomplete– Unverified– Limited usage<strong>Scalable</strong> <strong>RTL</strong> <strong>in</strong> <strong>Design</strong> <strong>and</strong> <strong>Verification</strong> 9/17/2007 Page 7


Current & Future <strong>Design</strong>sGeneral DescriptionRNRNRN• New Processor <strong>and</strong> I/O<strong>in</strong>terfaces• Common protocol• More crossbars• Focus on CIU designKeyCIU- Common InterfaceUnitPTU- ProcessorTransaction UnitITU- I/O Transaction UnitIXBU- I/O Crossbar UnitPXBU- Processor CrossbarUnitI/O- I/O BridgeRN- Remote NodeM- MemoryP- ProcessorIU- I/O UnitRU- Remote UnitMU- Memory UnitPU- Processor UnitXBU- Crossbar UnitI/OI/OI/OCIUCIUCIUIXBUITUITUITURU RU RUXBUPTUPTUPTUPXBUCIUCIUCIUPPPMU MU MUM M M<strong>Scalable</strong> <strong>RTL</strong> <strong>in</strong> <strong>Design</strong> <strong>and</strong> <strong>Verification</strong> 9/17/2007 Page 8


Current & Future <strong>Design</strong>sValid1 PacketCredit1 PacketCredit1 PacketCreditValid1 PacketCredit4 PacketsCredit4 PacketsCredit3 PacketsCredit1 PacketReady1 PacketReady2 PacketsReady7 PacketsReadyFocus BlockDescription• Physical layer• L<strong>in</strong>k layer– Initialization– RetransmissionOutputOutputTransactions OutputTransactions OutputTransactions OutputTransactions OutputTransactions OutputTransactions OutputTransactions OutputTransactions OutputTransactions OutputTransactions OutputTransactions OutputTransactions OutputTransactions OutputTransactions OutputTransactionsTransactionsInputTransactions InputTransactions InputTransactionsInputTransactions• Buffer<strong>in</strong>g <strong>and</strong>flow control22RetransmissionMessag<strong>in</strong>g2InitializationMessag<strong>in</strong>g2DecodePhysical Layer2 Packets2 PacketsValidValidValidsValidsValidsValid1 PacketCreditValid1 PacketCreditValid1 PacketCreditValid1 PacketCreditValids4 PacketsCreditValids4 PacketsCreditValids3 PacketsCredit<strong>Scalable</strong> <strong>RTL</strong> <strong>in</strong> <strong>Design</strong> <strong>and</strong> <strong>Verification</strong> 9/17/2007 Page 9


Application of <strong>Scalable</strong> <strong>RTL</strong> StrategyFocus Block• Input <strong>and</strong> output transaction buffers• Retry buffer• Interface counts• Packet counts on <strong>in</strong>terfaces<strong>Scalable</strong> <strong>RTL</strong> <strong>in</strong> <strong>Design</strong> <strong>and</strong> <strong>Verification</strong> 9/17/2007 Page 10


Application of <strong>Scalable</strong> <strong>RTL</strong> StrategyImplementation• New skills needed for some designers• <strong>Design</strong>ers need to generalize specification <strong>in</strong>stead ofimplement<strong>in</strong>g <strong>in</strong> a straight-forward manner• FIFO example<strong>Scalable</strong> <strong>RTL</strong> <strong>in</strong> <strong>Design</strong> <strong>and</strong> <strong>Verification</strong> 9/17/2007 Page 11


Application of <strong>Scalable</strong> <strong>RTL</strong> StrategyLanguage Constructs• For loops• Index part-select• Multidimensional nets• Generate blocks• Constant functions<strong>Scalable</strong> <strong>RTL</strong> <strong>in</strong> <strong>Design</strong> <strong>and</strong> <strong>Verification</strong> 9/17/2007 Page 12


Application of <strong>Scalable</strong> <strong>RTL</strong> StrategyLanguage Constructs• For loops• Multidimensional nets• Constant functions• Index part-select• Generate blocks<strong>Scalable</strong> <strong>RTL</strong> <strong>in</strong> <strong>Design</strong> <strong>and</strong> <strong>Verification</strong> 9/17/2007 Page 13


Application of <strong>Scalable</strong> <strong>RTL</strong> StrategyFormal Analysis• Scalability enables more formal analysis• Significant advantages of formal over simulation– Exhaustive– Easier testbench creation• Clocks• No RNGs needed• Assumptions as drivers– Locates bugs difficult or impossible for simulation• Focus block is a good c<strong>and</strong>idate<strong>Scalable</strong> <strong>RTL</strong> <strong>in</strong> <strong>Design</strong> <strong>and</strong> <strong>Verification</strong> 9/17/2007 Page 14


Application of <strong>Scalable</strong> <strong>RTL</strong> StrategyImplementation Hardships• Chang<strong>in</strong>g a designer’s cod<strong>in</strong>g style• Readability• Not a straight-forward implementation of specification• Longer code entry time prolongs unit verification start time<strong>Scalable</strong> <strong>RTL</strong> <strong>in</strong> <strong>Design</strong> <strong>and</strong> <strong>Verification</strong> 9/17/2007 Page 15


Application of <strong>Scalable</strong> <strong>RTL</strong> Strategy<strong>Verification</strong> Hardships• Generalized names causemisunderst<strong>and</strong><strong>in</strong>gs• Procedural code harder todebug• Early deep formal analysisaffects schedule<strong>Scalable</strong> <strong>RTL</strong> <strong>in</strong> <strong>Design</strong> <strong>and</strong> <strong>Verification</strong> 9/17/2007 Page 16


ResultsImplementation• 19 logical buffers madescalable• 7 of 14 output transactionbuffers <strong>and</strong> <strong>in</strong>terfaces couldbe entirely removed based ona parameterOutputOutputTransactions OutputTransactions OutputTransactions OutputTransactions OutputTransactions OutputTransactions OutputTransactions OutputTransactions OutputTransactions OutputTransactions OutputTransactions OutputTransactions OutputTransactions OutputTransactions OutputTransactionsTransactions...RetransmissionMessag<strong>in</strong>gInitializationMessag<strong>in</strong>gInputTransactions InputTransactions InputTransactionsInputTransactions2• Adjustable packet counts onevery <strong>in</strong>terface222Physical LayerDecode• Selectable physical memorycounts of logical buffers<strong>Scalable</strong> <strong>RTL</strong> <strong>in</strong> <strong>Design</strong> <strong>and</strong> <strong>Verification</strong> 9/17/2007 Page 17


ResultsPhysical• Easier <strong>in</strong>tegration of architectural changes– Adapt<strong>in</strong>g to fluctuat<strong>in</strong>g buffer size requirements– Adjust<strong>in</strong>g <strong>in</strong>terfaces to alleviate rout<strong>in</strong>g congestion– Resiz<strong>in</strong>g structures as performance considerations arerevisited• Changes made with confidence because of previousverification of scaled versions• Physical memory flexibility allowed for easy exploration ofbuffer structure trade-offs<strong>Scalable</strong> <strong>RTL</strong> <strong>in</strong> <strong>Design</strong> <strong>and</strong> <strong>Verification</strong> 9/17/2007 Page 18


Results<strong>Verification</strong>• More focused verification– Smaller sizes used when target<strong>in</strong>g boundary condition logic– Specified sizes used when target<strong>in</strong>g throughput <strong>and</strong>b<strong>and</strong>width function<strong>in</strong>g• Large testbenches able to fit <strong>in</strong> more simulators• More effective use of accelerator• More design blocks made tractable for formal analysis<strong>Scalable</strong> <strong>RTL</strong> <strong>in</strong> <strong>Design</strong> <strong>and</strong> <strong>Verification</strong> 9/17/2007 Page 19


ResultsFormal Analysis• Small basel<strong>in</strong>e exampleproves quickly• Increas<strong>in</strong>g depth, width, ornumber of ports <strong>in</strong>creasesproof time• Depth most significantlyaffects “state explosion”<strong>Scalable</strong> <strong>RTL</strong> <strong>in</strong> <strong>Design</strong> <strong>and</strong> <strong>Verification</strong> 9/17/2007 Page 20


ResultsFormal Analysis• More typical FIFO sizes are32, 64, or 128• Many properties <strong>and</strong>sequences still completequickly• End-to-end properties needscalability<strong>Scalable</strong> <strong>RTL</strong> <strong>in</strong> <strong>Design</strong> <strong>and</strong> <strong>Verification</strong> 9/17/2007 Page 21


Results<strong>Verification</strong>• Scal<strong>in</strong>g can cause coverage to not be hit• Highlights importance of pair<strong>in</strong>g coverage sequences with designproperties <strong>in</strong> verification plan• Example below shows a coverage problem <strong>in</strong> IFV when the FIFOdepth parameter was set less than the number of write portsparameter<strong>Scalable</strong> <strong>RTL</strong> <strong>in</strong> <strong>Design</strong> <strong>and</strong> <strong>Verification</strong> 9/17/2007 Page 22


ConclusionsIntroduc<strong>in</strong>g <strong>RTL</strong> Scalability• Comb<strong>in</strong>ed implementation <strong>and</strong> verification strategy needed• Learn<strong>in</strong>g curve• Robust design• Tool, tra<strong>in</strong><strong>in</strong>g, <strong>and</strong> methodology advancements needed• Appropriate tim<strong>in</strong>g of formal analysis application isnecessary• Proceed with caution<strong>Scalable</strong> <strong>RTL</strong> <strong>in</strong> <strong>Design</strong> <strong>and</strong> <strong>Verification</strong> 9/17/2007 Page 23


<strong>Scalable</strong> <strong>RTL</strong> <strong>in</strong> <strong>Design</strong> <strong>and</strong> <strong>Verification</strong> 9/17/2007 Page 24

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

Saved successfully!

Ooh no, something went wrong!