




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
13届届 分 类 号 单位代码 10452 毕业论文 设计 基于基于 QuartusIIQuartusII 的密码锁的密码锁筹划与设计筹划与设计 姓 名 李养振李养振 学 号 200909130119200909130119 年 级 20092009 专 业 电子信息科学与技术电子信息科学与技术 系 院 理学院理学院 指导教师 王传聪王传聪 2013 年 4 月 12 日 临沂大学 2013 届本科毕业论文 设计 摘 要 本系统是以 EDA 作为开发工具 VHDL 语言为硬件描述语言 QUARTUS II 作为程 序运行平台 所开发的程序通过调试运行 波形仿真验证 初步实现了设计目标 本系统 采用有限状态机进行设计 目的在于实现八位二进制 串行输入数字密码锁 并具有开锁 与错误提示 开锁代码为八位二进制数 当输入代码的位数和位值与预先设置的密码一 致时方可开锁 并使数码管显示由 B 变为 A 当输入密码不正确时 计数器会进 行一次计数 关键词 EDA quartusII 密码锁 VHDL 临沂大学 2013 届本科毕业论文 设计 ABSTRACT This system is by EDA took the development kit the VHDL language for the hardware description language QUARTUS II took the procedure movement platform develops the procedure through the debugging movement the profile simulation confirmation has achieved the design goal initially This system uses the limited state machine to carry on the design the goal lies in realizes eight binary systems the serial input numerical ciphers lock and has the unblanking and the wrong prompt The unblanking code is eight binary numbers when the input code figure and the position value with establish in advance password consistent when only then unlocks and causes the nixietube to demonstrate becomes A by B When input password not correct the counter can carry on a counting Key words EDA quartusII coded lock VHDL 临沂大学 2013 届本科毕业论文 设计 1 目 录 1 1 引言引言 2 2 2 2 软件开发环境软件开发环境 2 2 2 1 FPGA 简介 2 2 2 QUARTUSII 设计平台 6 3 3 数字密码锁的设计数字密码锁的设计 8 8 3 1 系统设计 8 3 2 单元电路设计 9 3 3 软件设计 11 4 4 系统测试系统测试 1212 5 5 结论结论 1414 附附 录录 1515 参参 考考 文文 献献 1919 致致 谢谢 2020 临沂大学 2013 届本科毕业论文 设计 2 1 引言 电子设计自动化 简称 EDA Electronic Design Automation 技术作为现代电子设 计技术的核心 他一来功能强大的计算机 在 EDA 工具软件平台上 对以硬件描述语言 HDL Hardware Description Language 为系统逻辑描述手段完成的设计文件 自动的 完成逻辑编译 逻辑化简 逻辑综合 结构综合 以及逻辑优化和仿真测试 直至实现 既定的电子线路系统功能 在现代高新电子产品的设计和生产中 微电子技术和现代电子设计技术实现互促进 相互推动又相互制约的两个技术环节 前者代表了物理层在广度和深度上硬件电路实现 的发展 后者则反映了现代先进的电子理论 电子技术 仿真技术 设计工艺和设计技 术与最新的计算机软件技术有机的融合和升华 因此 严格地说 EDA 技术应该是这两者 的结合 是这两个技术领域共同孕育的奇葩 全球提供 EDA 软件工具的厂商有近百家之多 大体分为两类 一类是专业软件间公 司开发的 EDA 开发工具 独立与半导体器件厂商 另一类是半导体器件厂商为销售本公 司可编程逻辑器件 PLD 产品开发的 EDA 软件工具 只能开发该公司的 PLD 器件 这里介 绍的 quartus II 开发工具属于后者 是由 Altera 公司开发的 EDA 软件工具 Quartus II 支持 Altera 公司的各系列可编程逻辑器件的开发 包括 ACEX 系列 APEX 系列 等等 2 软件开发环境 2 1 FPGA 简介 2 1 1 FPGA 概述概述 FPGA 是现场可编程门阵列 Field Programmable Gate Array 的简称 与之相应的 CPLD 是复杂可编程逻辑器件 Complex Programmable Logic Device 的简称 两者的功 能基本相同 只是实现原理略有不同 有时可以忽略这两者的区别 统称为可编程逻辑器 件 CPLD FPGA CPLD FPGA 几乎能完成任何数字器件的功能 上至高性能 CPU 下至简单的 74 电路 它如同一张白纸或是一堆积木 工程师可以通过传统的原理图输入或硬件描述 语言自由的设计一个数字系统 通过软件仿真可以事先验证设计的正确性 在 PCB 完成 以后 利用 CPLD FPGA 的在线修改功能 随时修改设计而不必改动硬件电路 使用 CPLD FPGA 开发数字电路 可以大大缩短设计时间 减少 PCB 面积 提高系统的可靠性 这 些优点使得 CPLD FPGA 技术在 20 世纪 90 年代以后得到飞速的发展 同时也大大推动了 EDA 软件和硬件描述语言 VHDL 的进步 FPGA 采用了逻辑单元阵列 LCA Logic Cell Array 这样一个概念 内部包括可配置逻辑模块 CLB Configurable Logic Block 临沂大学 2013 届本科毕业论文 设计 3 输出输入模块 IOB Input Output Block 和内部连线 Interconnect 三个部分 2 1 2 FPGA 基本结构基本结构 FPGA 具有掩膜可编程门阵列的通用结构 它由逻辑功能块排成阵列 并由可编程的 互连资源连接这些逻辑功能块来实现不同的设计 FPGA 一般由 3 种可编程电路和一个用于存放编程数据的静态存储器 SRAM 组成 这 3 种可编程电路是 可编程逻辑模块 CLB Configurable Logic Block 输入 输出模 块 IOB I O Block 和互连资源 IR Interconnect Resource 可编程逻辑模块 CLB 是实现逻辑功能的基本单元 它们通常规则的排列成一个阵列 散布于整个芯片 可 编程输入 输出模块 IOB 主要完成芯片上的逻辑与外部封装脚的接口 它通常排列在 芯片的四周 可编程互连资源包括各种长度的连接线段和一些可编程连接开关 它们将 各个 CLB 之间或 CLB IOB 之间以及 IOB 之间连接起来 构成特定功能的电路 FPGA 的结 构如图 1 图1 FPGA基本结构 1 CLB是FPGA的主要组成部分 它主要由逻辑函数发生器 触发器 数据选择器 等电路组成 CLB中3个逻辑函数发生器分别是G F和H 相应的输出是G F 和H G有4个 输入变量G1 G2 G3和G4 F也有4个输入变量F1 F2 F3和F4 这两个函数发生器是完 全独立的 均可以实现4输入变量的任意组合逻辑函数 逻辑函数发生器H有3个输入信号 前 两个是函数发生器的输出G 和F 而另一个输入信号是来自信号变换电路的输出H1 这个 函数发生器能实现3输入变量的各种组合函数 这3个函数发生器结合起来 可实现多达9 变量的逻辑函数 CLB中有许多不同规格的数据选择器 四选一 二选一等 通过对CLB内部数据选 择器的编程 逻辑函数发生器G F和H的输出可以连接到CLB输出端X或Y 并用来选择触 可编程开关矩输入输出模块互连资源 CLBCLBCLBCLB CLB CLB B CLBCLBCLB CLB 矩 CLB CLB CLB 块 CLB CLB CLB B CLBCLB CLBCLBCLBCLB 临沂大学 2013 届本科毕业论文 设计 4 发器的激励输入信号 时钟有效边沿 时钟使能信号以及输出信号 这些数据选择器的 地址控制信号均由编程信息提供 从而实现所需的电路结构 CLB中的逻辑函数发生器F和G均为查找表结构 其工作原理类似于ROM F和G的输入 等效于ROM的地址码 通过查找ROM中的地址表可以得到相应的组合逻辑函数输出 另外 逻辑函数发生器F和G还可以作为器件内高速RAM或小的可读写存储器使用 它由信号变 换电路控制 2 输入 输出模块IOB IOB提供了器件引脚和内部逻辑阵列之间的连接 它主要由 输入触发器 输入缓冲器和输出触发 锁存器 输出缓冲器组成 每个IOB控制一个引脚 它们可被配置为输入 输出或双向I O功能 当IOB控制的引 脚被定义为输入时 通过该引脚的输入信号先送入输入缓冲器 缓冲器的输出分成两路 一路可以直接送到MUX 另一路延时几个纳秒 或者没有延时 后送到输入通路D触发器 再 送到数据选择器 通过编程给数据选择器不同的控制信息 确定送至CLB阵列的I1和I2是 来自输入缓冲器 还是来自触发器 当IOB控制的引脚被定义为输出时 CLB阵列的输出信号OUT也可以有两条传输途径 一条是直接经MUX送至输出缓冲器 另一条是先存入输出通路D触发器 再送至输出缓冲 器 IOB输出端配有两只MOS管 它们的栅极均可编程 使MOS管导通或截止 分别经上拉 电阻接通VCC 地线或者不接通 用以改善输出波形和负载能力 3 可编程互连资源IR 可编程互连资源IR可以将FPGA内部的CLB和CLB之间 CLB和 IOB之间连接起来 构成各种具有复杂功能的系统 IR主要由许多金属线段构成 这些金 属线段带有可编程开关 通过自动布线实现各种电路的连接 2 1 3 FPGA 系统设计流程系统设计流程 一般说来 一个比较大的完整的项目应该采用层次化的描述方法 分为几个较大的 模块 定义好各功能模块之间的接口 然后各个模块再细分去具体实现 这就是自顶向下 的设计方法 目前这种高层次的设计方法已被广泛采用 高层次设计只是定义系统的行 为特征 因此还可以在厂家综合库的支持下 利用综合优化工具将高层次描述转换为针 对某种工艺优化的网络表 使工艺转化变得轻而易举 CPLD和FPGA的主要区别是他们的 系统结构 CPLD是一个有点限制性的结构 这个结构由一个或者多个可编辑的结果之和 的逻辑组列和一些相对少量的锁定的寄存器 这样的结果是缺乏编辑灵活性 但是却有 可以预计的延迟时间和逻辑单元对连接单元高比率的优点 CPLD和FPGA另外一个区别是 大多数的FPGA含有高层次的内置模块 比如加法器和乘法器 和内置的记忆体 CPLD FPGA系统设计的工作流程如图2所示 临沂大学 2013 届本科毕业论文 设计 5 系统划分 编译器 代码级功能仿真 综合器 适配前时序仿真 适配器 CPLD FPGA实现 适配后仿真模型 适配后时序仿真 适配报告 ASIC 实现 VHDL 代码或图形方式输入 仿真综合库 器件编程文件 图2 CPLD FPGA系统设计流程 流程说明 1 工程师按照 自顶向下 的设计方法进行系统划分 2 输入VHDL代码 这是设计中最为普遍的输入方式 此外 还可以采用图形输入方式 这 种输入方式具有直观 容易理解的优点 3 将以上的设计输入编译成标准的VHDL文件 4 进行代码级的功能仿真 主要是检验系统功能设计的正确性 这一步骤适用于大 型设计 因为对于大型设计来说 在综合前对源代码仿真 就可以大大减少设计重复的次 数和时间 一般情况下 这一仿真步骤可略去 5 利用综合器对VHDL源代码进行综合优化处理 生成门级描述的网络表文件 这是 将高层次描述转化为硬件电路的关键步骤 综合优化是针对ASIC芯片供应商的某一产品 系列进行的 所以综合的过程要在相应的厂家综合库的支持下才能完成 6 利用产生的网络表文件进行适配前的时序仿真 仿真过程不涉及具体器件的硬件 特性 是较为粗略的 一般的设计 也可略去这一步骤 临沂大学 2013 届本科毕业论文 设计 6 7 利用适配器将综合后的网络表文件针对某一具体的目标器件进行逻辑映射操作 包括底层器件配置 逻辑分割 逻辑优化和布局布线 8 在适配完成后 产生多项设计结果 a 适配报告 包括芯片内部资源利用情况 设 计的布尔方程描述情况等 b 适配后的仿真模型 c 器件编程文件 根据适配后的仿真模 型 可以进行适配后时序仿真 因为已经得到器件的实际硬件特性 如时延特性 所以 仿真结果能比较精确的预期未来芯片的实际性能 如果仿真结果达不到设计要求 就修 改VHDL源代码或选择不同速度和品质的器件 直至满足设计要求 最后将适配器产生的器件编程文件通过编程器或下载电缆载入到目标芯片CPLD FP GA中 2 1 4 FPGA 开发编程原理开发编程原理 硬件设计需要根据各种性能指标 成本 开发周期等因素 确定最佳的实现方案 画出系统框图 选择芯片 设计PCB并最终形成样机 CPLD FPGA软件设计可分为两大块 编程语言和编程工具 编程语言主要是VHDL硬件 描述语言 编程工具主要是两大厂家Altera和Xilinx的集成综合EDA软件QuartusII以及 第三方工具 具体的设计输入方式有以下几种 1 VHDL语言 VHDL既可以描述底层设计 也可以描述顶层的设计 但它不容易做到较 高的工作速度和芯片利用率 用这种方式描述的项目最后所能达到的性能与设计人员的 水平 经验以及综合软件有很大的关系 2 图形方式 可以分为电路原理图描述 状态机描述和波形描述3种形式 电路原理 图方式描述比较直观和高效 对综合软件的要求不高 一般大都使用成熟的IP核和中小 规模集成电路所搭成的现成电路 整体放到一片可编程逻辑器件的内部去 其硬件工作 速度和芯片利用率很高 但是当项目很大时 该方法就显得有些繁琐 状态机描述主要用 来设计基于状态机思想的时序电路 在图形的方式下定义好各个工作状态 然后在各个 状态上输入转换条件以及相应的输入输出 最后生成HDL语言描述 送去综合软件综合到 可编程逻辑器件的内部 由于状态机到HDL语言有一种标准的对应描述方式 所以这种输 入方式最后所能达到的工作速度和芯片利用率主要取决于综合软件 波形描述方式是基 于真值表的一种图形输入方式 直接描述输入与输出的波形关系 2 2 QuartusII 设计平台 2 2 1 软件开发环境及基本流程软件开发环境及基本流程 本设计所用软件主要是QuartusII 在此对它做一些介绍 QuartusII是Altera提供的FPGA CPLD开发集成环境 Altera是世界上最大的可编程 逻辑器件供应商之一 QuartusII提供了一种与结构无关的设计环境 使设计者能方便地 进行设计输入 快速处理和器件编程 临沂大学 2013 届本科毕业论文 设计 7 Altera公司的QuartusII 开发工具人机界面友好 易于使用 性能优良 并自带编 译 仿真功能 QuartusII软件完全支持VHDL设计流程 其内部嵌有VHDL逻辑综合器 Qua rtusII 也可以利用第三方的综合工具 如FPGA Compiler II 并能直接调用这些工具 同样 QuartusII具备仿真功能 同时也支持第三方的仿真工具 此外 QuartusII与MATLA B和DSP Builder结合 可以进行基于FPGA的DSP系统开发 是DSP硬件系统实现的关键EDA 技术 QuartusII包括模块化的编译器 编译器包括的功能模块有分析 综合器 适配器 装配器 时序分析器 设计辅助模块 EDA网表文件生成器 编辑数据接口等 可以通 过选择Start Compilation来运行所有的编译器模块 也可以通过选择Start单独运行各 个模块 在Compiler Tool窗口中 可以打开该模块的设置文件或报告文件 或者打开其 它相关窗口 在设计输入之后 QuartusII的编译器将给出设计输入的错误报告 QuartusII拥有 性能良好的设计错误定位器 用于确定文本或图形设计中的错误 在进行编译后 可对设 计进行时序仿真 在仿真前 需要利用波形编辑器编辑一个波形激励文件 编译和仿真检 测无误后 便可将下载信息通过QuartusII提供的编程器下载入目标器件中了 2 2 2 软件的具体设计流程软件的具体设计流程 1 建立工作库文件夹和编辑设计文件 首先建立工作库目录 以便存储工程项目设计文件 任何一项设计都是一项工程 Project 都必须首先为此工程建立一个放置与此 工程相关的所有设计文件的文件夹 此文件夹将被EDA软件默认为工作库 一般来说 不 同的设计项目最好放在不同的文件夹中 而同一工程的所有文件都必须放在同一文件夹 中 2 创建工程 使用New Project Wizard可以为工程指定工作目录 分配工程名称以及指定最高 层设计实体的名称 还可以指定要在工程中使用的设计文件 其它源文件 用户库和ED A工具 以及目标器件系列和具体器件等 3 编译前设置 在对工程进行编译处理前 必须做好必要的设置 步骤如下 a 选择FPGA目标芯片 b 选择配置器件的工作方式 c 选择配置器件和编程方式 d 选择输出设置 e 选择目标器件闲置引脚的状态 临沂大学 2013 届本科毕业论文 设计 8 4 全程编译 QuartusII编译器是由一系列处理模块构成的 这些模块负责对设计项目的检错 逻辑综合 结构综合 输出结果的编辑配置 以及时序分析 在这一过程中 将设计项目 适配到FPGA目标器中 同时产生多种用途的输出文件 编译器首先检查出工程设计文件 中可能的错误信息 供设计者排除 然后产生一个结构化的以网表文件表达的电路原理 图文件 如果编译成功 可以见到工程管理窗口左上角显示了工程 例如工程div 的层次 结构和其中结构模块耗用的逻辑宏单元数 在此栏下是编译处理流程 包括数据网表建 立 逻辑综合 适配 配置文件装配和时序分析等 最下栏是编译处理信息 中栏是编 译报告项目选择菜单 单击其中各项可以详细了解编译与分析结果 5 时序和功能仿真 工程编译通过后 必须建立VWF文件对其功能和时序性质进行仿真测试 以了解设计 结果是否满足原设计要求 可以自己设置输入信号 再由功能仿真出输出信号 这能在软 件上实现硬件的功能 大大提高了硬件电路调试成功率 6 编程下载 编程下载指将编程数据放到具体的可编程器件中去 如果以上所有的过程都没有发 现问题 即满足设计要求 就可以将适配器产生的配置 下载文件通过FPGA编程器或下载 电缆载入目标芯片FPGA中 对FPGA来说就是将数据文件 配置 到FPGA中去 3 数字密码锁的设计 数字密码锁有两类 一类是并行接收数据 称为并行锁 一类是串行接受数据 称 为串行锁 如果输入代码与锁内密码一致 锁被打开 否则 应封闭开锁电路 3 1 系统设计 本系统的设计要求是八位二进制 串行输入数字密码锁 并具有开锁与错误提示 当输入密码与预设置密码相匹配时 显示开锁提示 A 当输入密码有误时 错误次数 显示自动加 1 利用有限状态机对系统进行设计 本设计分为三个模块 其一 密码预置模块 可自 行设置 8 位二进制的密码 其二 密码检测模块 检测输入的密码与预先设置的密码是否 一致 其三 计数模块 当输入密码与设置密码不一致时 计数器计数一次 本设计程序简 单 利用有限状态机其优点在于克服了纯硬件数字系统顺序方式控制灵活的缺点 容易 构成性能良好的同步时序逻辑模块 而且单进程 Moore 状态机比较容易构成能避免出现 毛刺现象的状态机 易实现 流程图如图 4 临沂大学 2013 届本科毕业论文 设计 9 图 4 密码锁流程图 3 2 单元电路设计 密码预置模块 shezhimima 该模块有 3 个输入端 1 个输出端 DIN1 为预置密码输 入端 CLR1 为清零端 CLK1 为串行脉冲输入端 当 CLR1 在低电平的状态下 DIN1 端可设 置密码 给 CKL1 输入八下计数脉冲即可完成密码的预置 预设置的密码将会通过 DOUT 输出到序列检测模块 元件图如图 5 CLK CLR DIN 7 0 DOUT 7 0 shezhimima inst9 图 5 设置密码模块 密码检测模块 SCHK 该模块有 4 个输入端 1 个输出端 DIN2 为待检测密码输入端 D IN 为已预置的密码输入端 CLR2 为清零端 CLK2 为串行脉冲输入端 当 CLR2 在低电平 的状态下 在 CLK2 输入串行输入脉冲 当给 CLK2 输入八下计数脉冲时 即八位密码全部 验证 如果密码正确 则在 AB 输出口输出 A 元件图如图 6 临沂大学 2013 届本科毕业论文 设计 10 DIN CLK CLR D IN 7 0 W AB 3 0 SCHK inst1 图 6 密码检测模块 计数模块 CNT4 当输入密码错误时 1 个输入端 1 个输出端 会产生一个计数脉冲 进行一次计数 输出端接七段数码管用以显示 该模块不可清零 以保证密码输入错误次 数的正确累加 错误计数模块元件图如图 7 CLKQ 3 0 CNT4 inst 图 7 计数模块 整体电路图及输入输出口连接如图 8 PIN 33 VCC DIN1 INPUT PIN 32 VCC CLK1 INPUT PIN 11 VCC CLR INPUT PIN 34 VCC CLK2 INPUT PIN 38 PIN 10 PIN 7 PIN 6 PIN 5 PIN 4 PIN 3 PIN 2 PIN 1 VCC DIN2 7 0 INPUT PIN 106 PIN 105 PIN 103 PIN 99 AB 3 0 OUTPUT PIN 98 PIN 97 PIN 96 PIN 85 COUNT 3 0 OUTPUT CLKQ 3 0 CNT4 inst DIN CLK CLR D IN 7 0 W AB 3 0 SCHK inst1 CLK CLR DIN 7 0 DOUT 7 0 shezhimima inst9 图 8 系统原理图 3 3 软件设计 临沂大学 2013 届本科毕业论文 设计 11 Altera 的 Quartus II 可编程逻辑软件属于第四代 PLD 开发平台该平台支持一个工 作组环境下的设计要求 其中包括支持基于 Internet 的协作设计 Quartus 平台与 Cadence ExemplarLogic MentorGraphics Synopsys 和 Synplicity 等 EDA 供应商 的开发工具相兼容 改进了软件的 LogicLock 模块设计功能 增添 了 FastFit 编译选项 推进了网络编辑性能 而且提升了调试能力 系统设计者现在能够用 Quartus II 软件 评估 HardCopy Stratix 器件的性能和功耗 相应地进行最大吞吐量设计 本系统采用 VHDL 语言编写 用 Quartus II 软件进行仿真分析 程序见附录 1 仿真 分析目标芯片型号 cyclone 图 9 是密码预置模块 abc 的仿真波形 有图可见当预置密码输入端串行输入 8 为 2 进制密码后 DOUT 会将密码输出 图 9 密码预置模块仿真波形 图 10 是密码检测模块的仿真波形 右图可见当待测密码端输入的密码与预置的密 码一致是 AB 端会由 B 变为 A 图 10 密码检测模块仿真波形 图 11 是整个系统的仿真波形 输入密码与预置密码一致时 AB 由 B 跳为 A 临沂大学 2013 届本科毕业论文 设计 12 图 11 系统仿真波形 4 系统测试 本系统采用 GW48 系列 SOPC EDA 实验开发系统 GW48 PK2 CK 对系统进行硬件仿 真分析及测试 引脚锁定采用模式五 通过该锁定图 在实验箱上对设计进行操作及验证 验 证结果与预计相符 硬件验证 实验箱编号 GW48PK2 目标芯片型号 cyclone 引脚设置如图 12 图 12 引脚锁定表 在试验箱进行检测时应选择模式 8 CLK 接键 6 对应 PIO9 CLR 接键 7 对应 PIO11 DIN 是串行数据输入口接 PIO10 AB 3 0 数据比较结果 由数码管 8 显示 对应 PIO47 PIO44 显示 B 表示密码有错误 显示 A 表示 密码正确键 2 键 1 设置 8 位待检测 密码 临沂大学 2013 届本科毕业论文 设计 13 首先按键 7 清零 随着连续按键 6 显示于发光管 D8 D1 的设置好的数据会左移 每 一次时钟脉冲 向 PIO10 串入一位 电路设置如图 10 图 13 试验箱设置图 临沂大学 2013 届本科毕业论文 设计 14 5 结论 本次密码锁采用 EDA 作为开发工具采用自顶向下的设计思想 利用 VHDL 硬件 描述语言和图形输入相结合的编程方式 并通过可编程逻辑器件 FPGA 进行硬件设计 用 LED 数码管静态显示计时结果 通过硬件仿真分析及测试 结果与预计相符 从结果中得出本设计的正确性 其结 构简单易实现 突出了 Moore 状态机在应用中的优势 设计还可以增加一个计数电路 当 输入的密码不正确时统计错误次数 通过本次设计 我学到了很多关于 EDA 的相关知识 充分理解了状态机的原理 从 接触 EDA 进行相关学习到选择设计题目 海量收集资料 工程初步建立 程序的调制 无 数次的修改 仿真 从错误中加深对相关知识的理解 从不断的失败到最后的成功 几经 悲喜 多少次因为有一个可行的想法兴奋的寝食俱忘 工程虽然简单 实现的功能亦不多 但 每一句程序 每一个模块 都是经过多次的调试运行最后终于成功 临沂大学 2013 届本科毕业论文 设计 15 附 录 附录 1 1 密码预置模块 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL ENTITY shezhimima IS PORT DIN CLK CLR IN STD LOGIC DOUT OUT STD LOGIC VECTOR 7 DOWNTO 0 END shezhimima ARCHITECTURE behave OF shezhimima IS TYPE ST TYPE IS ST0 ST1 ST2 ST3 ST4 ST5 ST6 ST7 ST8 SIGNAL Q ST TYPE SIGNAL D STD LOGIC VECTOR 7 DOWNTO 0 BEGIN PROCESS CLK CLR BEGIN IF CLR 1 THEN Q D 7 DIN Q D 6 DIN Q D 5 DIN Q D 4 DIN Q D 3 DIN Q D 2 DIN Q D 1 DIN Q D 0 DIN Q Q ST0 END CASE END IF END PROCESS PROCESS Q 临沂大学 2013 届本科毕业论文 设计 16 BEGIN IF Q ST8 THEN DOUT D END IF END PROCESS END behave 2 密码检测模块 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL ENTITY SCHK IS PORT DIN CLK CLR IN STD LOGIC D IN IN STD LOGIC VECTOR 7 DOWNTO 0 W OUT BIT AB OUT STD LOGIC VECTOR 3 DOWNTO 0 END SCHK ARCHITECTURE behav OF SCHK IS TYPE ST TYPE IS ST0 ST1 ST2 ST3 ST4 ST5 ST6 ST7 ST8 SIGNAL Q ST TYPE SIGNAL D STD LOGIC VECTOR 7 DOWNTO 0 SIGNAL P STD LOGIC VECTOR 1 DOWNTO 0 SIGNAL E STD LOGIC VECTOR 3 DOWNTO 0 SIGNAL R STD LOGIC BEGIN D D IN PROCESS CLK CLR BEGIN IF CLR 1 THEN Q ST0 E 0000 ELSIF CLK EVENT AND CLK 1 THEN E IF DIN D 7 THEN Q ST1 ELSE Q IF DIN D 6 THEN Q ST2 ELSE Q IF DIN D 5 THEN Q ST3 ELSE Q IF DIN D 4 THEN Q ST4 ELSE Q IF DIN D 3 THEN Q ST5 ELSE Q IF DIN D 2 THEN Q ST6 ELSE Q IF DIN D 1 THEN Q ST7 ELSE Q IF DIN D 0 THEN Q ST8 ELSE Q Q ST0 END CASE END IF END PROCESS PROCESS Q BEGIN IF Q ST8 THEN AB 1010 R 1 ELSE AB 1011 R 0 END IF END PROCESS PROCESS E BEGIN IF R 1 THEN W 0 ELSIF E 8 AND R 0 THEN W 1 ELSE W 0 END IF END PROCESS END behav 3 错误计数模块 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL ENTITY CNT4 IS PORT CLK IN STD LOGIC Q OUT STD LOGIC VECTOR 3 DOWNTO 0 END ARCHITECTURE BHV OF CNT4 IS SIGNAL Q1 STD LOGIC VECTOR 3 DOWNTO 0 BEGIN PROCESS CLK BEGIN IF CLK EVENT AND CLK 1 THEN Q1 Q1 1 END IF 临沂大学 2013 届本科毕业论文 设计 18 END PROCESS Q Q1 END BHV 附录 2 设计说明书 本次设计我选择了数字密码锁 设计要求是 8 位二进制 串行输入 有开锁和错误 提示 经研究及查阅资料后 决定采用摩尔 moore 来实现密码的预置和检测并以 LED 数码管指示开锁是否成功 其原理图如图所示 模块 shezhimima 实现密码预置功能 用户可以自行设置密码 而且密码可更改 模 块 SCHK 实现密码检测功能 当用户输入的待测密码与上一次输入的密码一致之时开锁 成功 此时 LED 数码管指示将由 b 跳变为 A 本电路基本由 PLD 来实现需外接 1 个共阴数 码管 6 个按键 6 个 LED 指示灯 附录 3 使用说明书 首先预置密码 当 CLR1 键 6 在低电平的状态下 DIN1 键 7 端可设 置密码 给 CKL1 键 8 输入八下计数脉冲即可完成密码的预置 然后进行密码检测 CLR2 键 1 在低电平的状态下
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司文明诚信活动方案
- 2025年药品安全管理考试试题及答案
- 2025年医疗卫生系统综合能力考试试卷及答案
- 2025年心理治疗师认证考试试卷及答案
- 2025年现代职业教育理论与实践考试试卷及答案
- 2025年特殊教育教师资格考试卷及答案
- 2025年数字内容运营人才招聘考试试卷及答案
- 2025年人际传播与关系管理考试试卷及答案
- 追寻生命意义与心理健康
- 做一个身心健康的中学生
- GB/T 91-2000开口销
- GB/T 18981-2008射钉
- 质量管理体系认证审核活动常见问题的风险控制解决方案 试题
- 青花瓷中国风ppt
- 安全生产普法宣传课件
- 22104铜及铜合金焊接施工工艺标准修改稿
- DB43-T 1991-2021油茶低产林改造技术规程
- 医疗器械包装微生物屏障性能测试方法探讨
- 柬埔寨各职能部门
- 项目管理之总师项目管理办法
- TAPPI标准的代码和内容
评论
0/150
提交评论