基于可编程逻辑器件的数字电路设计

时间:2022-05-21 08:11:23

基于可编程逻辑器件的数字电路设计

摘 要:可编程逻辑器件的出现,使得传统的数字系统设计方法发生了根本的改变,所以有必要介绍一下基于可编程逻辑器件的数字电路设计方法。以计数器的实现方法作为实例,介绍了采用原理图和硬件描述语言两种方法作为输入,实现计数器的方法,并描述了编译仿真的方法,给出了对应的仿真结果。采用熟悉的器件为例,使基于可编程逻辑器件的数字电路设计方法更容易理解掌握。

关键词:可编程器件;计数器;数字电路;VHDL

中图分类号:TN47文献标识码:A

文章编号:1004-373X(2009)19-189-02

Design of Digital Circuit Based on Programmable Logic Devices

LIU Caihong,CHEN Xiuping

(Northwest Minorities University,Lanzhou,730030,China)

Abstract:The traditional design method of digital systems has fundamentally changed because of the emergence of programmable logic devices,it is necessary to introduce the design of digital circuit based on the programmable logic device.The realization methods of counter as examples,described two ways to achieve counter by schematic and hardware description language as input methods.The method of compiled simulation was described,and given the simulation results.The design of digital circuit based on the programmable logic device easier to understand and grasp by the use of familiar device.

Keywords:programmable logic devices;counter;digital circuit;VHDL

0 引 言

可编程逻辑器件PLD(Programmable Logic Device)是一种数字电路,它可以由用户来进行编程和进行配置,利用它可以解决不同的逻辑设计问题。PLD由基本逻辑门电路、触发器以及内部连接电路构成,利用软件和硬件(编程器)可以对其进行编程,从而实现特定的逻辑功能。可编程逻辑器件自20世纪70年代初期以来经历了从PROM,PLA,PAL,GAL到CPLD和FPGA的发展过程,在结构、工艺、集成度、功能、速度和灵活性方面都有很大的改进和提高[1]。

随着数字集成电路的不断更新和换代,特别是可编程逻辑器件的出现,使得传统的数字系统设计方法发生了根本的改变[2]。可编程逻辑器件的灵活性使得硬件系统设计师在实验室里用一台计算机、一套相应的EDA软件和可编程逻辑芯片就可以完成数字系统设计与生产[3]。

1 Max+plus Ⅱ简介

Max+plus Ⅱ是一种与结构无关的全集成化设计环境,使设计者能对Altera的各种CPLD系列方便地进行设计输入、快速处理和器件编程。Max+plus Ⅱ开发系统具有强大的处理能力和高度的灵活性,其主要优点:与结构无关、多平台、丰富的设计库、开放的界面、全集成化、支持多种硬件描述语言(HDL)等。

数字系统的设计采用自顶向下、由粗到细,逐步分解的设计方法,最顶层电路是指系统的整体要求,最下层是具体的逻辑电路的实现。自顶向下的设计方法将一个复杂的系统逐渐分解成若干功能模块,从而进行设计描述,并且应用EDA 软件平台自动完成各功能模块的逻辑综合与优化,门级电路的布局,再下载到硬件中实现设计[4],具体设计过程如下。

1.1 设计输入

Max+plus Ⅱ支持多种设计输入方式,如原理图输入、波形输入、文本输入和它们的混合输入。

1.2 设计处理

设计输入完后,用Max+plus Ⅱ的编译器编译、查错、修改直到设计输入正确,同时将对输入文件进行逻辑简化、优化,最后生成一个编程文件,这是设计的核心环节。

1.3 设计检查

Max+plus Ⅱ为设计者提供完善的检查方法设计仿真和定时分析,其目的是检验电路的逻辑功能是否正确,同时测试目标器件在最差情况下的时延,这一查错过程对于检验组合逻辑电路的竞争冒险和时序逻辑电路的时序、时延等至关重要。

1.4 器件编程

当电路设计、校验之后,Max+plus Ⅱ的Programmer 将编译器所生成的编译文件下载到具体的CPLD器件中,即实现目标器件的物理编程[5]。

2 以计数器为例介绍具体的设计方法

计数器是非常常用的时序逻辑电路。计数器类型有多种,实现计数器的方法也有很多。可以买到大部分类型的中规模集成的计数器直接使用,也可以用触发器搭建符合要求的计数器。但是采用以上方法实现的计数器灵活性不够,不能随时进行修改,通用性差。这里介绍基于可编程逻辑器件的实现方法。

2.1 设计输入

采用原理图输入的思维方式比较适合一直采用传统设计方法人的使用。原理图输入如图1所示。

图1 原理输入图

采用硬件描述语言输入的方法对于没有传统设计方法经验的人更容易入门,修改起来也更方便。给出了一个可逆计数器的实现实例[6],程序的核心部分如下[7]:

PROCESS (clk)

VARIABLE cnt:INTEGER RANGE 0 TO 255;

VARIABLE direction:INTEGER;

BEGIN

IF(updown=′1′)THEN

direction:=1;

ELSE

direction:=-1;

END IF;

IF(clk′EVENT AND clk=′1′)THEN

cnt:=cnt+direction;

END IF;

qd

end process;

2.2 设计处理

原理图或程序完成之后,选择好器件并进行引脚定义,然后编译优化得到编程文件的界面如图2所示[8]。

2.3 设计检查

编译结束后,建立波形文件进行仿真,注意波形文件需要先保存,保存文件名和源文件一致才能进行仿真[9]。结果如图3所示。

图2 编译优化得到编程文件的界面

图3 仿真结果

仿真结果达到设计目的,符合设计要求。这时可以把编译生成的*.pof文件下载到选定的器件使用。用以上方法实现的器件,修改起来非常方便,只需要修改程序重新编译下载即可,任何类型的计数器都可以在可编程逻辑器件实现。

3 结 语

随着电子技术的高速发展,CPLD 和FPGA 器件在集成度、功能和性能(速度及可靠性)方面已经能够满足大多数场合的使用要求。用CPLD,FPGA等大规模可编程逻辑器件取代传统的标准集成电路、接口电路和专用集成电路已成为技术发展的必然趋势。

可编程逻辑器件是逻辑器件家族中发展最快的一类器件,它出现使得产品开发周期缩短、现场灵活性好、开发风险变小,随着工艺、技术及市场的不断发展,PLD产品的价格将越来越便宜、集成度越来越高、速度越来越快,再加上其设计开发采用符合国际标准的、功能强大的通用性EDA工具,可编程逻辑器件的应用前景将愈来愈广阔[10]。

参考文献

[1]徐伟业,江冰,虔湘宾.CPLD/FPGA的发展与应用之比较[J].现代电子技术,2007,30(2):4-7.

[2]郑宝华.基于CPLD的大屏幕扫描电路设计[J].现代电子技术,2008,31(24):17-19.

[3]赵延,葛利嘉,双涛.基于FPGA的UART设计实现及其验证方法[J].现代电子技术,2008,31(17):162-164.

[4]王淑文.基于CPLD的数字系统设计[J].现代电子技术,2007,30(12):184-186.

[5]杨晖,张凤言.大规模可编程逻辑器件与数字系统设计[M].北京:北京航空航天大学出版社,2001.

[6]潘松.VHLD 实用教程[M].西安:西安电子科技大学出版社,2000.

[7]宋万杰.CPLD技术及其应用[M].西安:西安电子科技大学出版社,2000.

[8]林明权.VHDL数字控制系统设计范例[M].北京:电子工业出版社,2003.

[9]曾繁泰,陈美金.VHDL程序设计[M].北京:清华大学出版社,2000.

[10]田开坤,徐海霞.基于CPLD的单片机接口设计[J].现代电子技术,2008,31(2):34-36.

上一篇:基准振荡器相位噪声对载波锁相环的影响 下一篇:实时视频采集系统的SDRAM控制器设计