{"title":"Assertion-Based Design with Horus","authors":"Y. Oddos, K. Morin-Allory, D. Borrione","doi":"10.1109/MEMCOD.2008.4547691","DOIUrl":"https://doi.org/10.1109/MEMCOD.2008.4547691","url":null,"abstract":"The Horus tool, based on formally proven correct methods, provides a unified support to assertion-based design, between the specification and the test phases. Given a set of logical and temporal properties written in PSL, Horus automatically constructs a test environment for the design. This construction is fast, correct, and produces efficient monitors and generators. The size of the instrumented design is determined by the number of distinct properties needed to specify the behavior and by the number of repetitions of each property over duplicated blocks that play symmetric roles. We have seen in the case of a wishbone switch that the number of repetitions may be quadratic in the number of nodes that compete for a resource, times the number of resources. The main advantages of our tool is to cover the whole PSL simple subset, and the whole verification flow: from the simulation to the online testing. When synthesized on FPGA, the instrumented design under test can execute at full speed.","PeriodicalId":221804,"journal":{"name":"2008 6th ACM/IEEE International Conference on Formal Methods and Models for Co-Design","volume":"109 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129562436","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":"From Data to Events: Checking Properties on the Control of a System","authors":"Christophe Jacquet, Frédéric Boulanger, Dominique Marcadet","doi":"10.1109/MEMCOD.2008.4547682","DOIUrl":"https://doi.org/10.1109/MEMCOD.2008.4547682","url":null,"abstract":"We present a component-based description language for heterogeneous systems composed of several data flow processing components and a unique event- based controller. Descriptions are used both for generating and deploying implementation code and for checking safety properties on the systems. The only constraint is to specify the controller in a synchronous reactive language. We propose an analysis tool which transforms temporal logic properties of the system as a whole into properties on the events of the controller, and hence into synchronous reactive observers. If checks succeed, the final system is therefore correct by construction. When properties cannot be translated exactly into observers of the control, our tool is capable of generating approximate observers. In this case, the results are subject to interpretation, but can prove useful and help detect defects or even guarantee the correctness of a system.","PeriodicalId":221804,"journal":{"name":"2008 6th ACM/IEEE International Conference on Formal Methods and Models for Co-Design","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129582105","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":"Rule-Based Approaches for Equivalence Checking of SpecC Programs","authors":"S. Shankar, M. Fujita","doi":"10.1109/MEMCOD.2008.4547685","DOIUrl":"https://doi.org/10.1109/MEMCOD.2008.4547685","url":null,"abstract":"This paper describes a rule-based approach for equivalence checking of reactive systems. The approach is based on new types of dependence and flow graphs that are more appropriate for reactive languages than traditional notions intended for transformational languages. Equivalence rules utilizing this static dependence and flow information are derived from language semantics. The rules are then applied in a bottom-up fashion, corresponding to the structures of the programs being checked, until equivalence is shown. A prototype toolset has been implemented, and results indicate speedups of several orders of magnitude over more traditional equivalence checkers. The paper describes our approach and tools, and also outlines how our methods can be used in a general equivalence checking system.","PeriodicalId":221804,"journal":{"name":"2008 6th ACM/IEEE International Conference on Formal Methods and Models for Co-Design","volume":"77 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123834180","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":"H.264 Decoder: A Case Study in Multiple Design Points","authors":"Kermin Fleming, Chun-Chieh Lin, Nirav H. Dave, Arvind, Gopal Raghavan, Jamey Hicks","doi":"10.1109/MEMCOD.2008.4547707","DOIUrl":"https://doi.org/10.1109/MEMCOD.2008.4547707","url":null,"abstract":"H.264, a state-of-the-art video compression standard, is used across a range of products from cellphones to HDTV. These products have vastly different performance, power and cost requirements, necessitating different hardware-software solutions for H.264 decoding. We show that a design methodology and associated tools which support synthesis from high-level descriptions and which allow modular refinement throughout the design cycle, can share the majority of design effort across multiple design points. Using Bluespec SystemVerilog, we have created a variety of designs for the H.264 decoder tuned to support decoding at resolutions ranging from QCIF video (176 times 144 @ 15 frames/second) to 1080p video ((1280 times 1080)p @60 frames/second) in a 180 nm process. Some of these design points require major transformations of pipelining to increase performance or to reduce area. We also explore several common design issues surrounding memory structures, such as caches and on-chip vs. off-chip memories. We believe the design methodology used in this paper is directly applicable to many IP blocks involving algorithmic specifications. The same design capabilities also permit rapid microarchitecture exploration and changes in RTL late in the design process even in non-algorithmic IP blocks.","PeriodicalId":221804,"journal":{"name":"2008 6th ACM/IEEE International Conference on Formal Methods and Models for Co-Design","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125747319","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":"Vacuity Analysis by Fault Simulation","authors":"L. D. Guglielmo, F. Fummi, G. Pravadelli","doi":"10.1109/MEMCOD.2008.4547683","DOIUrl":"https://doi.org/10.1109/MEMCOD.2008.4547683","url":null,"abstract":"Vacuum cleaning is a mandatory process when an implementation is verified with respect to a specification modeled by means of formal properties. In fact, vacuum cleaning looks for properties that, passing vacuously (e.g., an implication whose antecedent is always false), may lead verification engineers to a false sense of safety. Current approaches to vacuum cleaning, generally, exploit formal methods to provide an interesting witness proving that a property does not pass vacuously. However, such approaches are as complex as model checking, and they require to define and model check further properties, thus increasing the verification time. This paper proposes an alternative approach, based on fault simulation, that requires neither the definition of new properties, nor the use of model checking. Experimental results show the high efficiency of this approach.","PeriodicalId":221804,"journal":{"name":"2008 6th ACM/IEEE International Conference on Formal Methods and Models for Co-Design","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132612416","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":"Classification of General Data Flow Actors into Known Models of Computation","authors":"C. Zebelein, J. Falk, C. Haubelt, J. Teich","doi":"10.1109/MEMCOD.2008.4547699","DOIUrl":"https://doi.org/10.1109/MEMCOD.2008.4547699","url":null,"abstract":"Applications in the signal processing domain are often modeled by data flow graphs which contain both dynamic and static data flow actors due to heterogeneous complexity requirements. Thus, the adopted notation to model the actors must be expressive enough to accommodate dynamic data flow actors. On the other hand, treating static data flow actors like dynamic ones hinders design tools in applying domain-specific optimization methods to static parts of the model, e.g., static scheduling. In this paper, we present a general notation and a methodology to classify an actor expressed by means of this notation into the synchronous and cyclo-static dataflow models of computation. This enables the use of a unified descriptive language to express the behavior of actors while still retaining the advantage to apply domain-specific optimization methods to parts of the system. In experiments we could improve both latency and throughput of a general data flow graph application using our proposed automatic classification in combination with a static single-processor scheduling approach by 57%.","PeriodicalId":221804,"journal":{"name":"2008 6th ACM/IEEE International Conference on Formal Methods and Models for Co-Design","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129571061","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":"Directed-Logical Testing for Functional Verification of Microprocessors","authors":"Michael Katelman, J. Meseguer, Santiago Escobar","doi":"10.1109/MEMCOD.2008.4547694","DOIUrl":"https://doi.org/10.1109/MEMCOD.2008.4547694","url":null,"abstract":"The length of the microprocessor development cycle is largely determined by functional verification, where contemporary practice relies primarily on constraint-based random stimulus generation to drive a simulation-based methodology. However, formal methods are, in particular, gaining wider adoption and are seen as having potential to bridge large gaps left by current techniques. And many gaps still remain. In this paper we propose directed- logical testing: a new method of stimulus generation based on purely logical techniques (i.e. formal methods). As far as we know, our methodology represents the first end-to-end mathematical formalization of the stimulus generation problem. Therefore, a major contribution of this paper is the definition of a class of logical propositions that relate the actual microprocessor implementation, the assembly program stimulus, and a coverage goal. These propositions are given in rewriting logic, and use the idea of rewriting semantics to automatically formalize within a common logical framework the microprocessor implementation and assembly programs. To solve these propositions, we demonstrate how narrowing and user-defined narrowing strategies can be used as a scalable logical framework. In addition, we describe two classes of effective strategies that can be used for many microprocessors and common coverage goals. Finally, we describe a prototype tool implementation and present empirical data to demonstrate the feasibility of our methodology. Since narrowing and user-defined narrowing strategies within rewriting logic do not yet have tool support, our prototype tool uses standard rewriting and user-defined rewriting strategies to simulate narrowing.","PeriodicalId":221804,"journal":{"name":"2008 6th ACM/IEEE International Conference on Formal Methods and Models for Co-Design","volume":"194 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122596295","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":"Hardware Accelerated Crypto Merge Sort: MEMOCODE 2008 Design Contest","authors":"VJ Sananda","doi":"10.1109/MEMCOD.2008.4547705","DOIUrl":"https://doi.org/10.1109/MEMCOD.2008.4547705","url":null,"abstract":"This paper describes the hardware accelerated crypto sorter design submission for the MEMOCODE 2008 HW/SW co-design contest. The goal was to sort an encrypted database of records partitioning the problem between a PowerPC processor and the dedicated hardware resources available on a Xilinx Virtex II Pro FPGA. A speedup between 24 and 40 was achieved, when compared with the reference software only solution.","PeriodicalId":221804,"journal":{"name":"2008 6th ACM/IEEE International Conference on Formal Methods and Models for Co-Design","volume":"48 2","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114058211","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}
Kermin Fleming, Myron King, Man Cheuk Ng, Asif Khan, M. Vijayaraghavan
{"title":"High-throughput Pipelined Mergesort","authors":"Kermin Fleming, Myron King, Man Cheuk Ng, Asif Khan, M. Vijayaraghavan","doi":"10.1109/MEMCOD.2008.4547704","DOIUrl":"https://doi.org/10.1109/MEMCOD.2008.4547704","url":null,"abstract":"We present an implementation of a high-throughput cryptosorter, capable of sorting an encrypted database of eight megabytes in .15 seconds; 1102 times faster than a software implementation.","PeriodicalId":221804,"journal":{"name":"2008 6th ACM/IEEE International Conference on Formal Methods and Models for Co-Design","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134065986","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":"Latency-Insensitive Hardware/Software Interfaces","authors":"G. Hoover, F. Brewer, C. Gill","doi":"10.1109/MEMCOD.2008.4547689","DOIUrl":"https://doi.org/10.1109/MEMCOD.2008.4547689","url":null,"abstract":"Modern embedded system designers face challenges of unprecedented scales, creating systems that integrate functionality spanning disparate scientific domains, with increasing computation demands and ever-stricter power requirements. Meeting the constraints of these systems requires practical design flows that reduce development time without sacrificing design efficiency. Novel design description methodologies coupled with automated and semi-automated synthesis paths greatly accelerate the design of modern hardware systems. In the software space, however, synthesis methods are far from producing co-designs with the necessary efficiency. This is particularly evident at the hardware/software boundary, where the tight coupling of low-level firmware routines and hardware protocols require designers to have deep design knowledge in both domains. To address this issue, we propose a latency-insensitive software execution model that allows direct connection to elastic hardware control topologies.","PeriodicalId":221804,"journal":{"name":"2008 6th ACM/IEEE International Conference on Formal Methods and Models for Co-Design","volume":"50 8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129809312","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}