家电维修班,手机维修班,电脑维修班,电工班,焊工班,液晶电视维修班,电动工具维修班、电动车摩托车维修班、网络营销培训、网站设计培训、淘宝培训---全国招生 家电维修班,手机维修班,电脑维修班,电工班,焊工班,液晶电视维修班,电动工具维修班、电动车摩托车维修班、网络营销培训、网站设计培训、淘宝培训---全国招生
您的位置:网站首页 > 电器维修资料网 > 正文 >

析Verilog HDL与C语言的区别与联系

★★★★★【文章导读】:析Verilog HDL与C语言的区别与联系具体内容是:编写C语言的程序来验证算法的正确性。运行描述编码器的C语言程序,把在数据文件中的多组待编码的数据转换为相应的编码后数据,并存入文件。编写一个加干扰用的C语言程序,用于模拟信道。它能产生随机误码位(并把误码…

来源: 日期:2013-11-3 17:29:09 人气:标签:

析Verilog HDL与C语言的区别与联系

    编写C语言的程序来验证算法的正确性。

    运行描述编码器的C语言程序,把在数据文件中的多组待编码的数据转换为相应的编码后数据,并存入文件。

    编写一个加干扰用的C语言程序,用于模拟信道。它能产生随机误码位(并把误码位个数控制在纠错能力范围内),将其加入编码后的数据文件中。运行该加干扰程序,产生带误码位的编码后的数据文件。

    编写一个解码器的C语言程序,运行该程序把带误码位的编码文件解码为另一个数据文件。

    比较原始数据文件和生成的文件,便可知道编码和解码的程序是否正确(能否自动纠正纠错能力范围内的错码位),用这种方法我们就可以来验证算法的正确性。但这样的数据处理其运行速度只与程序的大小和计算机的运行速度有关,也不能独立于计算机而存在。

    如果要设计一个专门的电路来进行这种对速度有要求的实时数据处理,除了以上介绍的C程序外,还需编写硬件描述语言(如Verilog HDL或 VHDL)的程序。然后进行仿真以便从电路结构上保证算法能在规定的时间内完成,并能与前端和后端的设备或器件正确无误地交换数据。

    用硬件描述语言(HDL)的程序设计硬件的好处在于易于理解、易于维护,调试电路速度快,有许多的易于掌握的仿真、综合和布局布线工具,还可以用C语言配合HDL来做逻辑设计的前后仿真,验证功能是否正确。

    在算法硬件电路的研制过程中,计算电路的结构和芯片的工艺对运行速度有很大的影响。所以在电路结构确定之前,必须经过多次仿真。

    C语言的功能仿真。

    C语言的并行结构仿真。

    Verilog HDL的行为仿真。

    Verilog HDL RTL级仿真。

    综合后门级结构仿真。

    布局布线后仿真。

    电路实现验证。

    下面介绍用C语言配合Verilog HDL来设计算法的硬件电路块时考虑的三个主要问题:

    1.为什么选择C语言与Verilog 配合使用

    首先,C语言很灵活,查错功能强,还可以通过PLI(编程语言接口)编写自己的系统任务直接与硬件仿真器(如Verilog-XL)结合使用。C语言是目前世界上应用 为广泛的一种编程语言,因而C程序的设计环境比Verilog HDL更完整。此外,C语言可应用于许多领域,有可靠的编译环境,语法完备,缺陷较少。

    比较起来,Verilog 语言只是针对硬件描述的,在别处使用(如用于算法表达等)并不方便。而且Verilog的仿真、综合、查错工具等大部分软件都是商业软件,与C语言相比缺乏长期大量的使用,可靠性较差,亦有很多缺陷。所以,只有在C语言的配合使用下,Verilog才能更好地发挥作用。

    面对上述问题, 好的方法是C语言与Verilog语言相辅相成,互相配合使用。这就是既要利用C语言的完整性,又要结合Verilog对硬件描述的精确性,来更快、更好地设计出符合性能要求的硬件电路系统。

    利用C语言完善的查错和编译环境,设计者可以先设计出一个功能正确的设计单元,以此作为设计比较的标准。然后,把C程序一段一段地改写成用并型结构(类似于Verilog)描述的C程序,此时还是在C的环境里,使用的依然是C语言。

    如果运行结果都正确,就将C语言关键字用Verilog相应的关键字替换,进入Verilog的环境。将测试输入同时加到C与Verilog两个单元,将其输出做比较。这样很容易发现问题的所在,更正后再做测试,直至正确无误。

    2.C语言与Verilog语言互相转换中存在的问题

    混合语言设计流程往往会在两种语言的转换中会遇到许多难题,如下所示。

    怎样把C程序转换成类似Verilog结构的C程序。

    如何增加并行度,以保证用硬件实现时运行速度达到设计要求。

    怎样不使用C中较抽象的语法(例如迭代、指针、不确定次数的循环等)。也能来表示算法(因为转换的目的是用可综合的Verilog语句来代替C程序中的语句,而可用于综合的Verilog语法是相当有限的,往往找不到相应的关键字来替换)。

    C程序是按行依次执行的,属于顺序结构。而Verilog描述的硬件是可以在同一时间同时运行的,属于并行结构。这两者之间有很大的冲突。另外,Verilog的仿真软件也是顺序执行的,在时间关系上同实际的硬件是有差异的,可能会出现一些无法发现的问题。

    C语言的函数调用与Verilog中模块的调用也有区别。C程序调用函数是没有延时特性的,一个函数是惟一确定的,对同一个函数的不同调用是一样的。而Verilog中对模块的不同调用是不同的,即使调用的是同一个模块,必须用不同的名字来指定。

    Verilog的语法规则很死,限制很多,能用的判断语句有限,仿真速度较慢,查错功能差,错误信息不完整。仿真软件通常也很昂贵,而且不一定可靠。C语言的花样则很多,转换过程中会遇到一些困难。

    C语言没有时间关系,转换后的Verilog程序必须要能做到没有任何外加的人工延时信号,否则将无法使用综合工具把Verilog源代码转化为门级逻辑。

  • 1
  • 2
  • 下一页

【看看这篇文章在百度的收录情况】

联系方式

  • 0731-85579057 , 0731-85569651
  • 点击这里给我发消息点击这里给我发消息点击这里给我发消息
网站栏目导航: 培训课程 手机硬件 手机软件 综合维修 学校资讯 考证指南 就业导航 招生指南 教学管理 入学须知 学校图片 教学大纲 师资力量 学生感言 学校概况 教学实景 手机维修培训资讯 电脑维修培训 维修间故事 手机维修培训 液晶电视维修培训 家电维修资料网 电器维修资料网 招生地区 刷机教程 家电维修 手机技巧 老版网站 招生平台网络工程
友情链接: 监控安装培训 电动工具维修 家电维修学校 电工培训学校 液晶电视维修 焊工培训学校 电工焊工学校 电脑维修学校 家电维修培训 电脑维修培训 家装电工培训网络安装维护 主板维修 液晶显示器 笔记本电脑维修 电脑组装维护 电脑硬件维修 电脑维修 电工考证 电工证 装修电工 水电工 维修电工 电工 焊接技术 电焊工 焊工 电动设备维修 电动工具维修 制冷维修 空调维修 冰箱维修  更多>>
阳光-手机维修教育品牌学校
点击这里给我发消息 点击这里给我发消息 点击这里给我发消息
电工培训学校 电动车维修学校 摩托车维修学校 摩托车维修培训 手机维修培训 家电维修培训 电脑维修培训 电动工具维修培训 液晶电视维修培训 安防监控培训 空调维修培训 网络营销培训 网站设计培训 淘宝网店培训 电器维修培训 家电维修学校 电工培训 焊工培训 电工学校 电工培训学校 电动车维修学校 摩托车维修学校 摩托车维修培训 手机维修培训 家电维修培训 电脑维修培训 电动工具维修培训 液晶电视维修培训 安防监控培训 空调维修培训 网络营销培训 网站设计培训 淘宝网店培训 电器维修培训 家电维修学校 电工培训 焊工培训 电工学校 电工培训学校 电动车维修学校 摩托车维修学校 摩托车维修培训 手机维修培训 家电维修培训 电脑维修培训 电动工具维修培训 液晶电视维修培训 安防监控培训 空调维修培训 网络营销培训 网站设计培训 淘宝网店培训 电器维修培训 家电维修学校 电工培训 焊工培训 电工学校 电工培训学校 电动车维修学校 摩托车维修学校 摩托车维修培训 手机维修培训 家电维修培训 电脑维修培训 电动工具维修培训 液晶电视维修培训 安防监控培训 空调维修培训 网络营销培训 网站设计培训 淘宝网店培训 电器维修培训 家电维修学校 电工培训 焊工培训 电工学校
中山市,固原市,银川市,玉树,海东,陇南市,酒泉市,张掖市,天水市,金昌市,兰州市,榆林市,延安市,渭南市,铜川市,阿里,山南,拉萨市,怒江,文山州,楚雄州,普洱市,昭通市,玉溪市,昆明市,毕节,铜仁,遵义市,贵阳市,甘孜州,资阳市,达州市,宜宾市,南充市,遂宁市,绵阳市,泸州市,自贡市,三亚市,崇左市,河池市,玉林市,钦州市,梧州市,柳州市,梅州市,肇庆市,湛江市,佛山市,珠海市,韶关市,湘西州,怀化市,郴州市,张家界市,邵阳市,株洲市,仙桃市,随州市,荆州市,荆门市,襄樊市,黄石市,驻马店市,信阳市,南阳市,漯河市,中卫市,石嘴山市,海西,海南藏州,黄南州,海北,甘南,庆阳市,平凉市,武威市,白银市,嘉峪关市,安康市,汉中市,咸阳市,宝鸡市,林芝,日喀则,昌都,迪庆,德宏,大理,西双版纳,红河州,临沧市,丽江市,保山市,曲靖市,黔东州,黔西州,安顺市,六盘水市,凉山州,阿坝州,雅安市,广安市,眉山市,内江市,广元市,德阳市,攀枝花市,成都市,海口市,来宾市,百色市,贵港市,北海市,桂林市,南宁市,云浮市,揭阳市,潮州市,清远市,阳江市,汕尾市,惠州市,茂名市,江门市,汕头市,深圳市,广州市,娄底市,永州市,益阳市,岳阳市,湘潭市,长沙市,恩施州,黄冈市,孝感市,鄂州市,十堰市,武汉市,周口市,商丘市,三门峡市,许昌市,焦作市,安阳市,鹤壁市,平顶山市,开封市,郑州市,聊城市,滨州市,德州市,莱芜市,日照市,泰安市,烟台市,潍坊市,东营市,淄博市,上饶市,济南市,抚州市,宜春市,赣州市,新余市,九江市,景德镇市,宁德市,南平市,泉州市,莆田市,厦门市,宣城市,亳州市,六安市,宿州市,黄山市,滁州市,安庆市,淮北市,马鞍山市,蚌埠市,芜湖市,合肥市,丽水市,舟山市,衢州市,金华市,湖州市,嘉兴市,宁波市,宿迁市,镇江市,盐城市,连云港市,苏州市,徐州市,南京市,绥化市,牡丹江市,佳木斯市,大庆市,鹤岗市,哈尔滨市,白城市,白山市,辽源市,吉林市,葫芦岛市,铁岭市,盘锦市,阜新市,锦州市,本溪市,鞍山市,沈阳市,锡林郭勒盟,通辽市,乌海市,吕梁市,忻州市,晋中市,晋城市,阳泉市,太原市,廊坊市,承德市,保定市,邯郸市,唐山市,宁夏,甘肃省,西藏,贵州省,重庆市,广西,湖南省,河南省,江西省,安徽省,江苏省,黑龙江省,辽宁省,山西省,天津市,四平市,内蒙古,吴忠市,果洛,西宁市,定西市,商洛市,西安市,那曲,黔南州,巴中市,乐山市,贺州市,防城港市,东莞市,河源市,常德市,衡阳市,咸宁市,宜昌市,濮阳市,新乡市,洛阳市,菏泽市,临沂市,威海市,济宁市,枣庄市,青岛市,吉安市,鹰潭市,萍乡市,南昌市,龙岩市,漳州市,三明市,福州市,池州市,巢湖市,阜阳市,铜陵市,淮南市,台州市,绍兴市,温州市,杭州市,泰州市,扬州市,淮安市,南通市,常州市,无锡市,大兴安岭,黑河市,七台河市,伊春市,双鸭山市,鸡西市,齐齐哈尔市,延边,松原市,通化市,长春市,朝阳市,辽阳市,营口市,丹东市,抚顺市,大连市,阿拉善盟,兴安盟,乌兰察布市,巴彦淖尔市,呼伦贝尔市,鄂尔多斯市,赤峰市,包头市,呼和浩特市,临汾市,运城市,朔州市,长治市,大同市,衡水市,沧州市,张家口市,邢台市,秦皇岛市,石家庄市,青海省,陕西省,云南省,四川省,海南省,广东省,湖北省,山东省,福建省,浙江省,上海市,吉林省,河北省,北京市