1、 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 题 草鱼 草鱼 草鱼 草鱼 目 草鱼 草鱼 草鱼 基于 FPGA 乒乓球游戏机 Verilog 设计 草鱼 草鱼 草鱼 学 草鱼 草鱼 草鱼 草鱼 院 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 通信工程 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼草鱼 专业班级 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 通信 081班 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼草鱼 学生姓名 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草
2、鱼 草鱼 草鱼 草鱼 草鱼 大彬哥 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼草鱼 指导教师 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 大力会 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼草鱼 草鱼 草鱼 2013 年 草鱼 草鱼 6 月 草鱼 12 日EDA 设计基础实验课程论文 I 摘 草鱼 草鱼 要 草鱼 本文使用 草鱼 FPGA 草鱼 芯片来模拟实际的乒乓球游戏 。 草鱼 本设计是基于 草鱼 Altera 草鱼 公司的
3、FPGA 草鱼Cyclone 草鱼 II 草鱼 芯片 草鱼 EP2C5T144C8 草鱼 的基础上实现 , 鲤鱼 运用 草鱼 Verilog 草鱼 HDL 草鱼 语言编程 , 鲤鱼 在 草鱼Quartus 草鱼 II 草鱼 软件上进行编译 、 pork仿真 , 鲤鱼 最终在开发板上成功实现下载和调试 草鱼 草鱼 关键词 : pork编译 草鱼 草鱼 仿真 草鱼草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 EDA 设计基础实验课程论文 II Abstract 草鱼 草鱼This 草鱼paper 草鱼uses 草鱼th
4、e 草鱼FPGA 草鱼chip 草鱼 to 草鱼 simulate 草鱼 the 草鱼actual 草鱼table 草鱼tennis 草鱼game. 草鱼The 草鱼design 草鱼is 草鱼based 草鱼on 草鱼Altera 草鱼 company 草鱼 Implementation 草鱼 of 草鱼 FPGA 草鱼 Cyclone 草鱼based 草鱼on 草鱼II 草鱼chip 草鱼EP2C5T144C8, 草鱼using 草鱼 Verilog 草鱼 HDL 草鱼programming 草鱼 language, 草鱼 compile, 草鱼 simulation 草鱼 in 草鱼Qu
5、artus 草鱼IIsoftware, 草鱼finally 草鱼successfully 草鱼 in 草鱼 the 草鱼development 草鱼 board 草鱼 download 草鱼 and 草鱼 debug 草鱼 Keywords: 草鱼 Compile; porkSimulation 草鱼 草鱼 草鱼草鱼 草鱼草鱼 草鱼草鱼 草鱼草鱼 草鱼草鱼 草鱼草鱼 草鱼草鱼 草鱼草鱼 草鱼草鱼 草鱼草鱼 草鱼 草鱼草鱼 草鱼草鱼 草鱼草鱼 目录 草鱼 摘 草鱼 草鱼 要 I 草鱼 Abstract II 草鱼 第 1 章 草鱼 绪论 1 草鱼 1.1 草鱼 草鱼 概述 1 草鱼 1.2 Ve
6、rilog 草鱼 语言介绍 1 草鱼 1.2.1 草鱼 草鱼Verilog 草鱼 语言的用途 1 草鱼 1.2.2 草鱼 草鱼 Verilog 草鱼 的历史 2 草鱼 1.2.3 草鱼 草鱼 Verilog 草鱼 模块 2 草鱼 1.3 草鱼 草鱼 本文研究的意义 2 草鱼 第 2 章 草鱼 Verilog 的基本理论 3 草鱼 2.1 草鱼 草鱼 Verilog 模块的定义 3 草鱼 2.2 草鱼 Verilog 模块的组成 3 草鱼 EDA 设计基础实验课程论文 III 2.3 草鱼 草鱼 EP2C5T144C8 芯片简介 4 草鱼 2.3.1 草鱼 草鱼 EP2C8 开发板功能 4 草鱼
7、 2.3.2 开发板功能描述 4 草鱼 2.3.3 EP2C5T144C8 芯片的引脚图 4 草鱼 2.4 草鱼 草鱼Verilog 硬件描述语言的主要能力 5 草鱼 第 3 章 草鱼 乒乓球 游戏机的软件设计 6 草鱼 3.1 草鱼 草鱼 乒乓球游戏机系统组成 6 草鱼 3.1.2 功能模块设计 6 草鱼 3.2 草鱼 草鱼 发球权控制器 7 草鱼 3.3 乒乓球位置控制 7 草鱼 3.3.1 基于 草鱼 FPGA 乒乓球比赛游戏机顶层原理图 10 草鱼 结论 10 草鱼 参考文献 11 草鱼 附录 12 草鱼 草鱼 草鱼EDA 设计基础实验课程论文 1 第 1 章 草鱼 绪论 草鱼 1.1
8、 草鱼 草鱼 概述 草鱼 随着低复杂度 FPGA 器件成本的不断下降 , 鲤鱼 具有灵活性和及时面市优势的 FPGA 与 草鱼 ASIC相比更有竞争性 , 鲤鱼 在 数字消费市场上的应用也急剧增加 。 草鱼 第一代 Cyclone 系列迄今发售了 3百多万片 , 鲤鱼 在全球拥有 3,000 多位客户 , 鲤鱼 对大批量低成本数字消费市场有着巨大的影响 , 鲤鱼 该市场消纳了三分之一的器件 。 草鱼 根据 Gartner 草鱼 Dataquest 调查 , 鲤鱼 在 2004 年光消费电子市场对 FPGA 需求就将达到 3 亿 9 千万美元 , 鲤鱼 预计到 2008 年 , 鲤鱼 将增加到
9、11亿 6千万美元 , 鲤鱼 年复合增长率 (CAGR)为 31.9%。 草鱼草鱼 同时 , 鲤鱼 Cyclone 草鱼 II 器件系列也在电信 、 pork计算机外设 、 pork工业和汽车市场 上获得了巨大的进步 。 草鱼 Cyclone 草鱼 II 器件包含了许多新的特性 , 鲤鱼 如嵌入存储器 、 pork嵌入乘法器 、 porkPLL 和低成本的封装 , 鲤鱼 这些都为诸如视频显示 、 pork数字电视 (DTV)、 pork机顶盒 (STB)、 porkDVD 播放器 、 porkDSL调制解调器 、 p ork家用网关和中低端路由器等批量应用进行了优化 。 草鱼草鱼 成本优化的架
10、构 草鱼 Cyclone 草鱼 II 器件采用 TSMC90nm 低 K 绝缘材料工艺技术 , 鲤鱼 这种技术结合 Altera 低成本的设计方式 , 鲤鱼 使之能够在更低的成本下制造出更大容量的器件 。 草鱼 这种新的器件比第一代Cyclone 产品具有两倍多的 I/O 引脚 , 鲤鱼 且对可编程逻辑 , 鲤鱼 存储块和其它特性进行了最优的组合 , 鲤鱼 具有许多新的增强特性 。 草鱼草鱼 Verilog 草鱼 语言介绍 草鱼 Verilog 草鱼 HDL 是一种硬件描述语言( HDL:Hardware 草鱼 Discription 草鱼 Language) , 鲤鱼 是一种以文本形式来描述
11、数字系统硬件的结构和行为的语言 , 鲤鱼 用它可以表示逻辑电路图 、 pork逻辑表达式 , 鲤鱼 还可以表示数字逻辑系统所完成的逻辑功能 。 草鱼 草鱼 Verilog 草鱼 HDL 和 VHDL是目前世界上最流行的两种硬件描述语言 , 鲤鱼 都是在 20 世纪 80 年代中期开发出来的 。 草鱼 前者由 Gateway 草鱼 Design 草鱼 Automation 公司(该公司于 1989 年被 Cadence 公司收购)开发 。 草鱼 两种 HDL 均为 IEEE 标准 。 草鱼 草鱼草鱼 Verilog 草鱼 HDL 是一种硬件描述语言 , 鲤鱼 用于从算法级 、 pork门级到开关
12、级的多种抽象设计层次的数字系统建模 。 草鱼 被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间 。 草鱼 数字系统能够按层次描述 , 鲤鱼 并可在相同描述中显式地进行时序建 模 。 草鱼草鱼 Verilog 草鱼 HDL 草鱼 语言具有下述描述能力 : pork设计的行为特性 、 pork设计的数据流特性 、 pork设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制 。 草鱼 所有这些都使用同一种建模语言 。 草鱼 此外 , 鲤鱼 Verilog 草鱼 HDL 语言提供了编程语言接口 , 鲤鱼 通过该接口可以在模拟 、 p ork验证期间从设计外部访问设计
13、, 鲤鱼 包括模拟的具体控制和运行 。 草鱼草鱼 Verilog 草鱼 HDL 语言不仅定义了语法 , 鲤鱼 而且对每个语法结构都定义了清晰的模拟 、 pork仿真语义 。 草鱼 因此 , 鲤鱼 用这种语言编写的模型能够使用 Verilog 仿真器进行验证 。 草鱼 语言从 C编程语言中继承了多种操作符和结构 。 草鱼 Verilog 草鱼 HDL 提供了扩展的建模能力 , 鲤鱼 其中许多扩展最初很难理解 。 草鱼 但是 , 鲤鱼 Verilog 草鱼 HDL 语言的核心子集非常易于学习和使用 , 鲤鱼 这对大多数建模应用来说已经足够 。 草鱼 当然 , 鲤鱼 完整的硬件描述语言足以对从最复杂
14、的芯片到完整的电子系统进行描述 。 草鱼 草鱼草鱼 1.2.1 草鱼 草鱼 Verilog 草鱼 语言的用途 草鱼 Verilog 草鱼 HDL 就是在用途最广泛的 C语言的基础上发 展起来的一种硬件描述语言 , 鲤鱼 它是由 GDA(Gateway 草鱼 Design 草鱼 Automation)公司的 PhilMoorby 在 1983 年末首创的 , 鲤鱼 最初只设计了一个仿真与验证工具 , 鲤鱼 之后又陆续开发了相关的故障模拟与时序分析工具 。 草鱼 1985年 Moorby 推出它的第三个商用仿真器 Verilog-XL,获得了巨大的成功 , 鲤鱼 从而使得Verilog 草鱼 HD
15、L迅速得到推广应用 。 草鱼 1989年 CADENCE公司收购了 GDA公司 , 鲤鱼 使得 VerilogHDL成为了该公司的独家专利 。 草鱼 1990 年 CADENCE 公司公开发表了 Verilog 草鱼 HDL,并成立 LVI组织以促进 Verilog 草鱼 HDL 成为 IEEE标准 , 鲤鱼 即 IEEE 草鱼 Standard 草鱼 1364-1995.草鱼 EDA 设计基础实验课程论文 2 Verilog 草鱼 HDL 的最大特点就是易学易用 , 鲤鱼 如果有 C语言的编程经验 , 鲤鱼 可以在一个较短的时间内很快的学习和掌握 , 鲤鱼 因而可以把 Verilog 草鱼
16、HDL 内容安排在与 ASIC 设计等相关课程内部进行讲授 , 鲤鱼 由于 HDL语言本身是专门面向硬件与系统设计的 , 鲤鱼 这样的安排可以使学习者同时获得设计实际电路的经验 。 草鱼 与之相比 , 鲤鱼 VHDL 的学习要困难一些 。 草鱼 但 Verilog 草鱼 HDL较自由的语法 , 鲤鱼 也容易造成初学者犯一些错误 , 鲤鱼 这一点要注意 。 草鱼草鱼 1.2.2 草鱼 草鱼 Verilog 草鱼 的历史 草鱼 Verilog 草鱼 HDL 语言最初是于 1983 年由 Gateway 草鱼 Design 草鱼 Automation 公司为其模拟器产品开发的硬件建模语言 。 草鱼
17、那时它只是一种专用语言 。 草鱼 由于他们的模拟 、 pork仿真器产品的广泛使用 , 鲤鱼 Verilog 草鱼 HDL 草鱼 作为一种便于使用且实用的语言逐渐为众多设计者所接受 。 草鱼 在一次努力增 加语言普及性的活动中 , 鲤鱼 Verilog 草鱼 HDL 语言于 1990年被推向公众领域 。 草鱼 草鱼 Open 草鱼 Verilog 草鱼 International 草鱼 ( OVI)是促进 Verilog 发展的国际性组织 。 草鱼 1992 年 , 鲤鱼 OVI 决定致力于推广 Verilog 草鱼 OVI 标准成为 IEEE 标准 。 草鱼 这一努力最后获得成功 , 鲤鱼
18、Verilog 草鱼 语言于 1995 年成为 IEEE 标准 , 鲤鱼 称为 IEEE 草鱼 Std 草鱼 1364 1995。 草鱼草鱼 1.2.3 草鱼 草鱼 Verilog 草鱼 模块 草鱼 模块是 Verilog 草鱼 的基本描述单位 , 鲤鱼 用于描述某个设计的功能或结构及其与其他模块通信的外部端口 。草鱼 一个设计的结构可使用开关级原语 、 pork门级原语和用户定义的原语方式描述 ;pork 草鱼 设计的数据流行为使用连续赋值语句进行描述 ;por k 草鱼 时序行为使用过程结构描述 。 草鱼 一个模块可以在另一个模块中调用 。 草鱼草鱼 1.3 草鱼 草鱼 本文研究的意义 草
19、鱼 草鱼 通过乒乓球游戏机的开发研究更好的了解使用 FPGA 芯片 , 鲤鱼 , 鲤鱼 运用 草鱼 Verilog 草鱼 HDL 草鱼 语言编程 , 鲤鱼 使自己在理论上和实验室条件下达到了比较高 的水平 。 草鱼草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 EDA 设计基础实验课程论文 3 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 第 2 章 草鱼 Verilog 的基本理论 草鱼草鱼 2.1 草鱼 草鱼 Verilog 模块的定义 草鱼 末块的定义从关键字 module 开始
20、 , 鲤鱼 到关键字 endmodule 结束 , 鲤鱼 每条 Verilog 草鱼 HDL 语句以“ ; p ork”做为结束(块语句 、 pork编译向导 、 porkendmodule 等少数除外) 。 草鱼 草鱼 草鱼草鱼 Verilog 模块的组成 草鱼 一个完整的 Verilog 模块由以下五个部分组成 : p ork草鱼 1 草鱼 模块定义行 : porkmodule 草鱼 module_name 草鱼 (port_list);pork草鱼 2 草鱼 说明部分用于定义不同的项 , 鲤鱼 例如模块描述中使用的寄存器和参数 。 草鱼 语句定义设计的功能和结构 。 草鱼 说明部分和语句
21、可以散布在模块中的任何地方 ; pork但是变量 、 pork寄存器 、 pork线网和参数等的说明部分必须在使用前出现 。 草鱼 为了使模块描述清晰和具有良好的可读性 , 草鱼 最 好将所有的说明部分放在语句前 。 草鱼草鱼 说明部分包括 : p ork草鱼 寄存器 , 鲤鱼 线网 , 鲤鱼 参数 : porkreg, 草鱼 wire, 草鱼 parameter草鱼 端口类型说明行 : p orkinput, 草鱼 output, 草鱼 inout草鱼 函数 、 p ork任务 : porkfunction, 草鱼 task, 草鱼 等 草鱼 3 草鱼 描述体部分 : pork这是一个模块最
22、重要的部分 , 鲤鱼 在这里描述模块的行为和功能 , 鲤鱼 子模块的调用和连接 , 鲤鱼 逻辑门的调用 , 鲤鱼 用户自定义部件的调用 , 鲤鱼 初始态赋值 , 鲤鱼 always 块 , 鲤鱼 连续 赋值语句等等 。 草鱼草鱼 4 草鱼 结束行 , 鲤鱼 以 endmodule 结束 , 鲤鱼 注意后面没有分号了 。 草鱼 草鱼草鱼 以下为建模一个半加器电路的模块的简单实例 。 草鱼草鱼 module 草鱼 HalfAdder 草鱼 (A, 草鱼 B, 草鱼 Sum, 草鱼 Carry);pork草鱼 input 草鱼 A, 草鱼 B;pork草鱼 output 草鱼 Sum, 草鱼 Car
23、ry;pork草鱼 assign 草鱼 #2 草鱼 Sum 草鱼 = 草鱼 A 草鱼 草鱼 B;pork草鱼 assign 草鱼 #3 草鱼 Carry 草鱼 = 草鱼 A 草鱼 pork草鱼 endmodule 草鱼 模块的名字是 HalfAdder。 草鱼 草鱼 模块有 4个端口 : 草鱼 两个输入端口 A和 B, 鲤鱼 两个输出端口Sum 和 Carry。 草鱼 由于没有定义端口的位数 , 草鱼 所有端口大小都为 1 位 ; pork同时 , 草鱼 由于没有各端口的数据类型说明 , 草鱼 这四个端口都是线网数据类型 。 草鱼草鱼 模块包含两条描述半加器数据流行为的连续赋值语句 。 草鱼
24、从这种意义上讲 , 鲤鱼 这些语句在模块中出现的顺序无关紧要 , 鲤鱼 这些语句是并发的 。 草鱼 每条语句的执行顺序依赖于 发生在变量 A 和 B 上的事件 。 草鱼草鱼 草鱼 在模块中 , 鲤鱼 可用下述方式描述一个设计 : pork草鱼 1) 草鱼 数据流方式 ;pork草鱼 2) 草鱼 行为方式 ;pork草鱼 3) 草鱼 结构方式 ;pork草鱼 4) 草鱼 上述描述方式的混合 。 草鱼草鱼 EDA 设计基础实验课程论文 4 2.3 草鱼 草鱼 EP2C5T144C8 芯片简介 草鱼草鱼 EP2C5T144C8-FPGA 开发板 (以下简称 EP2C5 开发板 )采用 Altera
25、公司推出的 CYCLONE 草鱼系列芯片 EP2C5T144C8 芯片作为核心处理器进行设计 ,CYCLONE 草鱼 系列芯片可以说是目前市场上性价比较高的芯片 ,比第一代的 EP1C6 或者 EP1C12 等芯片设计上 、 pork内部的逻辑资源上都有很大的改进 ,同时价格也可以被广大客户接受 ;pork虽然 Altera 推出了CYCLONE 草鱼 III 甚至于 IV 代的芯片 ,但是目前市场上价格走势偏高 ,尤其是针对广大初学者的定位 ,目前还不是适合采用 。 草鱼草鱼 2.3.1 草鱼 草鱼 EP2C8 开发板功能 草鱼草鱼 草鱼 板载 EP2C8Q208C8 草鱼 - 草鱼 FPG
26、A 草鱼 核心芯片 ; pork 草鱼 板载 SDRAM 草鱼 -K4S641632-UC60 草鱼 或HY57V641620F 草鱼 TP-7, 鲤鱼 两款 SDRAM 兼容 , 鲤鱼 容量 64Mbit, 鲤鱼 引脚独立 , 鲤鱼 用来做 NIOS 草鱼 II 实验的程序运行空间 ; pork 草鱼 50MHz 有源晶体 , 鲤鱼 提供系统工作主时钟 , 鲤鱼 通过 22 ; pork匹配电阻连接只 CLK0 和 CLK4, 鲤鱼 均可以作为系统时钟使用 ; pork 草鱼 5v 草鱼 电源输入接口 , 鲤鱼 外经 5mm, 鲤鱼 内径3.5mm 草鱼 内正外负 ; pork 草鱼 草鱼
27、电源开关 , 鲤鱼 正视开发板 , 鲤鱼 向上接通电源 ; pork 草鱼 R_C 草鱼 按键 , 鲤鱼 FPGA 的重新配置按键 , 鲤鱼 按下之后 , 鲤鱼 系统重新从 EPCS4 配置芯片中读取程序然后作 ; pork 草鱼 Rst 草鱼 按键 , 鲤鱼 这个用户 IO, 鲤鱼 可以当做用户输入按键使用 , 鲤鱼 也可以分配为系统的复位按键 ; pork 草鱼IN5822 二极管 草鱼 防止电源反接 , 鲤鱼 高速肖特基二极管 ; pork 草鱼 电源工作指示 D2; pork 草鱼 25x2 草鱼 双排直插 2.54 间距用户接口 ; pork 草鱼 1个用户 LED- 草鱼 D4,
28、鲤鱼 引脚独立 , 鲤鱼 没有与接口板进行复用 ; pork 草鱼下载指示灯 D1, 鲤鱼 平时熄灭 , 鲤鱼 下载的时候会亮 , 鲤 鱼按下 R_C 按键的时 草鱼 候也会亮 ; pork 草鱼 JTAG 下载接口 , 鲤鱼 对应下载的文件是 SOF 文间 , 鲤鱼 速度很快 , 鲤鱼 JTAG 将程序直接下载到 FPGA 中 , 鲤鱼但是掉电程序丢失 , 鲤鱼 平时学习推荐使用 JTAG方式 , 鲤鱼 最后固化程序的时候再通过 ASP方式将程序下载到配置芯片中即可 ; pork 草鱼 ASP 下载接口 , 鲤鱼 对应下载的是 POF 文件 , 鲤鱼 速度相对JTAG 比较慢 , 鲤鱼 而且
29、需要重新上电并且拔掉下载线 , 鲤鱼 才能工作 , 鲤鱼 操作相对麻烦 , 鲤鱼 不推荐学习的时候使用 , 鲤鱼 最后需要断电操作的情况下再使用 ASP 下载模式 ; pork 草鱼 4 线制 RS232 串口通信接口以及 SRAM 片选跳线选择 ; pork当与接口板连接时 , 鲤鱼 改引脚与复用 ; pork 草鱼 25x2 草鱼 双排直插 2.54 间距用户接口 ; pork 草鱼 螺丝铜柱支撑 ; pork 草鱼 1085-3.3v 草鱼 稳压芯片 ; pork1117-1.2v 草鱼 稳压芯片 , 鲤鱼 提供 FPGA 核电压 ; pork 草鱼 SRAM 草鱼 芯片 IS61LV2
30、5616AL 草鱼 256kx16b, 鲤鱼 (选配件) ; porkAT24C02- 草鱼 I2C存储器件 草鱼 配置芯片 草鱼 EPCS4( 4Mb) 。 草鱼 草鱼草鱼 开发板 功能描述 草鱼草鱼 草鱼 VGA 草鱼 接口 草鱼 - 草鱼 利用显示器实现显示图片 、 pork文字 ; pork 草鱼 草鱼 PS2 草鱼 接口 草鱼 - 草鱼 可以接入 PS2 草鱼 键盘 ;pork 草鱼 草鱼 串口通信接口 草鱼 - 草鱼 做串口 UART 草鱼 通讯实验 ; pork 草鱼 草鱼 AD 草鱼 输入调节电位器 草鱼 ; pork 草鱼 设置引脚 、porkGND、 porkVCC 草鱼
31、扩展引脚 ; pork 草鱼 草鱼 外设资源接口双排孔接入 ; pork 草鱼 草鱼 外设资源接口双排针接入 ; pork 草鱼 草鱼 DS18B20 草鱼 温度传感器 ; pork 草鱼 草鱼 LCD1602 液晶接口 ; pork 草鱼 草鱼 主板 5v、 pork3.3v 草鱼 电源滤波电路 ;pork 主板与接口板双排针接口 ; porkTL431 草鱼 2.5v 草鱼 基准电压电路 ; pork 草鱼 PCF8563 草鱼 时钟电路 ; pork 草鱼DAC-TLC5615 草鱼 8 位单通道 DA 草鱼 输出 ; pork 草鱼 蜂鸣器电路 ; pork 草鱼 ADC-TLC549
32、 草鱼 8 草鱼 位单通道输入 ; pork8 草鱼位数码管显示 ; pork 草鱼 4x4 草鱼 矩阵键盘输入 ; pork 草鱼 8 草鱼 路 LED 草鱼 输出指示 ; pork 草鱼 红外通讯接口 ; pork 草鱼 4 草鱼 位拨码开关输入 ; p ork 草鱼 主板与接口板双排阵接口 ; pork 草鱼 4 草鱼 位独立按键输入 。 草鱼草鱼 EP2C5T144C8 芯片的引脚图 草鱼草鱼 EDA 设计基础实验课程论文 5 草鱼 2.4 草鱼 草鱼 Verilog 硬件描述语言的主要能力 草鱼草鱼 基本逻辑门 , 鲤鱼 例如 and、 porkor和 nand等都内置在语言中 。
33、草鱼草鱼 草鱼 用户定义原语( 草鱼 UDP)创建的灵活性 。 草鱼 用户定义的原语既可以是组合逻辑原语 , 鲤鱼 也可以是时序逻辑原语 。 草鱼草鱼 草鱼 开关级基本结构模型 , 鲤鱼 例如 pmos 草鱼 和 nmos 等也被内置在语言中 。 草鱼草鱼 草鱼 提供显式语言结构指定设计中的端口到端口的时延及路径时延和设计的时序检查 。 草鱼草鱼 草鱼 可采用三种不同方式或混合方式对设计建模 。 草鱼 这些方式包括 : pork行为描述方式 使用过程化结构建模 ; pork数据流方式 使用连续赋值语句方式建模 ; pork结构化方式 使用门和模块实例语句描述建模 。 草鱼草鱼 草鱼 Veril
34、og 草鱼 HDL 中有两类数据类型 : pork线网数据类型和寄存器数据类型 。 草鱼 线网类型表示构件间的物理连线 , 鲤 鱼而寄存器类型表示抽象的数据存储元件 。 草鱼草鱼 草鱼 能够描述层次设计 , 鲤鱼 可使用模块实例结构描述任何层次 。 草鱼草鱼 草鱼 设计的规模可以是任意的 ; pork语言不对设计的规模(大小)施加任何限制 。 草鱼草鱼 草鱼 Verilog 草鱼 HDL 不再是某些公司的专有语言而是 I 草鱼 E 草鱼 E 草鱼 E标准 。 草鱼草鱼 草鱼 人和机器都可阅读 Verilog 草鱼 语言 , 鲤鱼 因此它可作为 E 草鱼 D 草鱼 A的工具和设计者之间的交互语言
35、 。 草鱼草鱼 草鱼 Verilog 草鱼 HDL 语言的描述能力能够通过使用编程语言接口( 草鱼 P 草鱼 L 草鱼 I)机制进一步扩展 。 草鱼 P 草鱼 L 草鱼 I是允许外部函数访问 Verilog 草鱼 模块内信息 、 pork允许设计者与模拟器交互的例程集合 。 草鱼草鱼 草鱼 设计能够在多个层次上加以描述 , 鲤鱼 从开关级 、 pork门级 、 pork寄存器传送级( 草鱼 RT 草鱼 L)到算法级 , 鲤鱼 包括进程和队列级 。 草鱼草鱼 草鱼 能够使用内置开关级原语在开关级对设计完整建模 。 草鱼草鱼 草鱼 同一语言可用于生成模拟激励和指定测试的验证约束条件 , 鲤鱼 例如
36、输入值的指定 。 草鱼草鱼 草鱼 Verilog 草鱼 HDL 草鱼 能够监控模拟验证的执行 , 鲤鱼 即模拟验证执行过程中设计的值能够被监控和显示 。 草鱼 这些值也能够用于与期望值比较 , 鲤鱼 在不匹配的情况下 , 鲤鱼 打印报告消息 。 草鱼草鱼 草鱼 在行为级描述中 , 鲤鱼 草鱼 Verilog 草鱼 HDL 不仅能够在 RT 草鱼 L 级上进行设计描述 , 鲤鱼 而且能够在体系结构级描述及其算 草鱼 法级行为上进行设计描述 。 草鱼草鱼 草鱼 能够使用门和模块实例化语句在结构级进行结构描述 。 草鱼草鱼 EDA 设计基础实验课程论文 6 草鱼 在 Verilog 草鱼 HDL 草
37、鱼 的混合方式建模能力 , 鲤鱼 即在一个设计中每个模块均可以在不同设计层次上建模 。 草鱼草鱼 草鱼 Verilog 草鱼 HDL 草鱼 还具有内置逻辑函数 , 鲤鱼 例如 pork 草鱼 1 草鱼 分一局 ;pork 草鱼 裁判发出比赛开始信号 ,触发 FPGA 草鱼 内部随机数发生器模块产生首次发球权方 ;pork比赛进行中 ,选手连续两次获得发球权后 , 草鱼 发球权交予对方 ,如未获发球权方发球 , 草鱼 裁判端犯规音响电路鸣响 ;pork6 草鱼 个 LED 草鱼 排列成行模拟乒乓球台(因为我的开发板上只有 6个 LED 灯 , 鲤鱼 比赛开始时候中间两个灯亮 , 鲤鱼 如果有条
38、件的话有 10 来个灯最好了) ;pork 草鱼 点亮的 LED 草鱼 模拟乒乓球 ,受 草鱼 FPGA 草鱼 控制从左到右或从右到左移动 ;pork 草鱼 比赛选手通过按钮输入模拟击球信号 , 草鱼 实现 草鱼LED 草鱼 移位方向的控制 ;pork 草鱼 若发亮的 LED 草鱼 运动在球台中点至对方终点之间时 ,对方未能及时按下击球按钮使其向相反方向移动 , 草鱼 即失去一分 。 草鱼草鱼 草鱼 功能模块设计 草鱼草鱼 图 1 草鱼 中 ,基于 FPGA 草鱼 设计的控制端为整个系统的核心 ,其内部主要由简易随机数发生器 、pork 草鱼 发球权控制器 、 pork 草鱼 乒乓球位置控制器 、 pork 草鱼 甲乙方计分控制器 、 pork 草鱼 犯规音响控制器等模块组成 。 草鱼 整个控制端采用模块化设计 ,先用 草鱼 Verilog 草鱼 语言编写功能模块 ,然后用顶层原理图将各功能模块连接起来 。 草鱼 设计的难点在于协调各模块工作 ,严格遵守各信号间时序关系 。草鱼 本系统采用 50MHz 系统时钟 。 草鱼草鱼 简易随机数发生器比赛首次发球权由随机数发生器产生的数据决定 ,其随机性要求不严 ,