Xilinx FPGA设计与实践教程 教学课件 作者 赵吉成 第11 16章 第13章.ppt

Xilinx FPGA设计与实践教程 教学课件 作者 赵吉成 第11 16章 第13章.ppt

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
 13.1 PicoBlaze架构介绍   第六章详细介绍了通过RTL级代码描述的带数据路径的状态机,可以提供将时序逻辑转化成定制硬件电路的方法。如图13-1(a)所示,在ASMD状态图中,所有的组件包括寄存器的个数、输入输出路径、功能单元的数目和类型以及控制状态机,都可以根据目标应用来裁剪,其中数据路径可能包括多个功能单元和路径。 图13-1 FSMD状态图以及微控制器基本框图   还有一种方法,就是在保持硬件不变的情况下,采用不同的定制软件指令来实现不同的应用。那么数据传输可以按照下面的步骤来执行:   (1) 用固定配置模式来替换可定制数据路径。如图13-1(b)所示,数据寄存器和定制路径网络用寄存器文件替换。寄存器文件包括一定数目的寄存器以及两个读端口和一个写端口;可定制功能单元用算术逻辑单元(Arithmetic and Logic Unit,ALU)来替换。ALU仅仅执行设置和预定义功能。这样一来,执行寄存器传输就按照下面的格式来操作:    rd ← r1 op r2;   r1和r2为源寄存器地址,而rd为目的寄存器地址,op为可用的ALU函数。   (2) 可以将定制状态机用可编程状态机来替换,如图13-1(b)下半部分所示。我们回忆一下状态机的功能:① 状态寄存器时刻与当前状态有关;② 输出逻辑输出哪个信号是由当前状态来决定的;③ 新状态是由下一状态逻辑决定的。那么如果采用可编程状态机修改这些状态机,则操作如下:   (1) 用可编程的计数器来替换状态寄存器,计数器作为当前状态的控制路径。   (2) 在状态机中,在每个状态都激活特定的输出信号来控制数据路径的操作,可编程状态机对这些输出操作进行编码,形成指令并存储在可编程存储器或称为指令存储器中。指令存储器的地址与可编程状态机的计数器相对应。在执行过程中,由指令存储器从程序计数器所指向地址取回执行码并解码产生控制信号,指令存储器和译码逻辑产生所有的输出逻辑电路。   (3) 在状态机中,对下一个状态没有限制,只要有一个给定的状态,状态机可以根据输入条件跳转到任何可能的逻辑状态。在可编程状态机中,下一个状态往往是当前状态机的状态值加1,也就是说,是顺序逻辑执行。执行顺序如果被打乱,也是由某些指令的执行所导致的,比如jump跳转指令,这时程序计数器赋予了一个不同的值。   当用寄存器文件和ALU替换了数据路径,用可编程状态机替换了特定的状态机时,定制系统就变成了开发一系列新的顺序指令并装载到指令存储器中这么一个过程。这种结构也就是今天我们习惯的微处理器硬件平台。PicoBlaze微处理器也是基于这样的架构。 13.1.1 微处理器的应用   在带数据路径的状态机中,数据路径可以用来适应独立的应用需求。它可以包含多种定制功能单元和并行执行路径,并且能够在一个状态(通常为一个时钟周期内)完成复杂的运算。PicoBlaze微处理器在同一时刻只可以执行一条预定的命令操作(一条指令)。在很多情况下,相对于前者,如要完成同一任务,需要花费更多的指令和时间。   许多任务用定制FSMD和微处理器都可以完成。可以通过对硬件复杂度、程序执行效率以及开发容易度三方面来评估使用哪一种方案。没有一定的原则去选择某一种方案。由于开发软件在很多情况下比开发可定制的FSMD状态机要容易的多,所以在对时序要求不严格的情况下通常选择微处理器开发。我们可以根据运算复杂度来判断可行性。PicoBlaze完成一条指令需要两个时钟周期。如果系统时钟为50 MHz,那么在1秒钟可以执行25?×?106条指令,对于一个任务来说,可以判断该任务的请求执行频繁度以及完成任务的时间,来估计有效指令时间。比如,对于我们前面讲述的键盘接口程序,每1 ms产生一个输入数据,并且在这1 ms的时间间隔内需要完成数据处理,然而在1 ms中,PicoBlaze可以完成25 000条指令,所以如果所需要的数据处理能够用25 000条指令完成,则可以用PicoBlaze来控制。通常情况下,微处理器适合许多非实时的I/O接口以及自我管理任务。 13.1.2 PicoBlaze处理器的特点   PicoBlaze是8位的精简微处理器,其特性如下:   (1) ?8位数据位宽;   (2) ?8位带进位和清零标志的ALU;   (3) ?16个8位的通用寄存器;   (4) ?64 B的数据存储器;   (5) ?18 bit的指令位宽;   (6) ?10 bit的地址位宽,支持1024条指令;   (7) ?31字深度堆栈;   (8) ?256个输入端口和256个输出端口;   (9) 每条指令执行时间为2个时钟周期;   (10) 中断处理时间为5个时钟周期。   PicoBlaze处理器基于图13-

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档