首页 > 其他分享 >SystemC & TLM-2.0 - SystemC vs SystemVerilog

SystemC & TLM-2.0 - SystemC vs SystemVerilog

时间:2024-06-08 10:11:49浏览次数:15  
标签:SystemC level very System vs so design 2.0 SystemVerilog

What is the difference between System C and SystemVerilog

System C is used primarily as a modeling language particularly for virtual platform modeling whereas system verilog is used mainly 50 chable Hardware verification. I'm going to dive down into both systems the answers to go up and describe each of them a little more detail for you.

Reasons for using System C

there are some great reasons for using System C. System C has some open source proof-of-concept simulator that only requires a C++ compiler to run and that makes it very flexible with respect to platforms and licensing it means that you can run a system c model if you simply have a C++ compiler available. EDA tool vendors then able to add further value to System C by implementing smart features within their tools System C. System C also robust amateur I Triple E standard has been in existence for several years now because it's just C++. it's a sports very easy integration with almost any software product or modeling product. System C also because it's based on C++ gives soft software engineers and system engineers very easy access to EDA technology and models so they might not.

Transaction-Level Modeling

otherwise have System C is usually used for transaction level modeling. transaction level modeling you can think of as an abstraction level that's above register transfer level now register transfer level all communication is done by pin wiggling so in order for to register transfer level blocks to communicate you need typically to have an event on each individual signal connecting those two blocks together and lots of events adds up to slow simulation contrast that with a transaction communication between blocks in a transaction level model is achieved using simple function calls then replacing lots of pin wiggling with single function calls gives a dramatic speed-up in simulation somewhere between 100x and 10000x is typical and that's worth having.

Typical Use Case : Virtual Platform

the usual use case the transaction level modeling of these days is building virtual platform models of complex system on chips these are systems that would typically include multiple processor course multiple software stacks multiple buses and bridges between those buses and also many many digital and analog Hardware IP blocks that all have to be integrated together and the challenge is to obtain models for all of these various bits of IP in such a way that they could work in a fast efficient simulation environment and that's what transaction little bottler consistency enables.

Reasons for using TLM / System C

so transaction level models very often start life being created by system architects or people interested in performance modeling in order to build fast executable bottleneck associate. those same models can then be handed off to software development groups and can be used to develop application software and firmware because they're fast enough and available early enough to enable that to happen the very same bodies can then be handed down to Hardware verification groups where they can be used within an HDL test bench as goal model a reference model of the designer to test.

What is SystemVerilog

so I've said a few words about System C let's now explore SystemVerilog in just a little bit more detail SystemVerilog has been touted as the world's first HDVL or hardware designed and verification language. you can also think of it as son of Verilog the latest in the verilog heritage. SystemVerilog speeches the RTL design for assertions and in particular for verification. so explore each of those areas now.

Features

for design SystemVerilog offers a number of significant RTL improvements he offers a very concise coding style without the need to catch RTL code in a very straightforward way and also offer synthesis aware syntax so that the HDL coding can better reflect your design intent system Verilog also offers interesting features for parameterization and generate which match many of the features that VHDL users have enjoyed for many years now and even go beyond what the VHDL offers in those areas on the assertions side there's a specific subset of system brakeness SVA. SystemVerilog assertions and for verification SystemVerilog offers a whole raft of language improvements it's got a new set of programming language features which are based on C. so there are C like data types and see like statements so if you're familiar with the control structures and the data types in C. you'll get home this is develop SystemVerilog. SystemVerilog paranthas a variety of dedicated testbench features so that you can express your testbench intent very explicitly in SystemVerilog. it also has a complete object-oriented programming language with its own flavor of class similar to classes in C++ and SystemVerilog has a number of features to support constrained random verification and those features build on the classes in SystemVerilog. finally SystemVerilog has a really cool feature which is the DPI or direct programming language interface the DPI is a very lightweight interface that enables you to call functions whose SystemVerilog and SystemVerilog functions and tasks from C and that's very convenient.

Constrained Random Verification

let's dive down into constrained random verification and little bit detail because this is arguably the number one reason why our customers are making use assistive SystemVerilog today. constrained random verification involves exercising a design under test using random test vectors and you need to do three particular things to make random stimulus useful and tractable. the first thing is to automatically check the results of simulation it's that good waveforms if your simulation stimulus is random of course SystemVerilog enables that with SVA in SystemVerilog assertions. the second thing that you need to do is to answer the question are we done and that's done using a set of features for collecting functional coverage. so functional coverage provides a measure of how much simulation has been performed and finally with random stimulus those random vectors need to be directed in order to explore corner cases in the design and that's done using a set of constraint features and SystemVerilog.

Multiple Languages

but in all this together we see our customers making increased use of mixed language environments in fact using multiple languages or design projects is pretty much the norm now for the most complex designs. so hardware designs still done largely in VHDL or Verilog so dedicated hardware design groups make use of the HDL apparel of capturing the RTL code testbenches may also be VHDL and Verilog or they might make use of one of a number of more specialized testbench languages. SystemVerilog is a great example of that. if System C is typically used to bring in a gold reference model. so a transaction level model of the design under test might have been created early or in the design flow may be used for software development and can then be brought into the hardware test vectors ago on a reference model so System C is used for modeling particularly in the software development and architectural exploration SystemVerilog is used for little big smart constrained random testbenches an RTL coding is typically done in good old-fashioned VHDL available.

标签:SystemC,level,very,System,vs,so,design,2.0,SystemVerilog
From: https://www.cnblogs.com/sys-123456/p/18226274

相关文章

  • 从VS Code源码看清晰代码之美
    VSCode的产品做的很优秀,其源码也质量颇高,清晰、整洁、富有美感。下面是 src\vs\workbench\common\notifications.ts 文件中的两段代码,大家感受一下:getsticky():boolean{if(this._sticky){returntrue;//explicitlysticky}consthasAct......
  • C# 链接access数据库 vs2010
    C#链接access数据库vs2010链接access数据库找到你当前以mdb为后缀名的文件,例如""E:\zonghedata_demo.mdb",那么链接的string内容为:"@"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+filePath+";"准备好链接字符串后,使用数据类型OleDbConnection来链接打开文件,代码如下......
  • jQWidgets 19.2.0 Visualize Sequences
    jQWidgets19.2.0VisualizeSequencesjQWidgets19.2.0addsanewcomponentforvisualizingchronologicaldatawithsupportforinteractivescrolling,customizablestyles,andrichcontent.jQWidgetsisacomprehensiveJavaScriptUIframeworkofferi......
  • vsode (Visual Studio Code) JS -- HTML 教程
    vsode(VisualStudioCode)JS–HTML教程JavaScript是什么-JavaScript是一种基于对象和事件驱动的脚本语言,广泛用于在网页上实现动态交互效果。JavaScript可以嵌入到HTML页面中,通过在脚本标签中编写JavaScript代码来实现各种功能。它主要用于处理用户交互、操......
  • eth2.0基本概念
    1.Epoch在以太坊生态系统中,"epoch"是一个重要的概念,特别是在以太坊2.0(也称为Eth2或Serenity)中。以太坊2.0引入了权益证明(ProofofStake,PoS)共识机制,epoch在其中起到了关键作用。以下是关于以太坊epoch的详细解释:什么是Epoch?在以太坊2.0中,时间被分成了周期......
  • VSCode中使用LaTeX编辑文章
    工欲善其事必先利其器,成功在VSCode中使用LaTeX,遂做记录。1.先准备VScode的安装下载地址:VScode地址正常安装即可,一路next安装下去即可。2.准备安装latex国内使用清华源,下载地址:https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/window用户选择ISO......
  • ubuntu 22.04每日自动备份数据库
    自动备份数据库我们将设置一个每天凌晨2:00执行备份的Cron任务。首先确保您已经安装了MySQL服务:sudoaptupdatesudoaptinstallmysql-server创建备份目录:sudomkdir/opt/mysql_backupssudochownmysql:mysql/opt/mysql_backups这里我们创建了一个/op......
  • 视频监控管理平台LntonCVS视频汇聚平台充电桩视频监控应用方案
    随着新能源汽车的广泛使用,公众对充电设施的安全性和可靠性日益重视。为了提高充电桩的安全管理和站点运营效率,LntonCVS公司推出了一套全面的新能源汽车充电桩视频监控与管理解决方案。该方案通过安装高分辨率摄像头,对充电桩及其周边区域进行不间断监控,确保充电环境的安全无虞......
  • 详细介绍视频汇聚共享平台LntonCVS视频存储平台支持的多种视频流协议
    LntonCVS国标视频综合管理平台是一款以视频为核心的智慧物联应用平台。它基于分布式、负载均衡等流媒体技术进行开发,提供广泛兼容、安全可靠、开放共享的视频综合服务。该平台具备多种功能,包括视频直播、录像、回放、检索、云存储、告警上报、语音对讲、集群、智能AI分析以及平......
  • 安防监控视频平台LntonCVS统一视频接入平台建筑工地安防监控应用方案
    随着科技的高速发展,视频信号经过数字压缩后,可以通过互联网宽带或者移动4G网络进行传输,从而实现远程视频监控功能。将这一功能应用于施工现场安全管理,将大大提高管理效率并提升监管水平。LntonCVS监控系统能够实现这些目标,使得施工企业能够跃上新的管理平台,同时政府的监管力度也......