当前位置:首页 > EDA > 电子设计自动化
[导读]数字电路设计工程师一般都学习过编程语言、数字逻辑基础、各种EDA软件工具的使用。就编程语言而言,国内外大多数学校都以C语言为标准,只有少部分学校使用Pascal 和Fortran。算法的描述和验证常用C语言来做。例如要

数字电路设计工程师一般都学习过编程语言、数字逻辑基础、各种EDA软件工具的使用。就编程语言而言,国内外大多数学校都以C语言为标准,只有少部分学校使用Pascal 和Fortran。

算法的描述和验证常用C语言来做。例如要设计Reed-Solomen编码/解码器,可以分为下面几个步骤。

先深入了解Reed-Solomen编码/解码的算法。

编写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源代码转化为门级逻辑。

3.如何利用C语言来加快硬件的设计和查错

如表1所示为常用的C语言与Verilog相对应的关键字与控制结构。

 

表1                                 C语言与Verilog相对应的关键字与控制结构表

C

Verilog

sub-function

module、function、task

if-then-else

if-then-else

case

case

{,}

begin、end

for

for

while

while

break

disable

define

define

int

int

printf

monitor、display、strobe

 

 

如表2所示为C语言与Verilog相对应的运算符。

表2                                               C语言与Verilog对应运算符表

C

Verilog

功    能

*

*

/

/

+

+

-

-

%

%

取模

!

!

反逻辑

&&

&&

逻辑与

||

||

逻辑或

大于

小于

 

续表

C

Verilog

功    能

>=

>=

大于等于

<=

<=

小于等于

==

==

等于

!=

!=

不等于

位反相

&

&

按位逻辑与

|

|

按位逻辑或

^

^

按位逻辑异或

~^

~^

按位逻辑同或

>> 

>> 

右移

<< 

<< 

左移

?:

?:

相当于if-else

 

从上面的讲解我们可以总结如下。

  • C语言与Verilog硬件描述语言可以配合使用,辅助设计硬件。
  • C语言与Verilog硬件描述语言很像,但要稍加限制。
  • C语言的程序很容易转成Verilog的程序。

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

武汉2025年9月9日 /美通社/ -- 7月24日,2025慧聪跨业品牌巡展——湖北•武汉站在武汉中南花园酒店隆重举办!本次巡展由慧聪安防网、慧聪物联网、慧聪音响灯光网、慧聪LED屏网、慧聪教育网联合主办,吸引了安防、...

关键字: AI 希捷 BSP 平板

上海2025年9月9日 /美通社/ -- 9月8日,移远通信宣布,其自研蓝牙协议栈DynaBlue率先通过蓝牙技术联盟(SIG)BQB 6.1标准认证。作为移远深耕短距离通信...

关键字: 蓝牙协议栈 移远通信 COM BSP

上海2025年9月9日 /美通社/ -- 为全面落实党中央、国务院和上海市委、市政府关于加快发展人力资源服务业的决策部署,更好发挥人力资源服务业赋能百业作用,8月29日,以"AI智领 HR智链 静候你来&quo...

关键字: 智能体 AI BSP 人工智能

北京2025年9月8日 /美通社/ -- 近日,易生支付与一汽出行达成合作,为其自主研发的"旗驭车管"车辆运营管理平台提供全流程支付通道及技术支持。此次合作不仅提升了平台对百余家企业客户的运营管理效率...

关键字: 一汽 智能化 BSP SAAS

深圳2025年9月8日 /美通社/ -- 晶泰科技(2228.HK)今日宣布,由其助力智擎生技制药(PharmaEngine, Inc.)发现的新一代PRMT5抑制剂PEP0...

关键字: 泰科 AI MT BSP

上海2025年9月5日 /美通社/ -- 由上海市经济和信息化委员会、上海市发展和改革委员会、上海市商务委员会、上海市教育委员会、上海市科学技术委员会指导,东浩兰生(集团)有限公司主办,东浩兰生会展集团上海工业商务展览有...

关键字: 电子 BSP 芯片 自动驾驶

推进卓越制造,扩大产能并优化布局 苏州2025年9月5日 /美通社/ -- 耐世特汽车系统与苏州工业园区管委会正式签署备忘录,以设立耐世特亚太总部苏州智能制造项目。...

关键字: 智能制造 BSP 汽车系统 线控

慕尼黑和北京2025年9月4日 /美通社/ -- 宝马集团宣布,新世代首款量产车型BMW iX3将于9月5日全球首发,9月8日震撼亮相慕尼黑车展。中国专属版车型也将在年内与大家见面,2026年在国内投产。 宝马集团董事...

关键字: 宝马 慕尼黑 BSP 数字化

北京2025年9月4日 /美通社/ -- 在全球新一轮科技革命与产业变革的澎湃浪潮中,人工智能作为引领创新的核心驱动力,正以前所未有的深度与广度重塑各行业发展格局。体育领域深度融入科技变革浪潮,驶入数字化、智能化转型快车...

关键字: 人工智能 智能体 AI BSP

上海2025年9月2日 /美通社/ -- 近日,由 ABB、Moxa(摩莎科技)等八家企业在上海联合发起并成功举办"2025 Ethernet-APL 技术应用发展大会"。会议以"破界•融合...

关键字: ETHERNET 智能未来 BSP 工业通信
关闭