1、基于 FPGA 的停车场停车位显示系统设计 I 基于 FPGA 的 停车 场停车位显示系统设计 摘 要 : 停车场车位显示的设计这个课题是非常实用的一个设计,与生活应用息息相关。课题是一个基于 FPGA 1010 点停车场车位显示的设计,设计采用硬件描述语言。 要用传感器检测车位信息,并设计转换电路。此设计的突破口是传感器,它是设计的起始 端 。分析综合传感器的性能特点,最终选用的是红外反射光电传感器。在程序设计方面,总共用到两个模块:分组模块,显示模块。 在设计中选用 Altera 公司的 FLEX10K 系列的EP1K100FC484-1 作为主芯 片,所有的设计在 EDA 软件开发平台
2、MAX+PLUS上利用硬件描述语言 VHDL 进行设计编程。 关键词 : FPGA; 位 置传感器 ; VHDL 基于 FPGA 的停车场停车位显示系统设计 II Design of Car Parking Spaces Display System Based on FPGA Abstract: The design of car parking spaces display system based on FPGA is a very practical Subject, and close to our lives. This subject is the design of a 10
3、times 10 parking spaces display based on the FPGA in VHDL. We use position sensor to detect the parking spaces. And we should draw out the circuit of position sensor. This design in sensor is the breakthrough, which is designed to start off. Analyzing the characteristics and function of sensors, ref
4、lection photoelectric sensor is the ultimate choice. In the process of the design, including two modules: packet module and display modules. In the design choosing the company of altera FLEX10K series of EP1K100FC484-1 as the main chip, all of the design use hardware description language VHDL on EDA
5、 MAX + PLUS platform. Key words: FPGA,; position sensors; VHDL 基于 FPGA 的停车场停车位显示系统设计 1 第 1 章 绪论 1.1 课题研究的背景 FPGA 是 20 世纪 90 年代发展起来的大规模可编程逻辑器件,随着 EDA( 电子设计自动化)技术和微电子技术的进步, FPGA 的时钟延迟可达到 ns 级,结合其并行工作方式,在超高速、实时测控方面有非常广阔的应用前景。 当今电子系统数字化已成为有目共睹的趋势。从传统的应用中小规模芯片构成电路系统到广泛地应用单片机 ,直至今天 FPGA/CPLD 在系统设计中的应用 ,电子
6、设计技术已迈入了一个全新的阶段。 FPGA/CPLD 不仅具有容量大、逻辑功能强的特点 ,而且兼有高速、高可靠性。同时使得硬件的设计可以如软件设计一样方便快捷 ,使电子设计的技术操作和系统构成在整体上发生了质的飞跃。采用 FPGA/CPLD 可编程器件 ,可利用计算机软件的方式对目标器件进行设计 ,而以硬件的形式实现既定的系统功能。在设计过程中 ,可根据需要随时改变器件的内部逻辑功能和管脚的信号方式 ,借助于大规模集成的 FPGA/CPLD 和高效的设计软件 ,用户不仅可通过直接对芯片结构的设计实行多种数字逻辑系统功能 ,而且由于管脚定义的灵活性 ,大大减轻了电路图设计和电路板设计的工作量及难
7、度 ,同时 ,这种基于可编程芯片的设计大大减少了系统芯片的数量 ,缩小了系统的体积 ,提高了系统的可靠性。 1.2 EDA 技术 的主要内容及发展趋势 EDA 是 Electronic Design Automation(电子设计自动化 )的缩写。 EDA 技术就是以微电子技术为物理层面,现代电子设计技术为灵魂,计算机软件技术为手段,最终形成集成电子系统或专用集成电路 ASIC( Application Specific Integrated Circuit)为目的的一门新兴技术。 利用 EDA 技术进行电路设计的大部分工作是在 EDA 软件工作平台上进行的, EDA设计流程如图 1.1 所示
8、。 EDA 设计流程包括设计准备、设计输入、设计处理、器件编辑和设计完成 5 个步骤,以及相应的功能仿真、时序仿真和器件测试 3 个设 计验证过程。 EDA 技术的设计大致 可分为系统级设计、电路级设计和物理实现级设计。物理 实现 级设计主要是指 IC 版图设计,一般由半导体厂家完成。 EDA 的发展趋势是与工艺无关的系统设计,即高层设计,使设计与制作分开,这里只论述 电路级 设计和系统级设计。 基于 FPGA 的停车场停车位显示系统设计 2 图 1.1EDA 设计流程 ( 1) 电路级设计 电路级设计主要指 设计师根据设计任务 , 首先要查阅芯片和元器件手册 , 选择合适的器件来实现系统的功
9、能 , 然后根据芯片和元器件的性能设计电路图 , 制作 PCB板 , 用示波器和信号源 对系统进行调试。电路级 EDA设计流程如图 1.2所示。 电路级 EDA技术向设计师提供了仿真 , 后分析以及后仿真的功能,使设计师在微机或工作站上就可以进行逻辑功能的仿真以检验方案在功能设计方面的可行性。由此可见,电路 EDA技术可使设计师在系统还没有制作之前就可全面了解系统的功能及 PCB板的各种性能参数,比传统的设计方法大大提高了一步。 ( 2) 系统级设计 系统级设计是设计人员无须通过门级原理图描述电路,而是针对设计目标进行功能描述,由于摆脱了电路细节的束缚,设计人员可以把精力集中于创造性的方案与概
10、念构思上,一旦这些概 念构思以高层次描述的形式输入计算机后, EDA系统就能够以规则驱 动的方式自动完成整个设计,从而大大缩短了产品的研制周期。而且高层次设计只是定义系统的行为特性,可以不涉及实现工艺,在厂家综合库的支持下,利用综合优化工具可以将高层次描述转换成针对某种工艺优化的网表,工艺转化变得轻松容易。 设计准备 设计输入 设计处理 器件编辑 设计完成 功能仿真 时序仿真 器件测试 基于 FPGA 的停车场停车位显示系统设计 3 图 1.2EDA 电路 设计 工作 流程 系统级设计采用的是自顶向下的正向设计思想。设计人员按照 “ 自顶向下 ” 的设计方法,对整个系统进行方案设计和功能划分,
11、系统的关键电路用一片或几 片专用集成电路 (ASIC)实现,然后采用硬件描述语言 (VHDL)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件 , 其设计流程如图 1.3所示 。 系统设计 设计电路图 系统仿真 模拟仿真 布局布线 后分析 制作 PCB 系统实现 混合 仿真 数字 仿真 芯片元件库 仿真模型库 可靠性分析 串行干扰分析 热分析 电磁兼容分析 基于 FPGA 的停车场停车位显示系统设计 4 图 1.3EDA系统设计工作流程 1.2.1 EDA 技术的主要内容 EDA 技术涉及面广,内容丰富,从教学和使用的角度看,主要应掌握如下 4 个方面的内容: ( 1)大规模可编程
12、逻辑器件; 系统划分 VHDL 语言描述 VHDL 语言级功能仿真 编译、综合将语言转换为门电路 全时序逻辑优化 门级电路仿真 可测试性分析和测试电路自动生成 约束驱动 系统完成 ASIC 实现 CPLD实现 基于 FPGA 的停车场停车位显示系统设计 5 ( 2)硬件描述语言; ( 3)软件开发工具; ( 4)实验开发系统; 其中,大规模可编程逻辑器件是利用 EDA 技术进行电子 系统设计的载体,硬件描述语言是利用 EDA 技术进行电子系统设计的主要手段,软件开发工具是利用 EDA 技术进行电子系统设计的智能化的自动化设计工具,实验开发系统则是利用 EDA 技术进行电子系统设计的下载工具及硬
13、件验证工具。 1.2.2 EDA 技术的发展趋势 从目前的 EDA技术来看,其发展趋势是政府重视、使用普及、应用文泛、工具多样、软件功能强大。 中国 EDA市场已渐趋成熟,不过大部分设计工程师面向的是 PC主板和小型 ASIC领域,仅有小部分(约 11%)的设计人员 研 发复杂的片上系统器件。为了与台湾和美国的设计工程师形成 更有力的竞争,中国的设计队伍有必要购入一些最新的 EDA技术。 在信息通信领域,要优先发展高速宽带信息网、深亚微米集成电路、新型元器件、计算机及软件技术、第三代移动通信技术、信息管理、信息安全技术,积极开拓以数字技术、网络技术为基础的新一代信息产品,发展新兴产业,培育新的
14、经济增长点。要大力推进制造业信息化,积极开展计算机辅助设计( CAD)、计算机辅助工程( CAE)、计算机辅助工艺( CAPP)、计算机机辅助制造( CAM)、产品数据管理( PDM)、制造资源计划( MRPII)及企业资源管理( ERP)等 。 有条件的企业 可开展 “ 网络制造 ” ,便于合作设计、合作制造,参与国内和国际竞争。开展 “数控化 ”工程和 “数字化 ”工程。自动化仪表的技术发展趋势的测试技术、控制技术与计算机技术、通信技术进一步融合,形成测量、控制、通信与计算机( M3C)结构。在 ASIC和 PLD设计方面,向超高速、高密度、低功耗、低电压方向发展。 外设技术与 EDA工程
15、相结合的市场前景看好,如组合超大屏幕的相关连接,多屏幕技术也有所发展。 我 国自 1995年以来加速开发半导体产业,先后建立了几所设计中心,推动系列设计活动以应对亚太地区其它 EDA市场的竞争。 在 EDA软件开发方面,目前主要集中在美国。但各国也正在努力开发相应的工具。日本、韩国都有 ASIC设计工具,但不对外开放 。中国华大集成电路设计中心,也提供IC设计软件,但性能不是很强。相信在不久的将来会有更多更好的设计工具有各地开花并结果。据最新统计显示,中国和印度正在成为电子设计自动化领域发展最快的两个市场,年复合增长率分别达到了 50%和 30%。 基于 FPGA 的停车场停车位显示系统设计
16、6 EDA技术发展迅猛,完全可以用日新月异来描述。 EDA技术的应用广泛,现在已涉及到各行各业。 EDA水平不断提高,设计工具趋于完美的地步。 EDA市场日趋成熟,但我国的研发水 平很有限,需迎头赶上。 1.2.3 EDA 开发工具的发展趋势 面对当今飞速发展的电子产品市场,电子设计人员需要更加实用、快捷的开发工具,使用统一的集成化设计环境,改变优先考虑具体物理实现方式的传统设计思路,将精力集中到设计构思、方案比较和寻找优化设计等方面,以最快的速度开发出性能优良、质量一流的电子产品。开发工具的发展趋势如下: ( 1)具有混合信号处理能力 由于数字电路和模拟电路的不同特性,模拟集成电路 EDA
17、工具的发展远远落后于数字电路 EDA 开发工具。但是,由于物理量本身多以模拟形式存在,实现高性能复杂电子系统的设计必然离不开模拟信号。 20 世纪 90 年代以来, EDA 工具厂商都比较重视数模混合信号设计工具的开发。美国 Cadence 、 Synopsys 等公司开发的 EDA 工具已经具有了数模混合设计能力,这些 EDA 开发工具能完成含有模数变换、数字信号处理、专用集成电路宏单元、数模变换和各种压控振荡器在内的混合系统设计。 ( 2)高效的仿真工具 在整个电子系统设计过程中,仿真是花费时间最多的工作,也是占用 EAD 工具时间最多的一个环节。可以将电子系统设计的仿真过程分为两个阶段:
18、设计前期的系统级仿真和设计过程中的电路级仿真 。系统级仿真主要验证系统的功能,如验证设计的有效性等;电路级仿真主要验证系统的性能,决定怎样实现设计,如测试设计的精度、处理和保证设计要求等。要提高仿真的效率,一方面是要建立合理的仿真算法;另一方面是要更好地解决系统级仿真中,系统模型的建模和电路级仿真中电路模型的建模技术。在未来的 EDA 技术中,仿真工具将有较大的发展空间。 ( 3)理想的逻辑综合、优化工具 逻辑综合功能是将高层次系统行为设计自动翻译成门级逻辑的电路描述,做到了实际与工艺的独立。优化则是对于上述综合生成的电路网表,根据逻辑方程功能等效的原则,用 更小、更快的综合结果替代一些复杂的
19、逻辑电路单元,根据指定目标库映射成新的网表。随着电子系统的集成规模越来越大,几乎不可能直接面向电路图做设计,要将设计者的精力从繁琐的逻辑图设计和分析中转移到设计前期算法开发上。逻辑综合、优化工具就是要把设计者的算法完整高效地生成电路网表。 基于 FPGA 的停车场停车位显示系统设计 7 1.3 现场可编程门阵列 (FPGA) FPGA 是英文 Field Programmable Gate Array 的缩写,即现场可编程门阵列, 它 是在PAL、 GAL、 EPLD 等可编程器件的基础上进一步发展的产物。它是作为专用集成电路( ASIC) 领域中的一种半定制电路而出现的,即解决了定制电路的不
20、足,又克服了原有可编程器件门电路数有限的缺点。 FPGA 的基本特点主要有: ( 1) 采用 FPGA 设计 ASIC 电路,用户不需要投片生产,就能得到合用的芯片 。 ( 2) FPGA 可做其它全定制或半定制 ASIC 电路的中试样片 。 ( 3) FPGA 内部有丰富的触发器和 I O 引脚 。 ( 4) FPGA 是 ASIC 电路中设计周期最短、开发费用最低、风险最小的器件之一 。 ( 5) FPGA 采用高速 CHMOS 工艺,功耗低,可以与 CMOS、 TTL 电平兼容 。 1.3.1 FPGA 的基本结构 FPGA现场可编程门阵列器件通常由布线资源围绕的可编程单元构成阵列,又由
21、可编程 I/O单元围绕阵列构成整个芯片,如图 1.4所示。 FPGA的基本结构通常包含三类可编程资源:可编程逻辑功能块( CLB)、可编程输入输出块和可编程互连。可编程逻辑功能块( CLB)是实现用户功能的基本单元,它们通常规则地排成一个阵列,散布于整个芯片;可编程输入输出块完成芯片上逻辑 与 外部封装腿的接口,常围绕着阵列排列于芯片四周;可编程内部互连包括各种长度的连接线段和一些可编程连接开关,它们将各个可编程逻辑块或输入输出块连接起来,构成特定功能的 电路 。 ( 1) 可编程逻辑块 (CLB) CLB是 FPGA的主要组成部分,是实现逻辑功能的基本单元。它主要由逻辑函数发生器、触发器、数
22、据选择器等电路组成。 CLB中有许多不同规格的数据选择器,分别用来选择触发器激励输入信号、时钟有效边沿、时钟使能信号以及输出信号。这些数据选择器的地址控制信号均由编程信息提供,从而实现所需的电路结构。 CLB中的逻辑函数发生器均为查找表结构,其工作原理类似于 ROM。 基于 FPGA 的停车场停车位显示系统设计 8 图 1.4FPGA 的基本结构 ( 2) 输入 /输出模块 (IOB) IOB提供了器件引脚和内部逻辑功能阵列之间的连接。它主 要由输入触发器、输入缓冲器和输出触发 /锁存器、输出缓冲器组成,每个 IOB控制一个引脚,它们可被配置为输入、输出或双向 I/O功能。 ( 3) 可编程互
23、连资源 (IR) 可编程互连资源可以将 FPGA内部的 CLB和 CLB之间、 CLB和 IOB之间连接起来,构成各种具有复杂功能的系统。 IR主要由许多金属线段构成,这些金属线段带有可编程开关,通过自动布线实现各种电路的连接。 FPGA 是由 掩膜 可编程门阵列和可编程逻辑器件演变而来的,将它们的特性结合在一起,使得 FPGA 既有门阵列的高逻辑密度和通用性,又有可编程逻辑器件的用户可编程特性。目前 FPGA 的逻辑功能块在规模和实现逻辑功能的能力上有很大的差别。据此可把 FPGA 分为两大类,即细粒度和粗粒度。从构成它的可编程逻辑块和可编程互连资源来看,主要有两大类逻辑块的构造。其一是查找表结构,其二是多路开关类型,由此,形成两种 FPGA 的结构。 ALTERA公司的 FPGA是由传统的 PLD结构演变而来的,因此属于具有类似 PLD的可编程逻辑块阵列和连续布线这一类,即第二种 FPGA结构,其逻辑块是基于“与”“或”门电路构成的。而 XILINX公司和 ACTELI公司的 FPGA属于第一种 FPGA结构。 1.3.2 FPGA 的应用 FPGA的电路设计是通过 FPGA开发系统实现。用户无需了解 FPGA, 的内部构造和