堆栈处理器的设计.docVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
堆栈处理器的设计

何小艇 《电子系统设计》 浙江大学出版社 2008.1 潘松 黄继业 《EDA技术实用教程》 科学出版社 2006.10 齐晶晶 《现代电子系统设计》实验指导书 电工电子实验教学中心 2009.8 摘 要 堆栈处理器是具有两个功能,首先它与数据总线的数据交换符合堆栈的要求(即先进后出);能对存储的数据进行算术运算。本次设计就是基于FPGA用VHDL语言实现的一个堆栈处理器,拥有一个RAM进行堆栈的数据存储操作,同时有两个寄存器存放运算器的输入和运算结果。 堆栈处理器的主要组成部分如下: 堆栈存储器:进行数据的存储是堆栈处理器的基本功能,这里的堆栈存储器就是一个可以用来存储和读取数据的RAM,它的存储和读取符合堆栈先进后出的要求,具体的实现方法将在后面的方案论证中详细论述。 运算器:运算器的功能就是对处于栈顶的两个数据进行算术运算(加、减、乘、除),并将运算结果送至控制部分,进行下一步的操作。 控制模块:控制堆栈处理器的各项操作(入栈、出栈、算术运算)、状态转移、设置各种状态标志和RAM地址的产生。 显示模块:用来显示A、B寄存器中的数据、数据总线数据和输入数据的实时显示。 一、任务解析……………………………………………………………………3 二、系统方案论证………………………………………………………………4 2.1总体方案比较论证……………………………………………………4 2.2系统结构与原理………………………………………………………4 三、数据子系统的设计…………………………………………………………4 3.1堆栈存储器的设计……………………………………………………4 3.2运算器的设计…………………………………………………………5 3.3数据路径………………………………………………………………6 四、控制子系统…………………………………………………………………6 4.1方案论证………………………………………………………………6 4.2控制部分的实现………………………………………………………7 五、总结…………………………………………………………………………8 5.1仿真结果………………………………………………………………8 5.2系统缺陷分析…………………………………………………………11 六、心得体会……………………………………………………………………11 一、任务解析 (1)根据任务要求,堆栈处理器与总线的数据交换要符合先进后出的原则,它是一个具有数据存储和读取功能的RAM,为了便于测试,这里我们设定了一个8*8的RAM,它的字数为8,每个字为8位,满足了数据位数为8的要求。 在堆栈中定义一个堆栈指针SP,用来表征存储字在RAM中的位置,当进行入栈操作PUSH时,数据存入地址为SP的单元后,SP←SP-1;而进行出栈操作POP时,将SP单元的数据读出后,SP←SP+1。当指针处于栈顶,对应满栈,应有满栈信号FULL=1,此时不能进行入栈PUSH。当SP=8时,指针处于栈底,对应栈空,应有栈空信号EMPTY=1,此时不可以进行出栈POP。 (2)堆栈处理器的第二个功能是算术运算操作,首先应有四个算术运算的指示信号,即输入信号ADD、SUB、MUL、DIV。算术运算的过程就是把地址分别为SP和SP+1的两个数据分别送入运算器进行运算,运算后将结果送入地址为SP+1的字中。 当栈中只有一个字时不能进行算术运算,因此应有一个ONE指示信号,当指针为7时,栈内只有一个字,指示信号ONE=1。 (3)控制器主要用来设置各个标志位的状态,数据的具体流向、存储路径,控制显示模块的显示。 (4)对于显示的部分,只需将数据总线的数据送至数码管显示电路即可。 (5)系统框图的确定 由以上分析可以得到堆栈处理器的功能框图和系统原理框图如下所示: 图一、系统原理框图 图二、功能框图 二、系统方案论证 2.1总体方案比较论证 方案一:采用数字逻辑电路,根据堆栈处理器的各种状态转移和逻辑关系画出卡诺图,分析其逻辑关系,使用触发器、门电路等一系列芯片来连接电路实现堆栈处理器的功能。 但是由于堆栈处理器的状态转移较多,逻辑关系分析起来比较复杂,而且会需要大量的芯片,电路连接复杂,不易实现,不是理想方案。 方案二:采用FPGA实现,用语言描述或者微程序法实现各种状态转移和逻辑关系。 这种方案较之于第一种方案比较容易实现,省去了复杂的电路连接,而且堆栈处理器的RAM,以及加法器,减法器,乘法器,除法器都可以定制,相对来说,省去了构建运算器的工作量。因此我们选择了方案二作为我们的设计方案。 2.2系统结构与原理 本方案的系统原理图见图一,它主要包括数据子系统和控制子系统两大模块,下面我们来讨论具体功能的实现。 三、数据子系统的设计 数据

文档评论(0)

wannian118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档