基于FPGA的十进制计数器的设计与实现

2016-05-14 06:44周庆芳
教育界·下旬 2016年7期
关键词:模块设计

周庆芳

【摘 要】本文通过对可编程逻辑器件FPGA的相关基础知识的学习与理论研究,进行十进制加法器的设计,通过仿真测试验证了所做设计功能的正确性,并下载到EDA实验箱进行了在线测试,阐述了可编程逻辑器件的基本设计方法。

【关键词】FPGA 十进制计数器 模块设计

一、FPGA概述

可编程逻辑器件FPGA,是20世纪70年代发展起来的一种新型器件。它的应用不仅简化了电路设计,降低了成本,提高了系统的可靠性,而且给数字系统的设计带来了革命性的变化[1]。FPGA开发采用的是一种高层次设计方法,这是一种“自顶向下”的方法,适应了当今芯片开发的复杂程度提高、上市时间紧迫的特点[2]。

二、模块设计

(一)电源模块

电源模块包括3个开关、7个电压输出插孔。其中交流开关用于打开从220V交流电源接入的内部变压器,为实验箱提供基本工作电源。打开交流开关,电源指示灯PL0亮,实验箱进入待机状态。按钮开关APW1用于打开主板各模块工作电源,按下APW1后,电源指示灯PL1亮,实验箱进入工作状态,为系统提供+5V,+3.3V,+2.5V,+1.8V电源。

(二)通用编程模块

本模块为FPGA/CPLD通用配置/编程模块,可以使用本模块对ALTERA、LATTICE、XILINX等国际著名PLD公司的几乎所有isp器件或FPGA/CPLD器件进行编程下载并且能自动识别目标器件[3]。本模块由并口插座、核心电压跳线选择器、下载接口三部分组成。下载接口用于连接本模块与目标器件的可编程接口。在本实验箱的配置模块、适配板上都有相应的接口,用10芯JTAG下载线将本模块下载接口接配置模块的下载接口,才能实现现场下载或配置。

(三)模式选择模块

本模块采用8位拨码开关,实现硬件资源免连线功能,同时是为了全面开放I/O口而设计的。在不使用实验箱上相应资源而要使用I/O口时,所有拨码开关均拨向下,此时硬件资源相连的I/O口会开放给用户自由使用;当需要使用实验箱上的资源时,将相应的拨码开关拨向上,此时与此硬件资源相连的I/O口即被占用,用户可利用这些资源进行数字系统设计。

(四)LED显示模块

本模块是常用的数字系统输出模块,即用LED的亮与灭观察输出电平的高与低。当模式选择模块拨码开关2、3均拨向上时,LED1-LED16全部有效显示。拨码开关2控制前八个LED,3控制后八个LED。

(五)液晶显示模块

在使用液晶屏做液晶实验时,将液晶屏正确地插在液晶显示模块对应的单排军品插座上。按键NK1用于液晶显示复位,可调电阻NW1用于调节液晶的对比度。

(六)数码管显示模块

本模块是常用的数字系统输出模块。本模块选择共阴数码管,相关知识可查阅模拟电子技术基础书籍。当模式选择模块拨码开关1拨向上时,本模块有效。根据节省I/O口的原则,我们将8个数码管SM1-SM8进行如下连接: SM1-SM8的对应段码接在一起,即SM1-SM8的A段接在一起,以此类推。SM1-SM8的片选接3-8译码器的输出端。因此,本模块共需要控制信號3个,作为3-8译码器输入;数据信号8个,作为数码管段码输入。

(七)扩展功能部分

为了使设计所使用的硬件资源不仅仅局限于实验箱上的固定模块,我们专门设计了扩展功能部分。作为开放性的主要体现,本实验箱用扩展插槽接扩展板的方式实现各种外围硬件资源的扩展。

1.单片机扩展板

本扩展板主要完成单片机与PC机、FPGA/CPLD之间的通信,PS/2键盘控制,VGA显示控制,串口通信等实验内容。

2.数字逻辑学习板

本扩展板主要用于进行数字电路集成芯片的逻辑功能验证和学习,未列入实验项目。将数字集成芯片插于学习板的插槽上,然后可通过实验箱上的资源输入高低电平和时序,观察集成芯片的输出,可用于辅助数字电路教学。系统整体电路如图1所示。

图1 系统整体电路图

三、总结

本文通过基于VHDL硬件描述语言对十进制计数器的设计,充分了解了使用CPLD开发硬件系统的模式。在开发过程中,我们依赖于计算机对硬件系统进行设计,便于修改,在实际设计中摆脱了以往繁多的电路芯片,用一块CPLD芯片就可以完成绝大多数的设计。总之,使用CPLD这样新兴的方式,为硬件系统的开发节约了大量时间。

【参考文献】

[1]幸云辉,杨旭东.计算机组成原理实用教程[M].北京:清华大学出版社,2004.

[2]潘松,黄继业.EDA技术与VHDL[M].北京:清华大学出版社,2005.

[3]潘松.现代DSP技术[M].西安:西安电子科技大学出版社,2005.

猜你喜欢
模块设计
基于小型ERP管理系统
试论HIS系统中病区管理模块的设计以及管理效果
基于J2EE的牛奶销售系统设计与开发
基于企业安全审计系统开发过程的研究
舆情监测系统设计