1、 摘要:本设计采用EDA技术,通过CPLD芯片实现了液晶显示电路的设计,本文采用Verilog 硬件描述语言描述液晶显示电路,完成对电路的功能仿真。显示模块采用有限状态机来进行设计设置了8个状态,其中Idle为空闲状态,主要包括有写命令和写数据来进行显示与传统的设计方式相比,本设计由于采用了CPLD芯片来实现,它将大量的电路功能集成到一个芯片中,并且可以由用户自行设计逻辑功能,提高了系统的集成度和可靠性。关键词:EDA技术、CPLD芯片、硬件描述语言、状态机Abstract: the design USES EDA technology, through the CPLD chip reali
2、zed the liquid crystal display circuit design, the paper Verilog hardware description language describe liquid crystal display circuit and the completion of the function of the circuit simulation. Display module USES a finite state machine to set up eight state design, including for Idle state Idle,
3、 mainly including write command and write data to show and the design of the traditional way, this design compared with CPLD chip to achieve, it will be a lot of circuit function integration to a chip, and can be by the user to design logical function, improve the system integrity and reliability.Ke
4、ywords: EDA technology, CPLD chip, hardware description language, state machine目录1、前言11.1EDA技术的介绍11.2 EDA技术的发展11.3 EDA技术的发展趋势22、总体方案设计32.1设计内容32.2设计方案比较32.3方案论证102.4方案选择113、单元模块设计123.1电源电路123.2时钟电路123.3 复位电路133.4 JTAG下载电路144、特殊器件的介绍144.1 CPLD器件介绍144.2 FPGA器件介绍154.3EPM570T144C5器件介绍155、最小系统原理176、软件实现1
5、87、系统仿真及调试227.1仿真227.2 调试248、总结248.1设计小结248.2设计收获258.3设计改进258.4 致谢259 、参考文献251前言1.1EDA技术的介绍EDA是电子设计自动化(Electronic Design Automation)缩写,是90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。EDA技术是以计算机为工具,根据硬件描述语言HDL( Hardware Description language)完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局布线、仿真以及对于
6、特定目标芯片的适配编译和编程下载等工作。硬件描述语言HDL是相对于一般的计算机软件语言,如:C、PASCAL而言的。HDL语言使用与设计硬件电子系统的计算机语言,它能描述电子系统的逻辑功能、电路结构和连接方式。设计者可利用HDL程序来描述所希望的电路系统,规定器件结构特征和电路的行为方式;然后利用综合器和适配器将此程序编程能控制FPGA和CPLD内部结构,并实现相应逻辑功能的的门级或更底层的结构网表文件或下载文件。目前,就FPGA/CPLD开发来说,比较常用和流行的HDL主要有ABEL-HDL、AHDL和VHDL。 1.2 EDA技术的发展可将EDA技术分为三个阶段。(1)七十年代为CAD阶段
7、,人们开始用计算机辅助进行IC版图编辑、PCB布局布线,取代了手工操作,产生了计算机辅助设计的概念。(2)八十年代为CAE阶段,与CAD相比,除了纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计,这就是计算机辅助工程的概念。CAE的主要功能是:原理图输入,逻辑仿真,电路分析,自动布局布线,PCB后分析。(3)九十年代为ESDA阶段,尽管CAD/CAE技术取得了巨大的成功,但并没有把人从繁重的设计工作中彻底解放出来。在整个设计过程中,自动化和智能化程度还不高,各种EDA软件界面千差万别,学习使用困难,并且互不兼容,直接影响到设计环节间的
8、衔接。基于以上不足,人们开始追求:贯彻整个设计过程的自动化,这就是ESDA即电子系统设计自动化。1.3 EDA技术的发展趋势目前的EDA产业正处在一场大变革的前夕,对更低成本、更低功耗的无止境追求和越来越短的产品上市压力正迫使IC供应商提供采用0.13m或以下的千万门级的系统芯片,而这些系统芯片的高复杂性设计更加依赖于EDA供应商提供全新的设计工具和方法以实现模拟前后端、混合信号和数字电路的完全整合。然而,这些新的需求为当代EDA工具和设计方法带来了不少新的挑战与机会。例如,如何在工艺上防止模拟电路与数字电路之间的干扰;现有的大部份EDA工具最多只能处理百万门级设计规模,随着IC设计向千万门级
9、以上规模发展,现有EDA工具和方法必须进行升级。如何融合各EDA供应商的工具,以便向IC设计界提供更高效能和更方便的RTL-to-GDSII或Conc-ept-to-GDSII整合设计环境;为保证深亚微米(0.13m或以下)和更低内核工作电压(1.8V或以下)时代的信号完整性和设计时序收敛,必须采用新的设计方法。半导体工艺的每一次跃升都促使EDA工具改变自己,以适应工艺的发展;反过来EDA工具的进步又推动设计技术的发展。可以说EDA工具是IC设计产业的背后推手。系统芯片(SOC)正在迅速地进入主流产品的行列。由此引发的“芯片就等于整机”的现象,将对整个电子产业形成重大的冲击。种种迹象表明,整个
10、电子产业正在酝酿着一场深刻的产业重组,这将为许多新兴的企业提供进入这一行业的最佳。 2、总体方案设计2.1设计内容利用CPLD控制字符液晶实现字符的显示。字符液晶由液晶显示器和专用的行,列驱动器,控制器及必要的连接件装配而成,可显示数字和英文字符。设计要求如下: 分析相应的功能要求,分析CPLD与字符液晶HS162的接口典型电路。 利用状态机的设计方法,通过指令编程实现对HS162-4液晶模块的读/写操作,以及屏幕和光标的操作。 编写模块的Verilog HDL语言的设计程序。 在Quartus II软件或其他EDA软件上完成设计和仿真。2.2设计方案比较方案一:由单片机AT89C52来实现字
11、符液晶显示。 图2-1 利用单片机实现液晶显示硬件原理图方案二:采用FPGA 器件实现液晶显示。FPGA主要是指采用四输入查找表(LUT4)的基于SRAM的器件,因为SRAM是挥发的,掉电丢失数据,所以FPGA需要外部配置ROM,上电的时候,从外部的ROM把FPGA的配置数据导入到FPGA芯片内部后工作。具有SRAM的FPGA采用标准的CMOS制造工艺,可以随着最新的工艺而更新还代,给用户带来了实惠;衡量FPGA容量的一个基本指标是逻辑单元(Logic cell或者Logic element),由一个可编程得LUT4和一个可编程的DFF组成,LUT4完成组合逻辑功能,而DFF用来实现时序功能。
12、FPGA的容量从几千的逻辑单元到几十万的逻辑单元不等。如Altera的Cyclone/II/III和Stratix/II/II系列芯片,Xilinx Spartan3/3E/3A/3AN和Virtex4/5系列芯片都是FPGA器件。在编程上FPGA比CPLD具有更大的灵活性。CPL通过修改具有固定内连电路的逻辑功能来编程,主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。方案三:基于复杂可编程逻辑器件CPLD,通过EDA技术,采用VerilogHDL硬件描述语言实现液晶显示。其总体设计思想如下:液晶显示器件(LCD)是一种平板薄型显示器件,它的驱动电压很低
13、、工作电流极小。它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,它由32个5*8点阵字符位组成,每一个点阵字符位都可以显示一个字符,但是它不能显示图形。模块内部自带有160个5*8点阵字型的字符发生器CHROM和8个可由用户自定义的5*8的字符发生器CGRAM。本次设计原理图如下:D0-D7为传给液晶的数据(可能为显示数字或控制液晶指令),RS用于控制将D0-D7的数据写入指令寄存器还是数据寄存器,RW为读写控制信号,E为使能信号。电位器调节液晶的对比度,以到最佳显示效果。 图2-2 CPLD与字符液晶HS162的接口典型电路显示模块采用有限状态机来进行设计。设置了8个状态,其中Idl
14、e为空闲状态,主要包括有写命令和写数据来进行显示。应该注意的是,液晶是慢速的设备,每次操作之前都应该通过其状态寄存器来判断其是否处于忙的状态,在本次设计我们才操作一次等待较长的时间所以没有进行忙的检测。HS162-4液晶模块的读写操作、屏幕和光标的操作都是通过指令变成来实现的,为了方便控制,可以采用状态机进行设计,在设计中采用8个状态:SETFUNCTIONSWITCHMODESETCGRAMCLEARIDLEWRITERAMSHIFTRETURNCURSOR图2-3字符液晶控制器状态图其中,“IDLE”表示空闲状态,“SETCGRAM”是CGRAM状态,“SETFUNCTION”是工作方式设
15、置状态,“SWITCHMODE”表示输入方式设置状态,“RETURNCURSOR”表示光标归位状态,“SHIFT”表示字符移位状态,“WRITERAM”是写RAM状态。图2.4 HS162液晶控制指令 在使用CPLD实现液晶显示中,对使用的元器件方面所作的比较:电源部分 5V电源设计 方案一:采用三端稳压集成器件CJ7805,优点是电路简单,输入电压范围宽,稳压效果良好,输出电流大,电源纹波小,但是效率太低,发热严重,试用于电压要求不是很精确的,纹波要求也不是很高的电路。其典型应用如下所示:方案二:采用开关电源器件LM2576,优点是效率很高,一般都能达到85%以上,输入电压范围大,输出电流大
16、,但是电源纹波受PCB布线和滤波影响大,很难做到很小,外围器件比较多,在工业设计中容易增加成本。其典型应用如下所示:经过比较,本次设计对电源效率和电源纹波要求不是很高,由于方案一应用电路结构简单,因此采用方案一。3.3V电源设计方案一:采用LM1117-3.3稳压芯片进行设计,设计电路简单,纹波比较小,但是输出功率有限。其典型应用如下所示:方案二:采用HT73XX系列的3.3V伏稳压芯片,输入端最高可达12V,内置基准源,稳压效果好,功耗低。其典型电路如图:经过比较,由于LM1117-3.3是一种比较常用的3.3v稳压器件,容易购买,价格也比HT733.3便宜。因此,选择方案一。CLPD和LC
17、D1602接口电路本次设计采用CPLD和LCD1602直接相连,中间不加任何缓冲器件或者控制器件。其结构图如下所示:JTAG下载编程电路设计JTAG是英文“Joint Test Action Group(联合测试行为组织)”的词头字母的简写,该组织成立于1985年,是由几家主要的电子制造商发起制订的PCB 和IC 测试标准。JTAG 建议于1990年被IEEE 批准为IEEE1149.1-1990 测试访问端口和边界扫描结构标准。该标准规定了进行边界扫描所需要的硬件和软件。自从1990 年批准后,IEEE 分别于1993 年和1995 年对该标准作了补充,形成了现在使用的IEEE1149.1a
18、-1993 和IEEE1149.1b-1994。JTAG 主要应用于:电路的边界扫描测试和可编程芯片的在线系统编程。标准的 JTAG 接口是 4 线: TMS 、 TCK 、 TDI 、 TDO ,分别为测试模式选择、测试时钟、测试数据输入和测试数据输出。 JTAG 测试允许多个器件通过 JTAG 接口串联在一起,形成一个 JTAG 链,能实现对各个器件分别测试。 JTAG 接口还常用于实现 ISP ( In-System Programmable 在系统编程)功能,如对 FLASH器件进行编程等。通过 JTAG 接口,可对芯片内部的所有部件进行访问,因而是开发调试嵌入式系统的一种简洁高效的手
19、段。目前 JTAG 接口的连接有两种标准,即 14 针接口和 20 针接口。其典型连接如图所示:(其中JTAG_TCK, JTAGTDO, JTAG_TMS JTAG_TDI分别对应接CPLD相应的管脚)。JTAG下载编程电路设计程序下载器设计 方案一:BetyblasterII下载器,采用并口下载,电路设计简单,能实现CPLD的编程下载功能,但是不适合没有并口电脑。其原理图如下所示:方案一:USB_blaster 下载器,采用通用的USB进行程序的下载,使用起来非常的方便,但是设计的时候比较复杂,外围电路也特别多,还需要编写USB驱动程序和内置芯片数据传输程序,难度较大。其设计典型电路如下:
20、USB接口电路接口芯片设计经比较,本次设计是采用CPLD进行设计,方案一结构简单,方便容易实现,因此,选择方案一。2.3方案论证通过方案一二三的比较,可以看出方案一的设计使用分立元件电路较为多,因此会增加电路调试难度,且电路的不稳定性也会随之增加,而采用CPLD芯片实现的电路,由于在整体性上较好,在信号的处理和整个系统的控制中,CPLD的方案能大大缩减电路的体积,提高电路的稳定性。此外其先进的开发工具使整个系统的设计调试周期大大缩短,一般来讲,同样的逻辑,基于FPGA要比基于单片机要快很多,因为它们工作的原理是完全不同的。单片机是基于指令工作的,同样的激励到达单片机后,单片机首先要判断,然后读
21、取相应的指令,最后作出相应,这每一步都是需要在单片机的时钟驱动下一步步的进行。而基于FPGA则是把相应的逻辑“暂时”固化为硬件电路了,它对激励作出的响应速度就是电信号从FPGA的一个管脚传播另一个管脚的传播速度,当然这指的是异步逻辑,同时电信号也要在芯片内进行一些栅电容的充放电动作,但这些动作都是非常非常快的。本次设计不是很复杂,也不需要大量LE,但CPLD比FPGA更加适合编程调试,FPGA的价格也是CPLD倍数。2.4方案选择在现代SOC技术的引领下,人们对低故障、高实时、高可靠、高稳定的性能更加青睐,结合本设计的要求及综合以上比较的情况,我们选择了基于CPLD的液晶显示方案。2.5 字符
22、液晶HS162说明用FPGA/CPLD实现HS162字符液晶显示,具体内容可以参考教材数字系统设计与Verilog HDL(第三版)P269相关内容。HS162可以显示两行共32个字符(一行可显示16个字符)。每个字符由57、58或511的一组像素点阵排列构成,每个字符间有一个点宽的间隔,每行间也有一行的间隔。图2-5 HS162外形图图2-6 HS162接口说明3、单元模块设计本设计由CPLD作为控制芯片,通过VreilogHDL硬件描述语言设计,运用自顶而下的设计思想,按功能逐层分割实现层次化的设计。下面介绍主要模块的功能及作用。3.1电源电路图3-1 5V电源电路图3-2 3.3V电源电
23、路3.2时钟电路一般常用的CPLD中常用的振荡器有石英晶体振荡器和有源晶振。本次设计才用MAXII的EPM570T144C5进行设计,由于设计芯片中没有PLL,所以要想实现高速设计,必须采用高频时钟源,因此只有采用有源晶振才能得到可靠的时钟源。本次设计中采用了,两个时钟源,一个作为平常使用,另外一个作为备用时钟源。时钟电路如下图所示:图3-3晶振电路3.3 复位电路为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为5V5%,即4.755.25V。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当
24、VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。微机电路在工作中受到干扰后,容易出现CPU程序“跑飞”而盲目运行甚至出现死机现象。此时复位信号有效,使微机系统重新恢复正常运行。这种监视CPU运行的电路称为WATCHDOG电路。图3-3 复位电路3.4 JTAG下载电路 图 3-4 JTAG下载电路4、特殊器件的介绍4.1 CPLD器件介绍CPLD是Complex Programmable Logic Device的缩写,它是有最早的PLD器件发展形成的高密度可编程逻辑器件,它具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设
25、计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特点。 CPLD是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。许多公司都开发出了CPLD可编程逻辑器件。比较典型的就是Altera、Lattice、Xilinx世界三大权威公司的产品。如 Altera公司的MAXII器件,就是其极具代表性的一类CPLD器件,是有史以来功耗最低、成本最低的CPLD。MAX II CPLD基于突破性的体系结构,在所有
26、CPLD系列中,其单位I/O引脚的功耗和成本都是最低的。 Altera公司的MAX7000A系列器件是高密度、高性能的EPLD,它是基于第二代MAX结构,采用CMOS EPROM工艺制造的。该系列的器件具有一定得典型性,其他结构都与此结构非常的类似。它包括逻辑阵列块、宏单元、扩展乘积项、可编程连线阵列和IO控制部分。由于大多数CPLD是基于乘积项的“与或”结构,故适合设计组合逻辑电路。4.2 FPGA器件介绍FPGA(FieldProgrammable Gate Array)可以达到比PLD更高的集成度,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展起来的,具有更复杂的布线结构和
27、逻辑实现。PLD器件和FPGA的主要区别在于PLD是通过修改具有固定内连电路得逻辑功能来进行编程,而FPGA是通过修改一根或多根分割宏单元的基本功能块的内连线的布线来进行编程。它一般由可嵌入式阵列块(EAB)、逻辑阵列块(LAB)、快速互联通道(Fast Track)、IO单元(IOE)组成。Altera Cyclone II 采用全铜层、低K值、1.2伏SRAM工艺设计,裸片尺寸被尽可能最小的优化。采用300毫米晶圆,以TSMC成功的90nm工艺技术为基础,Cyclone II 器件提供了4,608到68,416个逻辑单元(LE),并具有一整套最佳的功能,包括嵌入式18比特x18比特乘法器、
28、专用外部存储器接口电路、4kbit嵌入式存储器块、锁相环(PLL)和高速差分I/O能力。Cyclone II 器件扩展了FPGA在成本敏感性、大批量应用领域的影响力,延续了第一代Cyclone器件系列的成功。由于FPGA是基于查找表(LUT)结构的器件,且每个LAB由10个LE组成,一个LE由LUT和寄存器组成,适合于时序逻辑电路的设计。4.3EPM570T144C5器件介绍EPM570T144C5器件是Altera公司在2000推出的2.5V低价格SRAM工艺FPGA结构与10KE类似,带嵌入式存储块(EAB),部分型号带PLL,主要有1K10、1K30、1K50、1K100等型号。EP1K
29、30TC144器件中,EP1K表示器件类型,30表示器件内有30K个逻辑门,T代表封装类型,C表示用途为商用,144表示管脚数为144。其引脚图如图4-3所示 图4-3 EP1K30TC5、最小系统原理图51电路原理图本设计的电路实现是基于CPLD最小系统原理图,再配以所需的外设。最小系统设计包含了时钟产生电路模块、程序下载配置电路模块、电源电路模块,通过连线将各个模块进行连接成最小系统。由于本设计电路比较简单,外设比较少,使用到的四个独立键盘,模拟实现信号输入,六个LED灯模拟实现信号状态指示。我们队外设也作了扩展准备,将CPLD芯片的IO引脚进行了插针引出,以方便后续电路的扩展。将外设与最
30、小系统进行合理正确连接,即可实现本设计的电路原理要求。6、软件实现6.1字符液晶控制器状态图显示模块采用有限状态机来进行设计。设置了8个状态,其中Idle为空闲状态,主要包括有写命令和写数据来进行显示。应该注意的是,液晶是慢速的设备,每次操作之前都应该通过其状态寄存器来判断其是否处于忙的状态,在本次设计我们才操作一次等待较长的时间所以没有进行忙的检测。HS162-4液晶模块的读写操作、屏幕和光标的操作都是通过指令变成来实现的,为了方便控制,可以采用状态机进行设计,在设计中采用8个状态:SETFUNCTIONSWITCHMODESETCGRAMCLEARIDLEWRITERAMSHIFTRETU
31、RNCURSOR图6-1字符液晶控制器状态图其中,“IDLE”表示空闲状态,“SETCGRAM”是CGRAM状态,“SETFUNCTION”是工作方式设置状态,“SWITCHMODE”表示输入方式设置状态,“RETURNCURSOR”表示光标归位状态,“SHIFT”表示字符移位状态,“WRITERAM”是写RAM状态。6.2程序设计部分:module lcd_HS162(clk,rst,lcd_e,lcd_rw,lcd_rs,data);input clk,rst;output lcd_e,lcd_rw,lcd_rs; reg lcd_rw,lcd_rs;output7:0 data;reg7
32、:0 data; reg10:0 state; reg6:0 count;reg255:0 data_in_buf;reg flag,clk4Hz;reg23:0 cnt; reg5:0 disp_count;parameter IDLE=8b00000000;parameter CLEAR=8b00000001;/清屏parameter SETCGRAM=8b00000010;/设置CGRAMparameter SETFUNCTION=8b00000100;/工作方式设置 1:8/1:4位数据接口;两行/一行显示;510/57点阵parameter SWITCHMODE=8b00001000
33、;/显示状态设置,显示开/关;光标开/关;闪烁开/关parameter SETMODE=8b00010000;/输入方式设置,读写数据后ram地址增/减1;画面动/不动parameter RETURNCURSOR=8b00100000;/归home位parameter SHIFT=8b01000000;parameter WRITERAM=8b10000000;/写RAMparameter cur_inc =1;parameter cur_dec =0;parameter cur_shift =1;parameter cur_noshift =0;parameter open_display
34、=1;parameter open_cur =0;parameter blank_cur =0;parameter shift_display=1;parameter shift_cur =0;parameter right_shift =1;parameter left_shift =0;parameter datawidth8 =1;parameter datawidth4 =0;parameter twoline =1;parameter oneline =0;parameter font5x10 =1;parameter font5x7 =0;parameter data_in= On
35、e World One Dream ;/* 定义液晶上显示的字符内容,注意空格也算为字符,总共两行32个字符;只需更改双引号内的字符即可实现显示字符的改变 */always(posedge clk)/由50MHz时钟分频得到4Hz时钟beginif(cnt=23h5F5E10) begin cnt=0;clk4Hz=clk4Hz;endelse cnt=cnt+1;endassign lcd_e=clk4Hz;always (posedge clk4Hz or negedge rst)if(!rst) beginstate=CLEAR;flag=0;data_in_buf=data_in;di
36、sp_count=6b0;endelse begin case(state)IDLE: beginstate=IDLE; endCLEAR:begin lcd_rs=0;lcd_rw=0;data=8b0000_0001;state=SETCGRAM; endSETCGRAM: beginlcd_rs=0;lcd_rw=0;data=8b10000000;state=SETFUNCTION;endSETFUNCTION: begin/工作方式设置lcd_rs=0;lcd_rw=0;data7:5=3b001;data4=datawidth8;data3=twoline;data2=font5x
37、10;data1:0=2b00;state=SWITCHMODE;endSWITCHMODE: begin/显示状态设置lcd_rs=0;lcd_rw=0;data7:3=5b00001;data2=open_display;data1=open_cur;data0=blank_cur;state=SETMODE;endSETMODE: begin/输入方式设置lcd_rs=0;lcd_rw=0;data7:2=6b000001;data1=cur_inc;data0=cur_noshift;state=WRITERAM;endRETURNCURSOR: beginlcd_rs=0;lcd_r
38、w=0;data=8b00000010;state=WRITERAM;endSHIFT: beginlcd_rs=1;lcd_rw=0;data=data_in_buf255:248;data_in_buf = (data_in_buf 8);disp_count = disp_count + 1b1;state=WRITERAM;endWRITERAM: beginlcd_rs=1;lcd_rw=0;if(disp_count = 32) begindisp_count = 4b0; data_in_buf=data_in;state =CLEAR;endelse if(disp_count
39、=16)beginlcd_rs=0;lcd_rw=0;data=8b11000000;state=SHIFT; endelse begindata=data_in_buf255:248;data_in_buf = (data_in_buf 8); disp_count = disp_count + 1b1;state = WRITERAM; endendendcaseendendmodule7、系统仿真及调试7.1仿真通过QuartusII软件,我们进行了仿真,其仿真波形如下图:图7-1波形仿真图7.2 调试在QuartusII软件中,通过对所设计的硬件描述语言代码进行波形仿真后,达到了预期效
40、果,于是,我们在该软件上进行下载配置设置。在Assignments菜单下选中Devices,在Family栏选择ACEX1K,选中EP1K30TC144-2器件。再在Assignments菜单下选中Pins按照相应要求对管脚进行锁定。最后在Tools菜单下,选中Programmer,对配置方式进行设置,这里选择Passive Seril(PS)被动串行模式。选择好要下载的硬件设备后点击Start即可开始编程下载了。调试过程为在线调试。在通过调试中,我们发现了很多问题,现归纳如下:(1) 在软件上能实现仿真的程序不一定在硬件电路上就能运行,原因有很多,这里是由于电路中的时钟频率太快,若不增加一个
41、分频电路,灯闪烁时间太快,肉眼无法观察,故设计了一个40MHZ到4HZ的分频电路。(2) 调试中的实际问题需要考虑,人同时按多个键的同步性,不能达到时钟的精度,比如模拟键盘的输入状态是高电平有效,我们设计的结构是按键按下为低,这是若要实现该电路的控制就需要同时按下2个键,为了使输入状态实现只需按下一个键的按键控制,需要对按键逻辑取反。(3) 考虑到汽车行驶时,所有可能出现的状态。若同时发生几个事件,我们需要优先响应的事件是什么。通过分析我们知道,刹车的优先级应为最高,左右转弯的优先级次之,正常行驶的优先级最低,故我们还需要对优先级做出设定。在电路设计中则是利用带优先级的IF语句来控制输入信号即
42、可。(4) 由于分频的运算很大,故增加分频电路后,在QuartusII软件中则不能进行正确的仿真,可以直接将程序下载到电路板上去调试。8、总结8.1设计小结在本次设计中,我们完成本系统设计的要求及功能。在设计开始前我们对各个模块进行了详细的分析和设计准备工作,设计过程中,我们相互协调,积极参与完成各个技术实现的难点。8.2设计收获通过本次设计,我们在对EDA这门技术上有了更深刻的认识,也从实践的例子中去感受到了EDA设计给我们设计带来的改变与进步。我们不仅掌握QuartusII软件的使用,与此同时,我们还对电子设计的思路有了更多的认识。通过对EDA设计中的TOP-DOWN设计方式的运用,体会到
43、了对于一个大型系统的设计方案选取应从顶向下的设计思路,这与传统的至底向上的设计方式有很大改进,且设计效率得到大大提高。8.3设计改进由于时间仓促和我们自身水平有限,本设计在功能上也只是完成了一些基本功能,对于电路的可靠性,稳定性等参数还未做过详细的测试。8.4 致谢在老师们的辛勤指导下,我们小组同学积极讨论和思考,完成本此课程设计,此次设计,使我们受益匪浅。在此我要感谢电气信息学院提供这次课程设计的机会;感谢电气信息学院各位老师的帮助。在这里我要特别感谢阳小明老师,在我们的设计过程中,至始至终都得到了阳小明老师的悉心指导,我们的设计才得以顺利完成。9 、参考文献1 王金明编. 数字系统设计与V erilog HDLM. 电子工业出版社. 2009年2 杨恒等编.FPGA/CPLD最新实用技术指南M.清华大学出版社.2005年3 黄正瑾等编.CPLD系统设计技术入门与应用M.电子工业出版社.2002年4 J.Bhasker . Verilog HDL 硬件描述语言M .机械工业出版社.2000年 5 陈赜主编CPLD/FPGA与ASIC设计实践教程M.科学出版社. 2005年25
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。
Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1
陕公网安备 61072602000132号 违法和不良信息举报:0916-4228922