hdl语言在fpga_cpld开发中的应用

上传人:小** 文档编号:89124481 上传时间:2019-05-18 格式:DOC 页数:6 大小:99.50KB
返回 下载 相关 举报
hdl语言在fpga_cpld开发中的应用_第1页
第1页 / 共6页
hdl语言在fpga_cpld开发中的应用_第2页
第2页 / 共6页
hdl语言在fpga_cpld开发中的应用_第3页
第3页 / 共6页
hdl语言在fpga_cpld开发中的应用_第4页
第4页 / 共6页
hdl语言在fpga_cpld开发中的应用_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《hdl语言在fpga_cpld开发中的应用》由会员分享,可在线阅读,更多相关《hdl语言在fpga_cpld开发中的应用(6页珍藏版)》请在金锄头文库上搜索。

1、本文档由 维维大豆 整理提供精品文档整理2011年9月21号Verilog HDL语言在FPGA/CPLD开发中的应用 摘 要:通过设计实例详细介绍了用Verilog HDL语言开发FPGA/CPLD的方法逗号并通过与其他各种输入方式的比较逗号显示出使用Verilog HDL语言的优越性。关键词: Verilog HDL;FPGA/CPLD;EDA 1 引言 近30年来逗号由于微电子学和计算机科学的迅速发展逗号给EDA(电子设计自动化)行业带来了巨大的变化。特别是进入20世纪90年代后逗号电子系统已经从电路板级系统集成发展成为包括ASIC、FPGA和嵌入系统的多种模式。可以说EDA产业已经成为

2、电子信息类产品的支柱产业。EDA之所以能蓬勃发展的关键因素之一就是采用了硬件描述语言(HDL)描述电路系统。就FPGA和CPLD开发而言逗号比较流行的HDL主要有Verilog HDL、VHDL、ABEL-HDL和 AHDL 等逗号其中VHDL和Verilog HDL因适合标准化的发展方向而最终成为IEEE标准。但与VHDL相比逗号Verilog HDL有个最大的优点:它是一种非常容易掌握的硬件描述语言逗号只要有C语言的编程基础逗号一般经过23个月的认真学习和实际操作就能掌握这种设计技术。并且完成同一功能Verilog HDL的程序条数一般仅为VHDL的1/3。而VHDL设计技术则不很直观逗号

3、需要有EDA编程基础逗号通常需要有多余半年的专业培训才能掌握这们技术。可见逗号用Verilog HDL语言有更高的优越性。2 设计实例 通常设计数字电路大都采用自顶向下将系统按功能逐层分割的层次化设计方法逗号这比传统自下向上的EDA设计方法有更明显的优势(当时的主要设计文件是电路图)。因为由自顶向下的设计过程可以看出逗号从总体行为设计开始到最终逻辑综合逗号形成网络表为止。每一步都要进行仿真检查逗号这样有利于尽早发现系统设计中存在的问题逗号从而可以大大缩短系统硬件的设计周期。这也是HDL语言设计系统硬件的最突出的优点之一。并且在顶层设计中,要对内部各功能块的连接关系和对外的接口关系进行描述。而功

4、能块实际的逻辑功能和具体的实现形式则由下一层模块来描述。在系统的底层设计中逗号由于其对系统很强的行为描述能力逗号可以不必使系统层层细化逗号从而避开具体的器件结构逗号从逻辑行为上直接对模块进行描述和设计逗号随后EDA设计软件或相应的第三方工具软件中的综合器将程序自动综合成为具体FPGA/CPLD等目标芯片的网表文件逗号这种避开具体器件结构的方式也是它的重要优势之一。 下面以序列检测器的设计为例具体说明。 序列检测器是时序数字电路中非常常见的设计之一。它的主要功能是:将一个指定的序列从数字码流中识别出来。接下来就以设计“01101”这个序列的检测器为例逗号说明Verilog HDL语言的具体应用。

5、设X为数字码流输入逗号Z为检出标记输出逗号高电平表示“发现指定序列”,低电平表示“没有发现指定的序列”。设输入的码流为“001101101111011111.”,则其序列检测器的逻辑功能如表1所示。 在时钟26中,码流X里出现指定序列“01101”,对应输出Z在第6个时钟变为高电平“1”,表示发现指定序列“01101”逗号Z输出“1”。同理在第9个时钟对应输出Z也为“1”。根据这个逻辑功能描述,我们可以分析得出状态转换图(见图1)。 其中状态AE表示5位序列“”按顺序正确地出现在码流中。因为输入码流X是随机的,因此可能会有很多重叠的情况发生。这样在转换图中相应的还要有状态F和G。设初始状态为I

6、DLE逗号则有相应的Verilog HDL语言程序如下。 module seqdet(x,z,clk,rst); input x,clk,rst; output z; reg2:0 state; wire z; parameter IDLE=3d0, A=3d1, B=3d2, C=3d3, D=3d4, E=3d5, F=3d6, G=3d7; 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

7、) 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 由上

8、述这个程序可以看出:Verilog HDL程序是由模块构成的。每个模块的内容都是嵌在module和endmodule两个语句之间实现特定的功能的。每个模块都由两部分组成,一部分描述接口;另一部分描述逻辑功能逗号即定义输入是如何影响输出的。如程序中的sequdet(x,z,clk,rst)就是模块的端口逗号声明了模块的输入、输出口。接下来就是模块中最重要的部分逻辑功能的定义。在模块中产生逻辑逗号Verilog HDL语言有3种方法:()用“assign”声明语句。这种方法很简单逗号只需写一个“assign”,后面再加一个方程式即可。这也是最常用的方法之一。如程序中的assign z=(state

9、=D & x=1)?1:0;就表示状态为D时又收到了1逗号表明收到“01101”应使Z输出为高电平。()用“always”块。它常被用来描述时序逻辑逗号上面的程序中即用这个模块完成了状态机的状态转化功能。()采用实例元件的方法。这时只要键入元件的名字和相连的引脚即可。这样就可以用上面这不长的程序逗号完成这个对序列的检测功能逗号并且逻辑描述也十分容易理解。上述程序输入完成后,接下来首先要经EDA设计软件进行编译。本设计采用的是美国ALTERA公司的MAX+PLUSII软件,经Compiler编译器编译,没有任何问题后。建网表、逻辑综合、适配、划分、时域分析、装配等均已自动完成,并生成多个后续工作

10、要用的文件。编译成功表明已为所设计的项目建立了一个编程文件,但还不能说明该文件在各种情况下都有正确的响应,因此编译通过后还要进行功能和时序仿真,仿真结果如图2所示。经仿真发现输出Z和输入X有一段延时。通过波形很难给出定量的信号延时关系,为此我们在进行定时分析。定时分析结果如图3所示,从表中显示出了“CLK”到“Z”的延迟路径为7.6ns、“X”到“Z”的延迟路径为6ns。这样,经Verilog HDL语言的文本编辑、编译、仿真波形编辑、仿真和定时分析一系列设计步骤,设计出符合要求的数字系统后就可以通过编程器下载到指定的芯片中去。 综上所述,则更能体会到Verilog HDL语言的优势:由于它在

11、其门级描述的底层,也就是晶体管开关的描述方面比VHDL等各种其它的HDL语言有更强的功能。所以在复杂数字逻辑电路和系统的设计仿真时更有优势;描述的设计思想、电路结构和逻辑关系清晰明了,并且设计语言简练、易学易用;其模块化分层结构在大规模设计时更能体现出优势。因此可以看出逗号Verilog HDL语言在EDA设计中相对与其他的各种硬件描述语言更有优势。 3 结束语 随着集成电路规模的越来越大逗号数字系统设计的越来越复杂逗号Verilog HDL语言在硬件电路设计的优越性也会越来越显突出。目前逗号数百万门规模的FPGA/CPLD已进入实用逗号Verilog HDL强大的系统描述能力、规范的设计结构

12、和简洁、灵活的编程风格会使其必将能会用来完成大数字系统、超大规模数字系统的几乎全部设计任务。 参考文献1 夏宇闻.复杂数字电路与系统的Verilog HDL 设计.北京航空航天大学出版社逗号1998 2 王诚逗号薛小刚逗号钟信潮.FPGA/CPLD设计具XILINX ISE5.X使用详解.北京人民邮电出版 社逗号2003 3 侯伯亨逗号顾新.VHDL硬件描述语言与数字逻 辑电路设计.西安电子科技大学出版社逗号1997 4 夏宇闻.Verilog数字系统设计教程.北京航 天航空大学出版社逗号2003 作者:西南科技大学 彭保 吴坚 于春梅 马建国买 包装机械 及 印染染料 请致电 0317-7723188 刘雨桐

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号