140 likes | 240 Views
Paper Report. A Design-for-Debug ( DfD ) for NoC -based SoC Debugging via NoC. Feng -Xiang Huang. Hyunbean Yi 1 , Sungju Park 2 , and Sandip Kundu 1 1 Department of Electrical & Computer Engineering, University of Massachusetts, USA
E N D
Paper Report A Design-for-Debug (DfD) for NoC-based SoC Debugging via NoC Feng-Xiang Huang Hyunbean Yi 1 , Sungju Park 2 , and SandipKundu 1 1 Department of Electrical & Computer Engineering, University of Massachusetts, USA 2 Department of Computer Science and Engineering, Hanyang University, Korea Asian Test Symposium, 2008. ATS’08. 17th.
Research Tree NIFD: Non-Intrusive FPGA Debugger Debugging FPGA ‘Threads’ for Rapid HW/SW Systems Prototyping A Scan Cell Design for Scan-Based Debugging of an SoC With Multiple Clock Domains A Design-for-Debug(DfD) for NoC-based SoC Debugging via NoC Combining Scan and Trace Buffers for Enhancing Real-time Observability in Post-Silicon Debugging
Abstract • This paper presents design-for-debug (DfD) methods for the reuse of network-on-chip (NoC) as a debug data path in an NoC-based system-on-chip (SoC). We propose on-chip core debug supporting logics which can support transaction-based debug. A debug interface unit is also presented to enable debug data transfer through an NoC between an external debugger and a core-under-debug (CUD). The proposed approach supports debug of designs with multiple clock domains. It also supports collection of trace signatures to facilitate debug of long pattern sequences. Experimental results show that single and multiple stepping through transactions are feasible with moderately low area overhead. We also present simulation result to verify proper operation of the debug components.
Related Work [14] An event-based Network-On-Chip monitoring service [15] Transaction Monitoring in Networks on chip: The On-Chip Run-Time Prespective [17] Transaction-Based Communication-centric debug [16] A Multi-Core Debug Platform for NoC-based Systems A Design-for-Debug(DfD) for NoC-based SoCDebugginG via NoC
What is the problem • For more efficient NoC-based SoC debugging, three problems to be solved in this paper are: • Signal propagation delay • Deploy transaction based debug strategy • Instead of stopping cores as soon as an event c, such as transaction counts, timer values and the core from which the event is generated are recoded in an SoC. • Inefficient scan dump • Reuse the test infrastructure • Monitors internal nodes difficultly • Collect signature of select set of internal states.
Proposed Debug Components • Debug Architecture Overview • Event occurs make all routers empty and stop all core and then a debug engineer reads out the debug information and selects cores to be debugger using the TAP controller, and dumps scan contents or applies and observes debug data via NoC. • Core debug supporters • MDS for the master cores • SDS for the slave cores
Proposed Debug Components • CDS and TDIU • Clock gating cell (CGC) and Clock Multiplexer: • Event & Trans. Detector • Transaction Counter: • Timer: • Transaction & Core Stopper: • Debug info. setter • Debug information register: Current TRcont & Timer Latest issued TRcont & Timer
TDCPI stop core, config TAM Proposed Debug Components Inform TDIU that all transactions and store debug information. all TR_completed signal are asserted Setting debug_rdy to high Enable SDS to stop its slave core
Proposed Debug Components • Single Transaction Step Debugging • Performed by running and stopping master cores on a transaction basis • Single_TR_step and TR_stop_req_inout signals of the TDIU • Directly connected to a debugger, are used for the STSD • When TR_stop_req goes high, TR_block in each MDS goes low • Enable a new transaction to be initiated • After all masters and slaves are stopped • Perfome scan dump and observation, and resuming normal operation • Completion of an STSD by de-asserting TR_stop_req
Proposed Debug Components • Interrupt for debugging • Long pattern sequences can not be simulated. • Golden reference values are not known • Easily be done • By periodically repeating the debug cycle using the proposed method • By asserting debug_enable and TR_stop_req signals
Experimental results Master 1 and 2 run at 500 MHz. Slave 1 and Slave 2 run at 250 MHz and 125 MHz, respectively.
Experimental results • Area Overhead • Used the open AMBA-based IP cores with 32-bit separate read and write data buses • Gate count of the TDCPIs is 889. • TDCPIs are arranged from 611 to 1519 according to the number of primary inputs and outputs of the core • An MDS and an SDS are implemented with 10211 and 6115 gate count . • The average area overhead by adding a TDCPI and a CDS in a core is about 33%.
Conclusion • Proposed a transaction based debugging strategy and presented the core debug supporting logic. • This allows debug support for multiple clock domains • It can be efficiently performed without adding new parallel paths or using the slow IEEE 1149.1 .