scieee Open visual document viewer

Improving the design process of VLSI circuits by means of a hardware debugging system: UNSHADES-1 framework

Aguirre Echanove, Miguel Ángel; Tombs, J. N.; Torralba Silgado, Antonio Jesús; García Franquelo, Leopoldo

Abstract

Due to the increase in size and complexity of VLSI integrated circuits, new design tools are becoming needed. Telecommunications and Electronic Industry demand designs that integrate intensive digital signal processing blocks and complex control tasks. Rapid Prototyping techniques introduce a new stage into the design flow that overcome the drawbacks of simulation stage and shorten design times. Advanced FPGAs can host the design for its emulation and can run inserted into the final system. The benefits of their use go beyond the simple rapid prototyping approach, and are able to provide additional information and other useful tasks that will be presented in this paper.

Full text

Imp o ing he Design P ocess o VLSI Ci cui s by Means o a Ha dwa e Debugging Sys em: UNSHADES-1 F amewo k M.A. Agui e, J. Tombs, A. To alba and L.G. F anquelo Escuela Supe io de Ingenie os. Uni e sidad de Se illa A da. Camino de los Descub imien os s/n, 4109 Se illa (SPAIN) [email p o ec ed], jo[email p o ec ed],, [email p o ec ed], leo[email p o ec ed] Abs ac – Due o he inc ease in size and complexi y o VLSI in eg a ed ci cui s, new design ools a e becoming needed. Telecommunica ions and Elec onic Indus y demand designs ha in eg a e in ensi e digi al signal p ocessing blocks and complex con ol asks. Rapid P o o yping echniques in oduce a new s age in o he design low ha o e come he d awbacks o simula ion s age and sho en design imes. Ad anced FPGAs can hos he design o i s emula ion and can un inse ed in o he inal sys em. The bene i s o hei use go beyond he simple apid p o o yping app oach, and a e able o p o ide addi ional in o ma ion and o he use ul asks ha will be p esen ed in his pape . I. INTRODUCTION Due o he inc easing complexi y o many elec onic p ojec s, he design low o VLSI in eg a ed ci cui s has o be comple ed [1] wi h he use o some p o o yping o emula ion echniques. Figu e 1 show he comple e design low including he p o o ype phase. The adi ional simula ion s age isn’ enough, because s imuli gene a ion does no always ep esen s all he un- ime si ua ions and, in mos o cases, i ’s almos impossible o gene a e enough da a o ac i a e all cases in he deepes design blocks inside he design hie a chy ee. S imuli a e usually gene a ed using well con olled models o he sys em. Howe e , i he p o o ype is essayed using he physical elemen s o he inal sys em, non con olled (in e ms o modelling) si ua ions can be in oduced aking in o accoun he eal ex e nal componen s. A he same ime in e nal scope echniques ha e o be in oduced o ob ain in o ma ion abou wha is ac ually happening inside he sys em. The p o o ype is ypically suppo ed by means o an ad anced SRAM-FPGA [4] hese can no mally wo k a high clock equencies. The main ad an ages o using FPGAs o his pu pose a e basically: Fi s , he e’s an unlimi ed numbe o con igu a ion cycles, ha allows he e i ica ion o mul iple e sions o he ci cui ne lis , and second he emula ed e sion can be p oduced wi h ex a ci cui y and pins o p o iding ex a execu ion- ime in o ma ion. Ad anced FPGA’s a e SRAM based p og ammable ci cui s ha can hos la ge digi al ci cui s wi h a easonable de ice beha iou . These de ices a e ypically buil wi h o he ea u es e y use ul o building he p o o yping sys em i sel , such as many elec ical iopin s anda ds, JTAG po s, clock skew compensa ion, gene al pu pose mul iplie s, on- chip memo y blocks… e c. The concep o a Ha dwa e Debugge [6-7] is mo e ample han a simple p o o yping sys em . Using an ad anced FPGA, i no only can emula e he inal ci cui bu i can p o ide in o ma ion abou how he ci cui is wo king du ing execu ion, and e en ually p o ide mo e con ol on he unning de ice ha can be exploi ed o a be e analysis. Basically he added capabili ies a e: cycle by cycle s epping o he en i e ci cui , ex ac un- ime in o ma ion o in e nal scope, and, e en ually, p oduce modi ica ions in he in e nal egis e s. HIGH LEVEL DESCRIPTION HIGH LEVEL SIMULATION SYNTHESISTECHNOLOGY PLACEMENT, ROUTING AND SHIPMENT SYNTHESIS ADD DEBUG CIRCUIT FPGA TECHNOLOGY PHYSICAL COMPILER FOR EMULATOR SYSTEM WITH EMULATOR MAN-MACHINE INTERFACE CONFIGURATION MAP INTERNAL REGISTER Fig 1. Modi ied VLSI Design Flow Mos FPGA ound ies o e debugging packages ha suppo eco ding in e nal signals in o a syn hesised memo y, like an in e nal logic analyse . These p oduc s a e Chipscope om Xilinx [9-10] and SignalTap om ALTERA. Basically hey consis o a ci cui o he un- ime condi ion de ec ion ha igge s he signal cap u e p ocess. Some memo y esou ces a e ese ed o eco ding he p eselec ed signals. All o hese esou ces ha ha e o be included in he same ci cui ne lis . The size and beha iou o he placed and ou ed ci cui depends s ongly o how many signals and clock cycles a e going o be o be eco ded and he p esence o hose elemen s s ongly a ec s o he beha iou o he emula ed ci cui . The ex a size and he modi ied pe o mance o he ci cui is called he o e head o he debugging sys em. This pape p esen s UNSHADES-1, a di e en app oach based on VIRTEX FPGAs whe e some special ea u es ha a e exclusi e o his FPGA a e exploi ed o cons uc ing a ha dwa e debugge sys em. UNSHADES-1 means UNi e si y o Se illa HA dwa e Debugging Sys em and is based on he pla o m HADES-1 [2,5]. The comple e sys em, so wa e and ha dwa e a e inse ed in o he Xilinx s anda d design packages, Founda ion and Alliance. This pape is o ganised as ollows: Sec ion II shows an o e iew o he VIRTEX p ope ies ha a e use ul o UNSHADES sys em. Sec ion III desc ibes how o execu e he s ep by s ep sys em. In sec ion IV a wo wi es sys em o con olling he debugge is p esen ed and Sec ion V y VI b ie ly p esen some ideas abou he so wa e and inally sec ion VII will show he conclusions. II. HARDWARE DEBUGGING SYSTEM UNSHADES-1 is a sys em independen ha dwa e debugge whe e he designed ci cui is subs i u ed in he inal sys em by one ad anced FPGA, a de ice aken om VIRTEX se ies om Xilinx. A compu e suppo s he in e ace man-machine. UNSHADES boa d [5] is basically a sma link be ween he FPGA and he compu e , whe e i can download he con igu a ion o he FPGA and can ead and w i e pa ial in o ma ion o ha con igu a ion. This ea u es play an impo an ole in ou sys em because i means ha FPGA can be explo ed and manipula ed in o de o ob ain inne iew and con ol o he de ice du ing execu ion. VIRTEX FPGAs [7] o m a amily o de ices om Xilinx ha suppo la ge amoun o sys em ga es wi h high le el ci cui pe o mance. The nex pa ag aphs will highligh he mos in e es ing ea u es o hese FPGAs o ou pu pose. Using he Selec Map po Vi ex can be easily, con igu ed, ead and w i en, o ally o pa ially. The in o ma ion can be mo ed as 8-bi s wide da a a a high speed (un il 60Mb/s) du ing he pa ial eading and w i ing. This allows as selec ing o he in o ma ion o ead o modi y. Secondly, he e’s a single-clock cycle p ocess o sa ing he in e nal s a e ( he con en s o he all he Flip- lops) o ex e nal eading: he CAPTURE_VIRTEX mac o. A e he execu ion o he mac o he sa ed s a e can be uploaded o he hos and he in o ma ion abou he ac ual egis e con en s can be linked wi h hei designe ’s names, gi en du ing design ime hus making he eco ded in o ma ion comp ehensi e o he use . The s a e in o ma ion is copied o special dedica ed memo y cells ha a e no included in he common esou ces o he FPGA and his p ocess doesn’ con ibu es o he o e head o he UNSHADES-1 sys em. Finally, all he Vi ex lip- lops ha e a clock enable inpu o enabling synch onous changes. This inpu can be sa ely manipula ed o con ol he execu ion o he design ins ead o using signals ha con ol on he clock wi es hemsel es. III. STEP BY STEP EXECUTION S opping a sys em clock is no easy in la ge FPGAs, because clocks a e compensa ed using phase compensa ion echniques ha need se e al clock cycles o be se led and canno be esumed. Be o e he sys em s ops, a debug condi ion has o be eached, his is done wi h a p e- p og ammed condi ion ha wa ches he unning sys em. When he condi ion is sa is ied he sys em eezes he ci cui . Ins ead o s opping he sys em clock he Clock Enable inpu o all he lip- lops can be used o eeze he ci cui . In his case, he ci cui can be ozen pa ially. We ha e used his inpu o ob aining a ull con ol o he execu ion p ocess, ee o gli ches. Wi h an ex a ex e nal inpu , a simple s a e machine can con ol he clock enable inpu o he lip- lops. A e e y ising edge o his signal a ini e s a e machine enables he sys em a single clock cycle and ac i a e he CAPTURE mac o. A e his, he hos can upload he new in o ma ion. Fo in oducing a s ep-by-s ep execu ion mechanism in o he design ne lis he ollowing s eps ha e o be pe o med: 1. A ach he line eeze o all lip- lops ha a e going o be ozen. This can be done in oducing he lowing code in o he high le el desc ip ion code ( o example, in VHDL) [9]. i (clk’e en ) and clk=’1’) hen i ( eeze=’1’) hen ..................... end i ; end i ; 2. This line will be con olled by a s a e machine ha de- asse s i when he eeze condi ion is aken and p oduces he CAPTURE_VIRTEX p ocedu e. 3. The PC uploads he in o ma ion con aining he ci cui s a e. 4. Using an ex e nal line he PC ac i a es he ci cui o a single clock cycle. The nex clock cycle a new CAPTURE_VIRTEX p ocedu e is ac i a ed. 5. Again he PC uploads he in o ma ion. S eps 4 and 5 can be epea ed as many imes as desi ed, and, a e e y s ep he egis e con en s can be eco ded in a ile wi h a alid o ma sui able o being displayed in a wa e o m iewe . Figu e 2 depic s an block scheme o how he desc ibed sys em wo ks whe e CAPTURE_VIRTEX mac o is ac i a ed when he clock enable is deasse ed. FINITE STATE MACHINE ACTIVATES A SINGLE CLOCK PULSE CLOCK ENABLE EXECUTION TIME STOP CONDITION EXTERNAL PAD DQ CLK CAPTURE_VIRTEX CLK Fig 2. S ep by s ep machine The numbe o consumed esou ces o his ci cui is negligible, less han one hund ed sys em ga es and i can be shown ha he e’s no e ec on he ci cui beha iou , because he un- ime condi ion o ac i a ing he cap u e sys em is a simple compa a o . The pullup esis o p o ides a bi-di ec ional cha ac e o he ex e nal pad. I indica es ha he ci cui is unning when low, bu a e he condi ion, i goes o esis i e high eady o managemen by he s ep by s ep sys em. IV. TWO WIRES METHOD This sec ion will explain how he UNSHADES-1 emula o in o ms o he con ol compu e abou he de ec ion o a pa icula e en . We ha e in oduced a wo wi es me hod. Thus, ou debugge will ha e an o e head o wo pin o i s own con ol. These wo lines a e: • E en line: This line is sha ed wi h he ex e nal pin used in he s ep by s ep me hod. I is an open collec o line (as explained be o e). When he ci cui is wo king, his line is deasse ed. All he p og ammed e en s a e o -ed o his line. When any e en is asse ed hen a e a eadback p ocess he e en can be iden i ied. • Resume line: This line will eac i a e he ci cui a e an e en has been de ec ed, o e ase he un- ime e en . Figu e 3 shows a scheme o how he sys em is buil . I can be seen ha bo h sys ems s ep by s ep and wo-wi es con olle sha e he E en Line, due o he h ee s a e cha ac e . A e an e en he emula o has o ge he necessa y in o ma ion o he use . The me hod is associa ed o he Xilinx mac o CAPTURE_VIRTEX, whe e he ci cui s a e is copied in one clock cycle o an special con igu a ion memo y. A e his igge he sys em can be s opped (and s ay ozen) o con inue wo king. In he i s case he debugging p ocess loses he synch oniza ion wi h he ex e nal sys em bu no clock cycles a e los and in he second he emula ion gi es he in o ma ion o a single snapsho o he sys em. No e ha he debugging condi ion is no es ic ed o a single condi ion. The use can ix a p io i as many condi ions as desi ed. Main ad an age o his me hod is ha he ac ual debug condi ion ha igge s he sys em is iden i ied in he same way as he in e nal egis e s and signals. V. INSERTION OF THE DUBUGGING CIRCUIT Debug ci cui can be au oma ically inse ed in o he emula o wi hou being esyn hesized. The designe akes decisions abou which wi es o egis e s ha e o be wa ched o de ine he igge condi ion o he i s snapsho . No e ha due o he pu e pa allel na u e o ha dwa e all condi ions a e wa ched simul aneously. One compa a o has o be inse ed pe e en . This ex a ci cui can be inse ed o he high le el code, bu some design ime can be imp o ed i he ci cui is inse ed o he s uc u al ne lis (VHDL, EDIF,...) a he p e ious s age o physical implemen a ion. The main ad an age is ha he designe debugs he inal ne lis , and doesn’ ha e o e-syn hesise he comple e design, which is mo e o less 40% o he o al syn hesis ime. This ask can be done au oma ically using a ool ha is being de eloped in ou depa men . VI. UNSHADES SOFTWARE The Man-machine in e ace is an essen ial pa o a ha dwa e debugge . In he same way ha in o ma ion is p esen ed, pe o mance supe io o he comple e sys em is ob ained as he sys em can be inspec ed and manipula ed. In his way he sys em has o be as and e ec i e. We ake ad an age wi h he pa ial econ igu a ion echniques o VIRTEX de ice. The econ igu a ion ime is hen e y as because only a small pa o he FPGA has o be inspec ed o con igu ed. Fo example, a ame ( he minimum amoun o in o ma ion ans e ed) o VIRTEX 50 can be inspec ed in less han 10 mic oseconds. In o de o display s ep-by-s ep in o ma ion, a s anda d o ma ( cd) da abase is p oduced and a wa e o m iewe displays he e olu ion o he emula ed ci cui . Mo eo e , i we ha e he sys em in a ozen s a e some manipula ions can be p oduced in he s a e, allowing he modi ica ion o he alues o he lip- lop con en s. This no el idea is also being de eloped in he new so wa e ool. EVENT LINE RESUME LINE CONDITION 1 CONDITION nCONDITION 2 DET 1 DET 2 DET n EDGE DETECTOR Fig 3. Two wi es con ol sys em VI. CONCLUSIONS The idea o debugging digi al ci cui s in un- ime is a ac i e. Due o he imp o emen s o he FPGA’s he ci cui can be emula ed and inse ed in o he inal sys em p e iously o being sen o he ound y. FPGA’s p o ide mo e ea u es han expec ed and can be ins umen ed o he design p ocess. In ou Depa men we ha e de eloped UNSHADES-1, a new ool o debug digi al ci cui s. Wi h he inse ion o an ex a logic he ci cui can be emula ed in a con olled way wi hou being a ec ed o he con ol ci cui i sel . UNSHADES sys em p esen an al e na i e non exclusi e o he comme cial debugging sys ems. VII. REFERENCES [1] Dollas, A. Kanopoulos, N. “Reducing Time o Ma ke Th ough Rapind P o o yping”. IEEECompu e , Feb. 1995. [2]A.Bu s , B.Spi ze , M.Wol , K.D. Mülle -Glasse . “On Code Gene a ion o Rapid P o o yping Unsing CDFI”. OOPSLA’98, Vancou e , CA [3] Hu chings B., Nelson B. and Wi hlin M.J.. “Designing and Debugging Cus om Compu ing Applica ions”. IEEE Design & Tes o Compu e s. Jan-Ma ch 2000. pp 20- 28. [4] Koch A. “A Comp ehensi e P o o yping-Pla o m o Ha dwa e-So wa e Codesign”. 11 h IEEE In e na ion Wo kshop on Rapid Sys em P o o yping. Pa is Jun- 2000. pp78-82. [5] M.A. Agui e, J. Tombs, A. To alba, L.G. F anquelo “HADES-1: A apid p o o yping en i onmen based on ad ances FPGA´s”. P oceedings o he Design o Ci cui s and In eg a ed Sys ems, DCSI’01 Opo o 2001. [6] Timo hy Wheele , Paul G aham, B en Nelson, and B ad Hu chings, ``Using design-le el scan o imp o e FPGA design obse abili y and con ollabili y o unc ional e i ica ion,'' in P oceedings o he Ele en h In e na ional Wo kshop on Field P og ammable Logic and Applica ions, pp. TBA, Bel as , No he n I eland, Augus 2001. [7] Paul G aham, B en Nelson, and B ad Hu chings, ``Ins umen ing Bi s eams o Debugging FPGA Ci cui s,'' in J. A nold and K. Pocek, edi o s, P oceedings o he Nin h Annual IEEE Symposium on Field-P og ammable Cus om Compu ing Machines, pp. TBA, Rohne Pa k, CA, Ap il 2001. [8] Blind o he e iewing p ocess [9] Xilinx. Co.”The P og ammable Logic Da a Book”. 2001. [10] Xess Co. XSV Boa d V1.0 Manual. Ma ch 2000