SystemC/C++ Design and verify a communications interface Hi. I am having trouble
ID: 3883420 • Letter: S
Question
SystemC/C++ Design and verify a communications interface
Hi. I am having trouble with this problem. You must use SystemC to design it. The requirements of the design are listed below under the Inputs and Outputs sections under Problem 2. You should also provide the design file (.cpp or .h files), test bench (.cpp), and picture of the simulation results.
You can use edaplayground (free) to run/simulate it
You can ignore the log section at the bottom of the picture. I was attempting a different problem earlier. Thanks!.
playground EDA 0'un ., Save Copy Brought to you by DOULOS Languages & Libran Problem 2: Design and verify a communications interface. Often data sent over a data link are organized as packets of data each packet containing some identification bits data and some check bits used to determine if a transmission error has occurred. Your hardware must meet the following specification Testbench Design C++/SystemC Libraries E None SystemC 2.3.1 Inputs: Clock Reset: reset is active low Clear; Jclears output registers-active high InDatal 1 1:0]: SystemC 2.3.0 f Input data, organized as follows: Tools &S; torso InDatal 11:8] contains the header InDatal7:41 contains the data payload InDatal:1 are not used Compile & Ru Options -DSC INCLUIE FX Run Options // InDatalol is a parity bit. It isl, if InDatal 7:4] is meant to be even parity A new InData arrives every clock ts. Open EPWave after run All outputs are registered and are cleared when reset' is low or "clear, is high Payload|3:01 Count 7:0 Errorl7:0 Download fileafter run // is changed to contain the-data payload' when-InData, is of type 1. total count of type 1 datas number of type 1 datas of wrong parity Examples VHDL Verilog/System erilog UVM EasierUVM SVAUnit SVUnit TL-Verilog e Verilog Python + Verilag Python Only C++/SystemC Clock Clear 101010 10 10101 0101010 10 1 0 1 0 1 0 0000000 000 0 0 00 000 0 00 0001 InData 1F1 OHO 171 OEO i F1: ~ type 1 . payload=F, parity should be even not type 1' payload-E. odd parity 170 :type 1 . payload-7. payload should have been even parity PayloadOFF77 The piece of hardware checks InData on each clock cycle. If InDatal 11:8].then it transfers the middle four bits of InData to payload and inerements count. At the same time, it checks the parity of the middle four bits and sees if it is as expected. If it is not, then there is a transmission error, and error is incremented. Community Share em one ar un Compile do Starting run.. Systemc 2 Copyright (c) ALL RIGHTS RESERVED Accellera ---Jun 1 2014 14:49:19 2014 by all Contributors, Follow @edaplayground Info: (I702) default timescale unit used for tracing: i ps Ccounter.vcd. vcd) Finding VCD file. .. /counter.vcd.vcd ni n aveExplanation / Answer
Abstract
Embedded processors in electronic systems are tuned to few application and with the increase in design size and complexity the time available for System Verification and Software Development is falling short and with next few decades seeing a rapid progress in the area of multimedia and gaming application whose time of development is very short seeing the market constraints. So for design falling in this category there should be a fast and efficient approach for the Product Development so that ends product is successful and does not fall prey to short development time available.
This Paper tries to present the usefulness of modeling for system simulation, and Product Development and presents and practical use of modeling in simulation of a general purpose processor.
1 Introduction
Many design project teams and research and development groups are working to significantly reduce system verification runtimes and perform system verification earlier in the design process. One solution successfully being used to address both issues at once is the creation of higher abstraction models of important system components, typically using regular C/C++ or enhanced or modified flavors of C, such as SystemC.
Once a library of models is available, a home-grown or commercial C or mixed simulation environment can be used to execute the C-based system design. Then, high-level hardware-software co-verification can be performed if an interface mechanism exists to run embedded host code on a processor core model in conjunction with the external C modeling environment. This, of course, also requires the availability of a model of the embedded processor that can run code and be instanced in the design.
With a mixed, C and HDL simulation environment, the high-level models can facilitate faster system verification runs at many stages in the design process for many purposes. This allows C models to become useful before everything in the design is modeled in C.
As designs are getting more complex in terms of functionality, Application supported and gate count it is getting difficult to translate the Architectural model in to behavioral model using hardware languages seeing the effort and time involved. Model provides application developers the ability to evaluate without the necessity of hardware platform. As design get more complex, system architects model in Software languages to iteratively refine from an architectural model to hardware implementation. Modeling helps in translating theoretical thinking into practical application.
2 Modeling
Modeling in past has been an approach to emulate the efficiency and feasibility of System. The foremost question modeling poses is what platform to use should it be some hardware language or should we use our conventional software languages because software languages being sequential in nature how do we emulate the parallelism found in hardware and if we use hardware language then up to what level can we seeing the design complexity. Another question modeling poses is how much effort do we need to put in because any effort put into one activity should materialize in to reduce effort into another activity otherwise that is just an another overhead to the design’s development cost.
So to materialize the effort put into modeling we need to modify our approach in modeling so that the design can be reused with little modification or if we possible no modification and also aid into reduced effort in design and verification and also software development.
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.