当前位置: 首页 > wzjs >正文

网站目录权限设置 user全球商业网

网站目录权限设置 user,全球商业网,勾线外包网站,门户网站怎么做才好看(本系列只需要modelsim即可完成数字图像的处理,每个工程都搭建了全自动化的仿真环境,只需要双击top_tb.bat文件就可以完成整个的仿真,大大降低了初学者的门槛!!!!如需要该系列的工程…

 (本系列只需要modelsim即可完成数字图像的处理,每个工程都搭建了全自动化的仿真环境,只需要双击top_tb.bat文件就可以完成整个的仿真,大大降低了初学者的门槛!!!!如需要该系列的工程文件请关注知识星球:成工fpga,https://t.zsxq.com/DMeqH关注即送200GB学习资料,链接已置顶!)

成工有个强迫症,就是要求工程的 编号和文章的编号能对应上,由于上篇的package有单个package和多个package,工程是有两个,但是成工在一篇文章中写完了。如果继续往下写,后面的文章和工程就会错位,这是成工不能容忍的,所以增加一课,来谈谈SV的数据类型。

其实看前面几篇相应的工程,有心者应该能发现成工在使用数据类型的变化,在逐渐由verilog向system verilog转变。不信的话可以看看第一个工程的数据类型,变量用的是interger和reg。

再看看最近工程数据类型的使用,int,logic,bit,int unsigned。

很多人可能一头雾水,到底什么时候应该使用什么数据类型呢?有疑问其实就是考点,FPGA测试岗位的面试,数据类型的使用是必问的。

也不要急于一时,我们还是先从verilog的数据类型讲起。其实verilog提供了两种基本的数据类型,那就是变量类型和线网类型,在RTL开发过程中,用的最多的就是reg和wire,其实分别就是变量类型和线网类型。其实变量类型还有integer,time等等,主要用来存储组合逻辑或者时序逻辑。而线网类型除了wire,还有wor,wand等,用的比较少,主要用来连接功能模块,当然也可以用来实现组合逻辑,比如wire类型数据可以用assign来实现组合逻辑。

但是有一点需要注意,verilog的数据类型,不管是变量类型还是线网类型,都是四值逻辑的,也就是说,verilog中所有数据的每一位,都有0,1,X和Z四个值可取。所以严格的来说,verilog并没有区分信号的类型,因为所用的数据都是四值逻辑。

而system verilog在verilog的基础上添加了很多新的数据类型,大大方便了FPGA的设计和验证,最主要的是SV将硬件信号区分为类型和数据类型。

SV的信号类型和verilog一样也是分为变量类型和线网类型。而数据类型则分为四值逻辑(logic)和二值逻辑(bit)。

其实大家都知道,数字信号一般就两种状态,那就是0和1,而为了硬件仿真的功能,增加了未知状态X和高组态Z,比如一个信号没有任何的输入驱动,处于悬空状态,那就是Z;而一个信号在某个时刻可能是0也可以是1,那就是未知状态X。但是如果是不涉及硬件的功能仿真测试,是没有必要使用X和Z两张状态的,这时候使用二值逻辑不仅可以节约内存,还可以加快仿真

回到SV的信号类型常用的变量类型reg和常用线网类型wire依然可以使用,也就是说用verilog写的.v文件直接改成.sv文件可以直接进行综合和仿真。但是在SV中,用的最多的信号类型是logic,就是不管是变量还是线网,都可以使用logic。当然信号声明成logic类型,默认是表示变量类型,用户可以直接在logic前加var或者wire声明信号的类型,var logic就是变量类型,wire logic就是线网类型,但是一般我们不会如此声明信号。

下面我们对数据类型按照四值逻辑和二值逻辑进行分类:

四值逻辑:wire,reg,logic,integer,tri;

二值逻辑:bit,byte,shortint,int,longint。

其实数据可以是有符号数也可以是无符号数,进一步分类:

有符号数:integer,byte,shortint,int,longint;

无符号数:wire,reg,logic,tri,bit。

上面的数据分类是面试的考点,其实挺好记的,四值逻辑除了integer一般都是无符号数而integer和int一看就是同一类的,都是有符号数。二值逻辑除了bit一般都是有符号是,这个更好理解了,bit就一位,如果是符号位就不用表示其它的了。当然有符号的数据类型也可以用来定义无符号的信号,加上unsigned即可。

有了上面的分析,我们来总结一下什么时候使用什么数据类型。如果使用SV设计可综合的RTL代码,基本使用logic即可。如果使用SV进行非硬件的功能仿真测试,可以多使用二值逻辑。当然这个不是绝对的,还有考虑个人的喜欢,比如成工就是喜欢用logic而不是reg和wire,喜欢用int而不是integer。

举个例子,RGB每个通道的每个图像数据都是8bit的无符号数,那我们可以用四值逻辑logic [7:0]来定义,也可以使用二值逻辑bit [7:0]来定义,当然也可以使用二值逻辑byte unsigned来定义,形式可以多样,只要功能正确就可以。

最后说一点,就是一个文件中使用了四值逻辑和二值逻辑,要注意交互信号的相互转换,不然可能会出现意想不到的错误,后续成工会用实例的说明。这儿仅仅需要先记住一点,那就是四值逻辑的X和Z都会转换成二值逻辑的0

http://www.dtcms.com/wzjs/822692.html

相关文章:

  • 开发做游戏的网站网站制作公司前景
  • 做网站要注册公司么mvc 网站 只列出目录
  • 网站建设汇卓ppt在线制作免费
  • 上海 网站备案代理做钢材生意选什么网站
  • 建立网站大概需要多少钱搜索引擎优化的英语简称
  • 益阳市赫山区建设局网站大专报名入口官网
  • 贵阳网站建设推广公司虚拟主机如何做网站
  • 网站建设公司该如何选择个人简历网页制作代码
  • 建个普通网站深圳东门密室逃脱
  • 南平网站开发公司wordpress 健身预约
  • 小米商城网站建设分析陕西建设网站官方
  • 金阳龙泉苑网站建设六安做网站的公司
  • 网站怎么建设教程qq小程序
  • 杭州网站建设官网蓝韵网络珠海高端网站建设
  • 用自己的手机做网站网站做优化效果怎么样
  • 专题学习网站模板北京广告
  • 郑州专业网站制作费用报价网站后台编辑怎么做
  • 做特价的网站百度做物流网站多少钱
  • 自己开通一个网站需要多少钱广州市几个区
  • 网站后台seo优化如何做长沙市公司网站设计
  • 沧州网站备案浙江平湖建设局网站
  • 网站建设运营合同书sem seo招聘
  • 淘宝客网站WordPress孝感建设银行网站
  • 国外html 网站汕头网站建设搭建
  • 彩票销信 网站怎么做装修设计公司公司价格表
  • 做网站那几步成都市住房和城乡建设部网站
  • 做惠而浦售后网站赚钱软膜做网站有用吗
  • 晋中市住房保障和城乡建设局网站网站建设毕业设计摘要
  • 网站开发历史南开大学 网站开发技术 刘冲
  • 检索类的网站建设猪八戒网网站建设