当前位置:首页 > EDA > 电子设计自动化
[导读]1 引言近30年来,由于微电子学和计算机科学的迅速发展,给EDA(电子设计自动化)行业带来了巨大的变化。特别是进入20世纪90年代后,电子系统已经从电路板级系统集成发展成为包括ASIC、FPGA和嵌入系统的多种模式。可以说

1 引言

近30年来,由于微电子学和计算机科学的迅速发展,给EDA(电子设计自动化)行业带来了巨大的变化。特别是进入20世纪90年代后,电子系统已经从电路板级系统集成发展成为包括ASIC、FPGA和嵌入系统的多种模式。可以说EDA产业已经成为电子信息类产品的支柱产业。EDA之所以能蓬勃发展的关键因素之一就是采用了硬件描述语言(HDL)描述电路系统。就FPGA和CPLD开发而言,比较流行的HDL主要有Verilog HDL、VHDL、ABEL-HDL和 AHDL 等,其中VHDL和Verilog HDL因适合标准化的发展方向而最终成为IEEE标准。但与VHDL相比,Verilog HDL有个最大的优点:它是一种非常容易掌握的硬件描述语言,只要有C语言的编程基础,一般经过2~3个月的认真学习和实际操作就能掌握这种设计技术。并且完成同一功能Verilog HDL的程序条数一般仅为VHDL的1/3。而VHDL设计技术则不很直观,需要有EDA编程基础,通常需要有多余半年的专业培训才能掌握这们技术。可见,用Verilog HDL语言有更高的优越性。

2 设计实例

通常设计数字电路大都采用自顶向下将系统按功能逐层分割的层次化设计方法,这比传统自下向上的EDA设计方法有更明显的优势(当时的主要设计文件是电路图)。因为由自顶向下的设计过程可以看出,从总体行为设计开始到最终逻辑综合,形成网络表为止。每一步都要进行仿真检查,这样有利于尽早发现系统设计中存在的问题,从而可以大大缩短系统硬件的设计周期。这也是HDL语言设计系统硬件的最突出的优点之一。并且在顶层设计中,要对内部各功能块的连接关系和对外的接口关系进行描述。而功能块实际的逻辑功能和具体的实现形式则由下一层模块来描述。在系统的底层设计中,由于其对系统很强的行为描述能力,可以不必使系统层层细化,从而避开具体的器件结构,从逻辑行为上直接对模块进行描述和设计,随后EDA设计软件或相应的第三方工具软件中的综合器将程序自动综合成为具体FPGA/CPLD等目标芯片的网表文件,这种避开具体器件结构的方式也是它的重要优势之一。

下面以序列检测器的设计为例具体说明。

序列检测器是时序数字电路中非常常见的设计之一。它的主要功能是:将一个指定的序列从数字码流中识别出来。接下来就以设计“01101”这个序列的检测器为例,说明Verilog HDL语言的具体应用。设X为数字码流输入,Z为检出标记输出,高电平表示“发现指定序列”,低电平表示“没有发现指定的序列”。设输入的码流为“001101101111011111...”,则其序列检测器的逻辑功能如表1所示。

在时钟2~6中,码流X里出现指定序列“01101”,对应输出Z在第6个时钟变为高电平“1”,表示发现指定序列“01101”,Z输出“1”。同理在第9个时钟对应输出Z也为“1”。根据这个逻辑功能描述,我们可以分析得出状态转换图(见图1)。

 

 

其中状态A~E表示5位序列“01101”按顺序正确地出现在码流中。因为输入码流X是随机的,因此可能会有很多重叠的情况发生。这样在转换图中相应的还要有状态F和G。设初始状态为IDLE,则有相应的Verilog HDL语言程序如下。

module seqdet(x,z,clk,rst);

input x,clk,rst;

output z;

reg[2:0] state;

wire z;

parameter IDLE=3'd0,

A=3'd1,

B=3'd2,

C=3'd3,

D=3'd4,

E=3'd5,

F=3'd6,

G=3'd7;

assign z=(state==D && x==1)?1:0;

always@(posedge clk or negedge rst)

if(!rst)

begin

state<=IDLE;

end

else

casex(state)

IDLE:if(x==0)

state<=A;

else state<=IDLE;

A:if(x==1)

state<=B;

else state<=A;

B:if(x==1)

state<=C;

else state<=F;

C:if(x==0)

state<=D;

else state<=G;

D:if(x==1)

state<=E;

else state<=A;

E:if(x==1)

state<=C;

else state<=A;

F:if(x==0)

state<=A;

else state<=B;

G:if(x==0)

state<=F;

else state<=G;

default: state<=IDLE;

endcase

endmodule

由上述这个程序可以看出:Verilog HDL程序是由模块构成的。每个模块的内容都是嵌在module和endmodule两个语句之间实现特定的功能的。每个模块都由两部分组成,一部分描述接口;另一部分描述逻辑功能,即定义输入是如何影响输出的。如程序中的sequdet(x,z,clk,rst)就是模块的端口,声明了模块的输入、输出口。接下来就是模块中最重要的部分逻辑功能的定义。在模块中产生逻辑,Verilog HDL语言有3种方法:

(1)用“assign”声明语句。这种方法很简单,只需写一个“assign”,后面再加一个方程式即可。这也是最常用的方法之一。如程序中的assign z==(state==D && x==1)?1:0;就表示状态为D时又收到了1,表明收到“01101”应使Z输出为高电平。

(2)用“always”块。它常被用来描述时序逻辑,上面的程序中即用这个模块完成了状态机的状态转化功能。

(3)采用实例元件的方法。这时只要键入元件的名字和相连的引脚即可。这样就可以用上面这不长的程序,完成这个对序列的检测功能,并且逻辑描述也十分容易理解。

上述程序输入完成后,接下来首先要经EDA设计软件进行编译。本设计采用的是美国ALTERA公司的MAX+PLUSII软件,经Compiler编译器编译,没有任何问题后。建网表、逻辑综合、适配、划分、时域分析、装配等均已自动完成,并生成多个后续工作要用的文件。编译成功表明已为所设计的项目建立了一个编程文件,但还不能说明该文件在各种情况下都有正确的响应,因此编译通过后还要进行功能和时序仿真,仿真结果如图2所示。

 

 

 

 

经仿真发现输出Z和输入X有一段延时。通过波形很难给出定量的信号延时关系,为此我们在进行定时分析。定时分析结果如图3所示,从表中显示出了“CLK”到“Z”的延迟路径为7.6ns、“X”到“Z”的延迟路径为6ns。这样,经Verilog HDL语言的文本编辑、编译、仿真波形编辑、仿真和定时分析一系列设计步骤,设计出符合要求的数字系统后就可以通过编程器下载到指定的芯片中去。

综上所述,则更能体会到Verilog HDL语言的优势:由于它在其门级描述的底层,也就是晶体管开关的描述方面比VHDL等各种其它的HDL语言有更强的功能。所以在复杂数字逻辑电路和系统的设计仿真时更有优势;描述的设计思想、电路结构和逻辑关系清晰明了,并且设计语言简练、易学易用;其模块化分层结构在大规模设计时更能体现出优势。因此可以看出,Verilog HDL语言在EDA设计中相对与其他的各种硬件描述语言更有优势。

3 结束语

随着集成电路规模的越来越大,数字系统设计的越来越复杂,Verilog HDL语言在硬件电路设计的优越性也会越来越显突出。目前,数百万门规模的FPGA/CPLD已进入实用,Verilog HDL强大的系统描述能力、规范的设计结构和简洁、灵活的编程风格会使其必将能会用来完成大数字系统、超大规模数字系统的几乎全部设计任务。

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

加州卡尔弗城2023年8月3日 /美通社/ -- 蜗牛游戏公司(纳斯达克代码:SNAL)("蜗牛游戏"或"公司"),一家全球领先的独立互动数字娱乐开发商和出版商,今日宣布与Wolp...

关键字: TI GE AI STATE

更加智能的农业用喷药机,为农民带来更大收益 伦敦2023年3月14日 /美通社/ -- 凯斯纽荷兰工业集团收购了Augmenta,加速发展创新的“感知与执行”技术...

关键字: 机器视觉 UG STATE FORWARD

上海2023年2月10日 /美通社/ -- 作为全球领先的多元化科技创新企业,3M长期以来致力于为多元化的STEM(科学、技术、工程及数学)人才创造成长的沃土,借助科学的力量携手各界创造更美好的未来。在第八个&...

关键字: SCIENCE BSP INDEX STATE

暴雪与网易的授权协议将于2023年1月23日到期 暴雪部分国服游戏将随即下线 上海2022年11月17日 /美通社/ -- 2022年11月17日,暴雪娱乐今日宣布,其与网易公司现有的授权协议将于2...

关键字: STATE FORWARD BSP FUTURE

"企业数字化运营解决方案" 收入在封城影响下仍然取得同比增长 "企业数字化运营解决方案"收入占比创新高达36% 香港2022年8月...

关键字: ICL CK STATE 数字化

合作将为生物制药公司提供 Guardant Health 系列肿瘤检测产品,以推进临床试验开展和创新药物开发。 中国杭州和新加坡2022年7月6日 /美通社/ -- 中国领...

关键字: HEALTH AN STATE BSP

“验证很多人都清楚,验证技术一直在发展,个人技术成长不进则退。于是采用最新的验证方法和趋势是很多验证牛人趋之若鹜的事情。一旦验证大佬尝试了某个事情,可能很快就会在团队传播起来,这就是偶像效应。这时候,这项技术仿佛就是经过...

关键字: BUG EDA VERILOG 编程语言

来源:射频百花谭规范很重要工作过的朋友肯定知道,公司里是很强调规范的,特别是对于大的设计(无论软件还是硬件),不按照规范走几乎是不可实现的。逻辑设计也是这样:如果不按规范做的话,过一个月后调试时发现有错,回头再看自己写的...

关键字: VERILOG 时钟 计数器 仿真验证

  iic通信协议是什么   IIC协议是二线制,信号线包含SDA和SCL,且信号线是双向的,开路结构,需要通过上拉电阻到VCC,具体的电阻值影响的是信号反应速度和驱动能力。  

关键字: IIC通信协议 SD SE STATE

想象一下,你正在写一个Solidity智能合约,其中一个属性可以被描述为类型或状态。换句话说,来自一组有限的选项。你马上对自己说:“太好了,我只会使用枚举类型来表示这个状态变量。”一方面,这种方

关键字: 智能合约 SOLID STATE STORAGE
关闭