基于fpga的电子密码锁的研究与设计毕业论文(编辑修改稿)内容摘要:

杂性差别很大,多以最终生产时间大多不同。 另外如果对应用要求发生某些变化或者器件工作的不合适等原因,就要开发全新的设计。 某些 方面需要大量的 NRE 成本,比如,设计和验证固定逻辑的前期工作。 NRE 就是客户需要投入的全部成本,就是包括固定逻辑器件最后从芯片制造厂制造出来之前的所有成本,其中包括工程资源、高昂的软件设计工具费用、用来制造芯片不同金属层的昂贵光刻掩膜组和初始原型器件的生产成本。 它的费用少则几十万元美元,多则几百万美元。 可编程逻辑器件与固定逻辑器件相比,设计者可利用价格低廉的软件工具快速开发、仿真和测试其设计。 然后,可设计编程后快速的编程到器件当中,并且可以立即对设计进行测试在实际运行的电路中。 没有 NRE 成本、设计也比固定 逻辑器件快是因为PLD 器件在原型中使用的和正式生产最终设备(如网络路由器、 DSL 调制解调器、 DVD播放器、或汽车导航系统)的可以完全相同。 由于 PLD 基于可重写的存储器技术要一一改变设计,所以另一个关键优点在 PLD中显著显示出来的就是客户可根据需要修改电路在任意的设计阶段中直到满意为止,只要对器件简单的重新编程就可以了。 设计完成后,客户可以利用最终软件设计文件投入生产,就是简单地编程。 基于 FPGA的电子密码锁设计 7 FPGA 简介 FPGA 的可编程电路包括可编程逻辑块 (CLB)、输入 /输出模块( IOB)及可编程互连资源( PIR),和一个 SPAM 结构的配置存储单元组成。 分散在整个芯片中的排列成阵列的逻辑功能的基本单位是 CLB;排列在芯片的四周主要负责芯片上的逻辑与外部引脚的接口的是可编程输入 /输出模块( IOB);将各个 CLB 之间或 CLB 与 IOB 之间以及 IOB 之间连接起来的构成特定功能的电路的各种长度的连接线段和一些可编程连接开关的是可编程互连资源( PIR)。 选择 FPGA 芯片,因为它统集成度由于是小批量系统所以有所提高,也具有一定的可靠性。 FPGA 的特点是采用高速 CHMOS 工艺,功耗低,可以与 CMOS、 TTL电平兼容。 设计 ASIC 电路时无需投片生产就可以得到合用的芯片是因为它的内部具有大量的触发器和 I/O 引脚。 FPGA 与 PLD 相比的特点是不受结构的限制,可以组成任何复杂的逻辑电路是因为门与门的连接,也可以更好地实现多级逻辑功能。 基于 SRAM 结构的 FPGA 的编程单元,可以无限次重复编程。 FPGA 应用特点 伴随着电子技术的飞速发展,基于 FPGA 的设计向高速度高集成度和低价位方向不断前进,应用领域不断扩大其主要原因是由于 FPGA 以下几个技术特点的发展。 ( 1) 集成度越来越高 如 Lattice 的 ispLSI 或 AMD 的 MACH 芯片等 效逻辑门已达 10 万门以上。 Altera的 10K 系列也在 25 万门以上,具有 1 万个以上的寄存器 40kbit 嵌人式存储器,可以实现集成复杂信号处理算法。 Raphael 系列已达到 100 万门以上,结合了FLEX10KFLEX6000、 MAX7000 的所有优点,可进行单片设计。 Xilinx 推出了上百万门的 FPGA,它们几乎可实现所有形式的数字电路和数字系统的设计。 JTAG ISP 和 ICR 技术越来越多地被采用于 FPGA 中。 当今世界上各类可编程器件发展的趋势是这种先进的编程方式。 正在工作的系统上的 CPLD/FPGA 可随时 在 5V工作电平下进行全部或部分地在系统编程,并可进行芯片内部资源的重新分配同时进行所谓菊花链式多芯片串行编程,其编程次数多达 1万次。 如 Lattice的 ispLSI AMD的 MACH基于 FPGA的电子密码锁设计 8 以及 Xilinx 的 XC9000 系列,几乎不限制对于 SRAM 结构的 FPGA 其下载编程次数。 如 Altera 的 FLEX10K 系列,这种编程方式可很轻松的实现红外编程,无线编程或超声编程,或通过电话线远程在线编程。 这些功能可以运用在工控、智能仪器表、通讯和军事上。 ( 2) 嵌入式存贮技术 把一定数量的存贮器嵌在 CPLD/FPGA 内部,用于 存贮信号处理的系数、中间结果等,这对于电子系统的智能化的设计功能提供了技术支持。 ( 3) 时钟锁定和倍频技术 时钟锁定和倍频技术 是 Altera 的 10K 系列,解决了时钟脉冲延迟和许多偏斜问题,并使 PLD 内部时钟更高,可达 100MHz以上的是单个 16bit 乘法器的速度。 这需要大带宽高速实时信号。 延迟可达纳秒级,结合 CPLD/FPGA 时钟的并行工作方式,在超高速应用领域和实时测控方面有非常广阔的应用前景。 ( 4) 电子设计自动化 EDA 工具 用户对设计的输入综合仿真非常方便是因为有 EDA 工具, Altera 的 MaxPlusII 给用户提供了丰富的宏库和 LPM(Library of Parameterized Modules)。 Unix/Windows 共存开发环境转换的是 EDA 环境。 事实上,硬件描述语言是符合国际标准的,用来进行电子系统设计和产品开发是 VHDL或 VERILOGHDL。 因为开发工具的通用性,设计语言的标准化以及设计过程基本与所用的 CPLD/FPGA 器件的硬件结构没有任何关系,所以兼容性和可移植性是设计成功的各类逻辑功能块软件的原因。 它几乎可以用于任何型号的CPLD/FPGA 中,从而使得片上系统的产品设计效率大 幅度提高,使其应用更为广泛和方便。 ( 5) 开发周期短 内部资源丰厚及功能强大是 FPGA 的优点,以及相应的 EDA 软件功能完善和强大仿真能力便捷而实时开发过程形象而直观兼之硬件因素涉及甚少,一些 EDA 专家指出未来的大系统 FPGA 设计仅是各类再应用逻辑与 IP 核 CORE 的拼装。 TI公司认为现成逻辑合成一个 ASIC80 功能可用 IP 核等,因此可在非常短的时间内完成很复杂的系统设计。 基于 FPGA的电子密码锁设计 9 FPGA 的设计流程 设计输入 的 三种方式 是 硬件描述语言、状态图与原理图输入。 针对给定的电路实现功能 和 实现此电路的约束条件 (例如 速度、 功耗、成本及电路类型等 ),就是 设计综合 ,可以用计算机优化进行处理,得到 一个电路设计方案 且能够 满足上述要求。 它可以集成HDL 文件或相应文件 等 , 其结果是一个 必须满足功能和约束条件 的 期望 的 硬件电路实现方案 ,且能够满足各种约束描述。 对于综合来说,可能有多个 方案满足要求 , 一个最优的或着接近最优的结果将 在 综合工具 中产生,所以,综合的过程就是设计目标的优化过程, 得到的结构和综合工具的工作性能 有关。 从广义讲,功能与时序仿真和电路验证 全都包含到 设计验证 中,对已实现 设计 进行完整的测试用 设计软件包 就是仿真, 物理环境工况模拟。 仅 对逻辑功能进行测试模拟 的仿真是 功能仿真 ,用来了解器件的功能能否达到原设计的要求,仿真的过程中不加入时序的信息,也不涉及到各种器件的硬件特性,例如 延时特性; 但是在布局布线后, 提取有关的器件延时、连线延时等时序参数, 之后再进行的仿真就是 后仿真, 它是最能接近真是器件的运行的。 利用实现工具 来吧 逻辑映射到目标器件结构的资源中 就是 设计实现 ,它能够决定 逻辑的最佳布局, 进行 连线的布线通道 时用户根据 选择逻辑与输入输出功能 来选择的,之后产生相对应的文件。 它的五个步骤分别为 转换、映射、布局与布线、时序提取和配置。 在设计实现的过 程中,需要对一个设计的实际功能的延时和估计的布线延时进行时序分析在映射后 ; 在布局布线后, 静态分析也是必要的,对 实际布局布线的功能块的延时和实际布线延时 分析。 从某些方面看, 整个 FPGA 设计中最重要的步骤 就是 静态时序分析 ,它允许设计者详尽地分析所有关键路径并得出一个有次序的含有其他调试信息的报告。 能够实现一下功能的是 静态时序分析器 ,其功能包括为了使 计算各通路性能 而 检查设计的逻辑和时序,识别可靠的踪迹,检测建立和保持时间的配合。 芯片配置就是用户不要求 产生输入激励或测试矢量 在时序分析中,而后下载正确的 功能仿真与时 序仿真 ,具体的 FPGA 芯片中 需要下载 综合后形成的位流。 直接由计算机经过专用下载电缆进行配置 和 由外围配置芯片进行上电时自动配置是 FPGA 设计 的 两种配置形式。 电路验证几十 FPGA 器件内部下载位流文件后 再 进行实际器件的物理测试 , 当得到正确的验证结果后就证明了设计的正确性。 FPGA 投片生产 中具有较大意义的就是 电路验证 基于 FPGA的电子密码锁设计 10 以系统方案为输入,进行 RTL级描述、功能仿真( RTL级仿真)、逻辑综合、布线前门级仿真、适配(布局布线)、时序仿真(布线后门级仿真)、时序分析、器件编程、系统验证 等 一系列流程 就是 FPGA 设计系统方案 完成之后 的 设计实现阶段的工作 , 其设计流程如下图所示。 需要说明的是,如果仿真验证不对或者某一步有错,就要返回修改。 RTL 级描述、系统方案、约束和测试激励等 就 有必要检查和修改。 有时, 原理图 包括对 RTL级的描述或者 HDL 设计代码 是最多的也是最有效的。 流程要重新走一遍在修改之后,有的时候则要反复的修改,最后的设计就是这样经过多次的修改之后完成的。 在理论中讲, 系统级 ( 系统功能、参数定义 ) 、算法级 ( 描述系统功能行为 ) 、 RTL级、门级 ( 逻辑门 ) 、电路级 ( 晶体管 ) 、版图级 ( 物理工艺 )为 VLSI( Ultra Large Scale Integration,超大规模集成电路)的设计描述 的 6 个层次 [1, 2]。 行为域描述、结构域描述、物理域描述 为 每一级 的 3 个侧面。 但在实际情况中往往把算法级行为域描述或者RTL级行为域描述都称为行为级描述。 图 21 FPGA设计流程 系统设计要求 模块划分及其功能描述 各模块接口信号定义 系统行为描述 系统行为仿真 系统设计方案 时序、同步、算法测试等方案 基于 FPGA的电子密码锁设计 11 硬件描述语言 Verilog Verilog 语言简 介 目前数字系统的设计可以直接面向用户需求,自上而下地逐层完成相应的描述、综合、优化、仿真与验证,直到生成器件,实现电子设计自动化是根据系统的行为和功能要求的。 从抽象到具体级别硬件的工业标准语言是用 Verilog来描述的。 Verilog支持硬件的设计、验证、综合和测试,以及硬件设计数据的交换、维护、修改和硬件的实现的优点是具有描述能力强、生命周期长、支持大规模设计的分解和已有设计的再利用的。 用于描述数字系统的结构、行为和功能的主要是 Verilog,他程序结构特点的两部分是将一个电路模块或一个系统分成端口和 内部功能算法实现的。 对于一个电路模块或者数字系统来说,定义了外部端口后,一旦完成内部功能算法,其他的系统就可以直接依据外部端口调用该电路模块或数字系统,而不需要知道他的内部结构和算法。 Verilog的特点使得电子系统新的设计方法“自顶向下”设计方法更加容易实现。 可以先对整个系统进行方案设计,按功能划分成若干单元模块,然后对每个单元模块进一步细分,直到简单实现的单元电路。 Verilog语言的设计流程如下图: 图 22 Verilog 的设计流程 Verilog 语言的优点 相比于其他硬件描述语言, Verilog语言有以下几个优点: ( 1) 综合技能电路的设计,又可以用于模拟仿真。 ( 2) 对所设计的系统加以描述可以从多个层次上,如开关级、门级、寄存器传输级( RTL)到行为级等;语言不对规模施加任何限制。 ( 3) 灵活多。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。