{"title":"Single-source hardware modeling of different abstraction levels with State Charts","authors":"Rainer Findenig, T. Leitner, W. Ecker","doi":"10.1109/HLDVT.2012.6418241","DOIUrl":"https://doi.org/10.1109/HLDVT.2012.6418241","url":null,"abstract":"This paper presents an approach and a framework for hardware modeling on different abstraction levels, from untimed to cycle-accurate. Being based on UML State Charts, the graphical input language is intuitive to use and can directly serve as the documentation of the model. Compared to previous approaches, we propose an extension to UML that allows specifying all supported abstraction levels of a model in a single source, easing both development and debugging. We also present a code generator that allows selecting a specific abstraction level from the model to automatically generate SystemC code for it. Additionally, we use a modeling style extending existing work for purely cycle-accurate State Charts so that a previously presented code generation approach for VHDL can be reused.","PeriodicalId":184509,"journal":{"name":"2012 IEEE International High Level Design Validation and Test Workshop (HLDVT)","volume":"18 2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123449176","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Melanie Diepenbeck, Mathias Soeken, Daniel Große, R. Drechsler
{"title":"Behavior Driven Development for circuit design and verification","authors":"Melanie Diepenbeck, Mathias Soeken, Daniel Große, R. Drechsler","doi":"10.1109/HLDVT.2012.6418237","DOIUrl":"https://doi.org/10.1109/HLDVT.2012.6418237","url":null,"abstract":"The design of hardware systems is a challenging and erroneous task where about 70% of the effort in designing these systems is spent on verification. In general, testing and verification are usually tasks that are being applied as a post-process to the implementation. In this paper, we propose a new design flow based on Behavior Driven Development (BDD), an agile technique for the development of software in which acceptance tests written in natural language play a central role and are the starting point in the design flow. We advance the flow such that the specifics that arise when modeling hardware are taken into account. Furthermore, we present a technique that allows for the automatic generalization of test cases to properties that are suitable for formal verification. This allows the designer to apply formal verification techniques based on test cases without specifying properties. We implemented our approach and evaluated the flow for an illustrative example that successfully demonstrates the advantages of the proposed flow.","PeriodicalId":184509,"journal":{"name":"2012 IEEE International High Level Design Validation and Test Workshop (HLDVT)","volume":"67 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122753253","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Automatic generation of deadlock detection algorithms for a family of microarchitecture description languages of communication fabrics","authors":"Freek Verbeek, J. Schmaltz","doi":"10.1109/HLDVT.2012.6418239","DOIUrl":"https://doi.org/10.1109/HLDVT.2012.6418239","url":null,"abstract":"In the multi-core era, ensuring deadlock freedom of communication fabrics is an important challenge. Intel proposed xMAS, a microarchitecture description language (MaDL), to support the formal modelling and verification of communication fabrics. The xMAS language is restricted to eight basic primitives. Using this restriction, an efficient deadlock detection technique has been defined. This technique is tailored to the eight primitives, which are not sufficient to model many realistic designs. We exhibit two primitives, namely, an adaptive switch and a synchronization barrier, that cannot be expressed or analyzed using the current xMAS language and tools. Our main contribution is to automatically generate an efficient deadlock detection algorithm tailored to a given set of primitives. We define a set of core primitives and extension mechanisms for user-defined primitives. This creates a family of MaDL's together with a family of tailored and efficient deadlock detection algorithms. We prove that the automatically generated algorithms are correct by construction, i.e., they correctly detect deadlocks in all fabrics defined in the language for which they are generated. These algorithms handle message dependencies, counters, virtual channels, parametric buffer sizes, and many other aspects of micro-architectural models. The effectiveness of our approach is demonstrated on models with adaptive switches and synchronization barriers. Our approach automatically provides efficient deadlock detection for a large family of MaDL's.","PeriodicalId":184509,"journal":{"name":"2012 IEEE International High Level Design Validation and Test Workshop (HLDVT)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126453308","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Energy aware TLM platform simulation via RTL abstraction","authors":"N. Bombieri, F. Fummi, V. Guarnieri, A. Acquaviva","doi":"10.1109/HLDVT.2012.6418258","DOIUrl":"https://doi.org/10.1109/HLDVT.2012.6418258","url":null,"abstract":"Energy consumption estimation is nowadays one of the most pressing concerns in the design of embedded systems. In order to provide power estimates, techniques have been developed to enable energy-aware simulation of CPU models at different abstraction levels, such as register-transfer level (RTL) and software through an instruction set simulator (ISS). However, the chosen abstraction level heavily affects the outcome of the simulation in terms of speed and accuracy. RTL simulations are more accurate because of their wealth in terms of implementation details, but require significant computation times. ISS simulations run much faster, but are affected by a loss of accuracy due to their software implementation. Transaction-level modeling (TLM) simulations provides an ideal trade-off between speed and accuracy, but they rely on the creation of a TLM platform which is usually not available and must be manually created. In this context, we propose a methodology to automatically abstract a starting RTL CPU description into a corresponding TLM description. The abstraction methodology preserves details required to perform an energy-aware simulation, such as timing accuracy and instruction counts.","PeriodicalId":184509,"journal":{"name":"2012 IEEE International High Level Design Validation and Test Workshop (HLDVT)","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115494790","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Sequential equivalence checking of hard instances with targeted inductive invariants and efficient filtering strategies","authors":"H. Nguyen, M. Hsiao","doi":"10.1109/HLDVT.2012.6418236","DOIUrl":"https://doi.org/10.1109/HLDVT.2012.6418236","url":null,"abstract":"We propose two approaches to significantly boost the power of sequential equivalence checking: (1) In contrast with invariants involving only two or three signals, we introduce a novel multisignal invariant generation technique that is scalable to large circuits; (2) We utilize static and dynamic filters to reduce the number of potential inductive invariants that need to be proved to further reduce the computational cost. Experimental results show that the proposed method can handle hard SEC instances with little or no internal equivalences that conventional methods fail; in addition, one to three orders of magnitude speedup have been achieved for many instances.","PeriodicalId":184509,"journal":{"name":"2012 IEEE International High Level Design Validation and Test Workshop (HLDVT)","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116995279","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Emulation in post-silicon validation: It's not just for functionality anymore","authors":"Kyle Balston, A. Hu, S. Wilton, Amir Nahir","doi":"10.1109/HLDVT.2012.6418252","DOIUrl":"https://doi.org/10.1109/HLDVT.2012.6418252","url":null,"abstract":"FPGA-based emulation has emerged as an important tool in the overall validation process for an increasing number of large integrated circuits. Emulation gives the ability to validate a design using long-running, realistic tests, which are infeasible to perform using simulation. Traditionally, however, FPGA-based emulation has been used to validate only the functional behavior of an integrated circuit, since circuit-level properties (e.g., timing, noise margins, etc.) are obviously different between the FPGA emulation and the final integrated circuit. In this paper, we show that emulation can also be used as an important tool to assist validation of more than just functional behavior. In particular, we show how FPGA-based emulation can be used to evaluate the critical-path timing coverage of a validation plan, and show that the area and timing overheads are acceptable. We demonstrate this technique to measure the critical-path coverage of a complex SoC using common postsilicon validation tests - including booting Linux, and running targeted and random programs - giving valuable insight into the quality of such tests in covering the timing paths in a design post-silicon.","PeriodicalId":184509,"journal":{"name":"2012 IEEE International High Level Design Validation and Test Workshop (HLDVT)","volume":"60 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126791350","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Eliminating race conditions in system-level models by using parallel simulation infrastructure","authors":"Weiwei Chen, Che-Wei Chang, Xu Han, R. Dömer","doi":"10.1109/HLDVT.2012.6418253","DOIUrl":"https://doi.org/10.1109/HLDVT.2012.6418253","url":null,"abstract":"For a top-down system design flow, a well-written specification model of an embedded system is crucial for its successful design and implementation. However, the task of writing a correct system-level model is difficult, as it involves, among other tasks, the insertion of parallelism. In this paper, we focus on ensuring model correctness under parallel execution. In particular, the model must be free of race conditions in all accesses to shared variables, so that a safe parallel implementation is possible. Eliminating race conditions is difficult because discrete event simulation often hides such flaws. In particular, the absence of simulation errors does not prove the correctness of the model. We propose to use advanced conflict analysis in the compiler, fast checking in a parallel simulator, and a novel race-condition diagnosis tool, that not only exposes all race conditions, but also locates where and when such problems occur. Our experiments have revealed a number of dangerous race conditions in existing embedded multi-media application models and enabled us to efficiently and safely eliminate these hazards.","PeriodicalId":184509,"journal":{"name":"2012 IEEE International High Level Design Validation and Test Workshop (HLDVT)","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115039181","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Simone Bronuzzi, G. D. Guglielmo, F. Fummi, G. Pravadelli
{"title":"Accurate profiling of oracles for self-checking time-constrained embedded software","authors":"Simone Bronuzzi, G. D. Guglielmo, F. Fummi, G. Pravadelli","doi":"10.1109/HLDVT.2012.6418249","DOIUrl":"https://doi.org/10.1109/HLDVT.2012.6418249","url":null,"abstract":"One way to ensure the correct execution of embedded software is to keep debugging and testing even after shipping of the application, complemented with recovery/restart operations. In this context, the oracles, i.e., assertions and checkers, that have been widely used in the development process for design validation, can be deployed again in the final product. The application will use the oracles to monitor itself under the actual execution. In this way, erroneous out-of-the-specification behaviors can be captured at runtime. However, self-checking mechanisms come at a computational cost, which may affect time constrains of embedded software. Thus, the oracles shall be introduced while satisfying these time constraints. This work proposes a profiling approach for oracles in embedded software, which proves to be more accurate than traditional profiling approaches, e.g., statistical sampling techniques. Profiling the execution time of oracles permits to finely tune the execution rate of the application to avoid timing violation, and to increase application responsiveness. Experimental results have been carried out on an industrial deployment platform for real-time application, i.e., National Instruments PXI VeriStand.","PeriodicalId":184509,"journal":{"name":"2012 IEEE International High Level Design Validation and Test Workshop (HLDVT)","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134256232","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A flexible modeling environment for a NoC-based multicore architecture","authors":"R. Lemaire, S. Thuries, Frédéric Heitzmann","doi":"10.1109/HLDVT.2012.6418256","DOIUrl":"https://doi.org/10.1109/HLDVT.2012.6418256","url":null,"abstract":"Following silicon technology improvements, Systems-on-Chip become more and more complex and require higher efforts for each design and validation steps. From architecture exploration to low-level hardware mechanism implementation, simulation platform are developed with different constraints in terms of speed performance or timing precision. The main issue is then to ensure consistency of the design all along the design flow process. In this paper, a NoC-based Multi-Processor System-on-Chip (MPSoC) architecture called GENEPY is introduced. The platform includes a mix of high-performance digital signal processing (DSP) cores, general-purpose processors (GPPs) and dedicated hardware accelerator all interconnected by a 2D-mesh Network-on-Chip (NoC). Associated with this architecture a flexible modeling environment is demonstrated. Built around a SystemC-TLM kernel, it integrates instruction set simulators and cosimulation wrappers and power estimators to adapt various types of user requirements from system architects to hardware designers and software developers in a common framework. Results are presented to assess the usability and potentiality of such modeling environment both for silicon implementation validation and for easier application mapping at early stage.","PeriodicalId":184509,"journal":{"name":"2012 IEEE International High Level Design Validation and Test Workshop (HLDVT)","volume":"92 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117297063","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Post-silicon verification and debugging with control flow traces and patchable hardware","authors":"M. Fujita","doi":"10.1109/HLDVT.2012.6418250","DOIUrl":"https://doi.org/10.1109/HLDVT.2012.6418250","url":null,"abstract":"In this paper we show three methods for postsilicon verification and debugging with control-flow analysis. By concentrating on control flows of SoC behavior, abstracted analysis can be applied and much significantly long time spans can be examined. The first method introduces monitoring methods of communications or transactions among cores inside SoCs. From the monitoring results, control sequences on interactions of cores are automatically determined to be used for post-silicon analysis. The second method shows algorithms to determine orderings of communications inside NoC (Network-on-Chip) used in SoCs. These analysis give information on how messages are transferred onto NoC, which are to be used for post-silicon analysis. The third method introduces trace buffers to compactly save state transition sequences of FSMs in the control parts of cores inside SoCs. By recognizing abnormal transitions, which is basically control flow analysis, both logical and electrical errors can be efficiently detected during postsilicon debug.","PeriodicalId":184509,"journal":{"name":"2012 IEEE International High Level Design Validation and Test Workshop (HLDVT)","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121276864","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}