1、草鱼河南科技大学草 鱼课 草鱼程 草鱼设 草鱼计 草鱼说 草鱼明 草鱼书草鱼草鱼草鱼程名称课 草鱼 草鱼现代电子系统课程设计草鱼草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 题 草鱼 草鱼 草鱼 草鱼目 草鱼 草鱼 草鱼 草鱼堆栈处理器的设计 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼草鱼 草鱼草鱼草鱼草鱼草鱼草鱼草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼学 草鱼 草鱼 草鱼 草鱼院 草鱼 草鱼 草鱼 草鱼 草鱼* 草鱼 草鱼 草鱼 草鱼 草鱼草鱼草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼班 草鱼 草鱼 草鱼 草鱼 级 草鱼 草鱼 草鱼 草鱼
2、草鱼* 草鱼 草鱼 草鱼 草鱼 草鱼草鱼草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼学生姓名 草鱼 草鱼 草鱼 草鱼 草鱼* 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼草鱼草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼指 教导 师 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼* 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼草鱼草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼日 草鱼 草鱼 草鱼 草鱼期 草鱼 草鱼 草鱼 草鱼 草鱼* 草鱼 草鱼 草鱼 草鱼 草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼课程设计任务书草鱼(指导教师填写)草鱼草
3、鱼课程设计名称 草鱼现代电子系统课程设计 草鱼学生姓名 草鱼* 草鱼专业班级 草鱼* 草鱼 草鱼草鱼设计题目 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼堆栈处理器的设计 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼1草鱼 草鱼 草鱼 草鱼草鱼一、por k 草鱼课程设计目的草鱼掌握LPM模块的使用方法;pork 草鱼掌握GW48_SOPC实验箱的使用方法;pork 草鱼了解基于FPGA的电子系统的设计方法。草鱼草鱼二、por k
4、 草鱼设计内容、pork技术条件和要求草鱼设计一个具有如下功能的堆栈处理器。草鱼草鱼(1)基本要求:pork 草鱼草鱼a与外部数据线的数据交换符合堆栈要求(先进后出);pork 草鱼草鱼b对存储的数据能进行算术运算;pork 草鱼c数据位数不少于8位;pork 草鱼d通过数码管显示操作数据及运算结果。草鱼草鱼(2)发挥部分草鱼a具有错误提示功能;pork 草鱼b数据位数不少于16位;pork 草鱼c其它。草鱼草鱼、por k 草鱼 进 草鱼课题和 解:pork1 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 、pork设计:pork4 草鱼实验
5、:pork3 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 写 :pork2 草鱼、por k 草鱼 要 草鱼草鱼 电子系统设计 草鱼 学出 草鱼2008.1 草鱼 草鱼业 草鱼 EDA技术实用教程 草鱼学出 草鱼2006.10 草鱼 草鱼 现代电子系统设计 实验指导书 草鱼电currency1电子实验教学“ 草鱼2009.8 草鱼草鱼草鱼指导教师:pork 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草
6、鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼2010 草鱼12fi3fl 草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼摘 草鱼要草鱼草鱼 草鱼 草鱼 草鱼草鱼堆栈处理器具有个功能 鱼 先它与数据线的数据交换符合堆栈的要求(先进后出);por k能对存储的数据进行算术运算。草 鱼本设计基于FPGA用VHDL”实现的一个堆栈处理器 鱼有一个RAM进行堆栈的数据存储操作鱼 有个 存器存运算器的 和运算结果。草鱼草鱼草鱼堆栈处理器的 要部分如下:por k 草鱼草 鱼 草 鱼堆栈存储器:por k进行数据的存储堆栈处理器的基本功能 鱼的堆栈存储器一个用存储和 数据的RAM鱼它的存储和 符合堆栈先
7、进后出2的要求鱼具的实现方法 后的方 。草鱼草鱼草鱼 草鱼运算器:por k运算器的功能对处于栈 的个数据进行算术运算( 、pork 、por k 、por k )鱼 运算结果 部分鱼进行下一 的操作。草鱼草鱼模块:por k 堆栈处理器的 操作(栈、pork出栈、pork算术运算)、pork 、pork设 和RAM的生。草鱼草鱼显示模块:por k用显示A、porkB 存器的数据、pork数据线数据和 数据的实 显示。草鱼草鱼草鱼草鱼关键词:po rk堆栈、por k算术运算、por k 、por k显示、por kFPGA、por kVHDL 草鱼草鱼草鱼草鱼草鱼草鱼草鱼3目 草鱼 草鱼录
8、草鱼草鱼草鱼一、p or k任务解 草鱼二、p or k系统方 草鱼2.1方 4 草鱼2.2系统结 与 理 4 草鱼、p or k数据子系统的设计 草鱼3.1堆栈存储器的设计 4 草鱼3.2运算器的设计 5 草鱼3.3数据 6 草鱼、p or k 子系统 6 草鱼4.1方 6 草鱼4.2 部分的实现 7 草鱼、p or k结 8 草鱼5.1 结果 8 草鱼5.2系统分 11 草鱼、p or k“ 11 草鱼草鱼草鱼4一、p or k任务解 草鱼( ) 据任务要求鱼堆栈处理器与线的数据交换要符合先进后出的 则 鱼它一个具有数据存储和 功能的RAM 鱼为了便于测试 鱼我们设定了一个8*8的RAM鱼
9、它的数为8鱼每个为8位鱼满足了数据位数为8的要求。草鱼草鱼堆栈定义一个堆栈指针SP 鱼用表征存储RAM的位 鱼当进行栈操作PUSH 鱼数据存为SP的单元后 鱼SPSP- ;pork而进行出栈操作POP 鱼 SP单元的数据 出后 鱼SPSP+ 。草 鱼当指针处于栈 鱼对应满栈 鱼应有满栈信号FULL= 鱼此 不能进行栈PUSH。草鱼当SP=8 鱼指针处于栈底鱼对应栈空鱼应有栈空信号EMPTY= 鱼此 不进行出栈POP。草鱼草鱼(2)堆栈处理器的第二个功能算术运算操作鱼 先应有 个算术运算的指示信号鱼 信号ADD、porkSUB、porkMUL、porkDIV。草鱼算术运算的过程把分别为SP和SP
10、+ 的个数据分别 运算器进行运算 鱼运算后 结果 为SP+ 的。草鱼草鱼当栈只有一个 不能进行算术运算 鱼因此应有一个ONE指示信号 鱼当指针为7 鱼栈内只有一个鱼指示信号ONE= 。草鱼草鱼( ) 器 要用设 个 位的 鱼数据的具流向、pork存储 鱼 显示模块的显示。草鱼草鱼( )对于显示的部分鱼只需 数据线的数据 数码管显示电 。草鱼草鱼(5)系统框图的确定草鱼由上分 到堆栈处理器的功能框图和系统 理框图如下所示:pork 草鱼草鱼草鱼堆栈存储器数据 DIN(SP)生器数据 出DOUT运算器器 存器信号 出FULL、EMPTY、ONE、READ、FA、FB操作信号 PUSH、POP、算术
11、操作显示模块(显示A、B存器数据线和数据内容)草鱼图一、por k系统 理框图草鱼草鱼5草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼图二、por k功能框图草鱼二、p or k系统方 草鱼2.1方 草鱼方一:por k采用数逻辑电 鱼 据堆栈处理器的 和逻辑关系画出卡诺图鱼分 其逻辑关系鱼使用触发器、por k门电 等一系列芯片连接电 实现堆栈处理器的功能。草鱼草鱼但由于堆栈处理器的 多 鱼逻辑关系分 起 复杂 鱼而且需要 量的芯片鱼电 连接复杂鱼不易实现鱼不理想方。草鱼草鱼方二:pork采用FPGA实现 鱼用”描 或者微程序法实现 和逻辑关系。草鱼草鱼 方之于第一 方 容易实现
12、鱼省去了复杂的电 连接 鱼而且堆栈处理器的RAM鱼及 法器鱼 法器鱼 法器鱼 法器都定 鱼相对说鱼省去了 建运算器的currency1作量。草鱼因此我们选择了方二作为我们的设计方。草鱼草鱼2.2系统结 与 理草鱼本方的系统 理图见图一 鱼它 要包括数据子系统和 子系统 模块鱼下我们讨具功能的实现。草鱼、p or k数据子系统的设计草鱼草鱼 草鱼 草鱼 草鱼数据子系统包括对数据的存储、pork运算、por k传 及 子系统之 的条件和 信号交换部分 鱼下从几个方分 数据子系统的设计和实现法。草鱼草鱼3.1堆栈存储器的设计草鱼方一:pork定 RAM 鱼然后 据 操作对RAM的访问不 鱼编写一个R
13、AM的 写 器鱼它生 写 信号和相应的RAM。草鱼草鱼方二:pork用”编写鱼我们采用了”编写了一个RAM鱼 的 操作和RAM整合了一起鱼作为一个堆栈存储器的模块。草鱼草鱼为了便于测试 鱼我们定义一个8*8的RAM作为堆栈存储器 鱼生器生的为指针SP 鱼由于RAM的速 问题 鱼因此我们用个高速的6存器A、porkB数据线进行数据交换鱼而RAM作为后备不直接和数据线通信鱼样解决了RAM的 写速 慢的问题。草鱼图示为堆栈存储器的结 框图。草鱼草鱼堆栈存储器的currency1作有 个方:por k栈、pork出栈和算术运算。草鱼由于添 了个 存器 鱼因此数据的流向不再简单的 数据存储到RAM 鱼下
14、分别讨 方的数据流向问题:por k 草鱼存器RAM8*8存器BDATA_BUS草鱼图 、por k堆栈存储器的结 草鱼栈(PUSH)操作:por k 草鱼草鱼 草鱼 草鱼 草鱼A鱼B 空 :porkBDIN。草鱼草鱼空B满 :por kADIN。草鱼草鱼A、porkB 满 :porkRAMB鱼BA鱼ADIN。草鱼草鱼出栈(POP)操作草鱼草鱼 草鱼 草鱼 草鱼A鱼B 满:porkDOUTA。草鱼草鱼A空B满:porkDOUTB。草鱼草鱼A鱼B 空:porkBRAM鱼DOUTB。草鱼草鱼(3)算术运算(OP)操作:pork 草鱼A鱼B 满:porkBA(OP)B。草鱼草鱼A空B满:porkAB
15、鱼BRAM鱼BA(OP)B。草鱼草鱼A鱼B 空:porkBRAM鱼AB鱼BRAM鱼BA(OP)B。草鱼草鱼由上分 出堆栈处理器的currency1作 :por k 草鱼只有A 鱼B 存器和外部线进行数据交换 鱼RAM只和B 存器进行数据交换。草鱼草鱼设 个 位FA鱼FB指示A鱼B 存器 满。草鱼草鱼应设 一个READY信号鱼指示操作 鱼只有当处理器 出READY信号 进行下一 的操作。草鱼草鱼关于堆栈指针SP鱼为了实现堆栈的要求(先进后出)鱼因此系统的起 鱼SP应指向栈底(RAM的 后一个单元 鱼SP=8) 鱼而且应 到 鱼栈 鱼数据不直接进RAM之 鱼 A、porkB 满的 进行写RAM的操
16、作鱼 RAM(SP)B鱼SPSP 1;por k样的对于出栈鱼应 A、porkB 空后 RAM鱼SPSP+1鱼BRAM(SP)鱼DOUTB。草鱼草鱼栈满信号FULL应 SP=0 鱼 且FA=1 鱼FB=1 指示栈满 鱼 出栈空信号EMPTY的条件FA=0鱼FB=0鱼且SP=8。草鱼草鱼草鱼3.2运算器的设计草鱼7由上的分 我们 运算器的 A 鱼B个 存器的数据 鱼运算器进行相关的运算后 运算结果 B 存器存储起。草鱼草鱼法器和 法器的设计 简单 鱼直接进行 运算了 鱼用”描 的方法 们直接的整合到堆栈存储器的模块之去 鱼不 再去定 相应的模块 鱼 省了部分 ;por k 法器和 法器我们采用定
17、 的方法 鱼 A 鱼B的数据 法器、por k 法器的 鱼然后 结果 堆栈处理器进行处理鱼下图为定 的 法器和 法器。草鱼草鱼Unsignedmultiplicationdataa7.0datab7.0result15.0MULinst2草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼Denom is UNSIGNEDNumer is UNSIGNEDnumer7.0denom7.0quotient7.0remain7.0DIVinst1草鱼图 、por k 法器和 法器草鱼当栈内只有一个数 不能进行算术运算鱼因此 设 一个ONE信号指示栈内数据为一的 鱼提 此 不 行算术运算。草鱼
18、草鱼与堆栈存储器一样 鱼运算器样需要一个READY信号 鱼指示操作 。草鱼草鱼3.3数据 草鱼据上的分 鱼 确了数据系统应有的模块及其操作 则。草鱼 分 的结果我们结出其数据 如下:por k 草鱼存器A的数据 有个 鱼分别数据线和B 存器 鱼只有栈和算术运算 有数据进。草鱼草鱼存器B的数据 个方:por k 存器A、por k数据线、porkRAM和运算器的运算结果。草鱼草鱼RAM的数据 存器B鱼不和其它设备进行数据的交换。草鱼草鱼出的数据 存器A和 存器B 鱼任 出都要 过个 存器 能 出。草鱼草鱼运算器的数据 存器A和 存器B鱼运算结果 出到 存器B。草鱼草鱼此 鱼我们 分 了堆栈存储器
19、的设计 鱼设计方 鱼及实现的方法 鱼 据上 出的逻辑关系和数据流向写出数据子系统的VHDL”代码。草鱼草鱼、p or k 子系统设计草鱼4.1方 草鱼方一:por k采用微程序法实现草鱼子系统的微程序设计用于系统复杂鱼系统的MDS图的 数目多鱼 出量多的鱼而且它具有设计 、pork易于模块、por k便于二currency1、por k便于“的有 。草鱼其基本结 如下图所示。草鱼草鱼8ROMD触发器 出草鱼图 、por k微程序设计基本结 草鱼本系统的 量多 鱼系统复杂 鱼因而使用微程序设计的方法 合于个系统。草鱼草鱼方二:por k”描 草鱼之于微程序设计的方法说 鱼”描 的方法相对说 鱼因
20、为量多 鱼写程序的 复杂 鱼需要 的分 系统 鱼 则 导fi数据fl 等一系列的后果 鱼但如所 鱼设计数据子系统的 鱼 及到了 操作的数据流向及 的问题 鱼再进行一相关描 有复 鱼因此我们 的使用”描 的方 鱼 子系统和数据子系统相结合鱼用数据子系统的 进行 子系统的设计。草鱼草鱼然 方有者样 起模块” 鱼但由于和数据子系统结合一起 鱼 程序 容易了解整个系统的currency1作流程 鱼需要“ 不 对 个模块一的“。草鱼草鱼4.2 部分的实现草鱼数据子系统我们讨了 操作的数据流向的问题 鱼但 有 确的指出数据的存储 及 信号的 鱼 据上分 的数据流向的基 上鱼我们 上 位进行 的 :por
21、k 草鱼(1)栈PUSH 草鱼FA=0鱼FB=0:porkBDIN鱼FB1;por k 草鱼FA=0鱼FB=1:porkADIN鱼FA1;por k 草鱼FA=1 鱼FB=1:por kRAM(SP)B 鱼SPSP 1 鱼BA 鱼ADIN 鱼FA1鱼FB1;pork 草鱼草鱼 草鱼 草鱼 草鱼(2)出栈POP 草鱼FA=1鱼FB=1:porkDOUTA鱼FA0;por k 草鱼FA=0鱼FB=1:porkDOUTB鱼FB0,;por k 草鱼FA=0 鱼FB=0:por kSPSP+1 鱼BRAM(SP) 鱼DOUTB 鱼FA0 鱼FB0;por k 草鱼(3)算术运算OP 草鱼FA=1鱼FB
22、=1:porkBA(OP)B鱼FA=0鱼FB=1;por k 草鱼FA=0 鱼FB=1:porkAB 鱼SPSP+1 鱼BRAM(SP) 鱼BA(OP)B 鱼FA=0鱼FB=1;pork 草鱼FA=0 鱼 FB=0:porkSPSP+1 鱼 BRAM(SP) 鱼 AB 鱼 SPSP+1 鱼BRAM(SP)鱼BA(OP)B鱼FA=0鱼FB=1;pork 草鱼(4)READY信号草鱼READY信号用指示 进行操作 鱼因此当有操作 (PUSH 鱼9POP鱼草鱼OP) 鱼READY0 鱼此 操作信号的 鱼而当当操作结后 鱼应READY复为1 鱼其 操作的进行。草 鱼用下的方法实现READY的 :por
23、kIF(PUSHPOPOP)READY0READY1;pork 草鱼(5)ONE信号草鱼ONE信号指示栈内只有一个数据的鱼指示ONE有 :por k 草鱼FA=0鱼FB=1鱼SP=8 草鱼FA=0鱼FB=0鱼SP=7;por k 草鱼据堆栈的 鱼栈先B 存器鱼出栈先出A 存器鱼因而草鱼不 出现A满B空的鱼因此FA=1鱼FB=0鱼SP=8的不 。草鱼草鱼(6) 法、por k 法的数据处理草鱼由于定 的 、por k 法器鱼因此进行 的运算 鱼 器要 A、porkB 草鱼存器的 出 、por k 法器鱼然后接个运算器的结果鱼对其进行处理后存储起鱼 且显示运算结果。草鱼草鱼我们对 法和 法作如下的
24、 定:pork个8位的数据相 之后 到的16位的结果 鱼我们只其底8位 鱼当结果的高8位有结果 鱼 出错误 鱼表示运算出;por k对于 法鱼我们只 其 鱼对 数不 处理。草鱼草鱼(7)显示部分的 草鱼由于要求显示A、por kB 存器鱼数据线鱼和 数据的 鱼因此 模块 要把A、porkB 存器鱼数据线的数据 数码管显示鱼 要实 的显示 数据的 。草鱼草鱼FULL信号和EMPTY信号3.1 进行过 鱼不再讨。草 鱼到此为 鱼我们 把 部分的设计讨结 鱼结合数据子系统的设计 鱼我们 到了 的堆栈处理器鱼它实现堆栈和基本的算术运算操作。草鱼草鱼、p or k结草鱼5.1 结果草鱼由于堆栈处理器的 出量多 鱼把所有的 出一起进行 草鱼不易 结果 鱼 不到内部个 的 鱼数据的存储等 鱼因此分块对系统进行 鱼分别对栈PUSH鱼出栈POP鱼算术运算OP进行 鱼下 的结果。草鱼草鱼栈PUSH的 草鱼10