Xilinx可编程逻辑器件设计与开发(基础篇)连载47:Spartan.doc

Xilinx可编程逻辑器件设计与开发(基础篇)连载47:Spartan.doc

ID:27500939

大小:364.00 KB

页数:6页

时间:2018-12-04

Xilinx可编程逻辑器件设计与开发(基础篇)连载47:Spartan.doc_第1页
Xilinx可编程逻辑器件设计与开发(基础篇)连载47:Spartan.doc_第2页
Xilinx可编程逻辑器件设计与开发(基础篇)连载47:Spartan.doc_第3页
Xilinx可编程逻辑器件设计与开发(基础篇)连载47:Spartan.doc_第4页
Xilinx可编程逻辑器件设计与开发(基础篇)连载47:Spartan.doc_第5页
资源描述:

《Xilinx可编程逻辑器件设计与开发(基础篇)连载47:Spartan.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Xilinx可编程逻辑器件设计与开发(基础篇)连载47:Spartan  12.2.6PicoBlaze输入/输出端口  PicoBlaze微控制器支持最大256个输入口和256个输出口,PicoBlaze与输入和输出有关的信号在“PicoBlaze微控制器接口信号”部分有详细说明,包括PORT_ID[7:0]、IN_PORT[7:0]、OUT_PORT[7:0]、READ_STROBEWRITE_STROBE。在时序要求苛刻的设计中,对PORT_ID和数据路径允许两个时钟周期,对于READ_STROBE和WR

2、ITE_STROBE需要约束到一个时钟周期。为了提高性能,在允许的情况下可以插入流水寄存器。  PORT_ID:此信号作为输入或输出端口的标识或者说是地址。它的有效高电平持续两个时钟周期,这样做的目的是为了有足够的时间进行译码,有足够的时间与异步RAM连接,还有,在双周期操作时,允许从同步RAM(例如,BRAM)中读数据。  INPUT和OUTPUT操作支持直接和间接寻址,端口地址由立即数指定或由寄存器指定。间接寻址方式适用于对BRAM、具有连续地址的外设、片内或片外存储器中的表格的访问。  扩展PicoBla

3、ze外设其实非常方便,唯一具有挑战性的地方在于,如何用最少的逻辑资源实现对PORT_ID译码。表12-2所示为一般的方法(取决于端口数)。  一、INPUT操作  输入操作将IN_PORT输入口的数据传送到由寄存器sX指定的16个数据寄存器中的任何一个,如图12-11所示,PORT_ID由sY确定或者由一个8位的立即数确定,指定输入源。输入源由一个多路器选择,多路器的大小与输入源的通道数成正比,它直接影响PicoBlaze的性能。    图12-11输入操作和FPGA内部接口  图12-12中为输入指令时序图,

4、图中显示PicoBlaze微控制器从由s7指定的端口读数据,数据被读入s0。当执行此指令时,寄存器s7的内容出现在PORT_ID上,PORT_ID被FPGA内部逻辑译码,被请求的数据出现在IN_PORTREAD_STROBE在输入指令的第二个时钟周期变高,尽管READ_STROBE主要用于FIFO,以使FIFO能够更新它的读指针。出现在IN_PORT的数据在第2个上升沿被采样,表明INPUT指令执行完毕,之后,数据被采样进入s0。    图12-12INPUT指令的PORT时序  从图12-12时序图可以看出,

5、由于PORT_ID保持两个时钟周期有效,所以输入数据多路器可以被寄存,以保证性能,如图12-13所示。    图12-13由多路器将多个输入变为一路输入二、OUTPUT操作  输出操作将寄存器sX的内容送到OUT_PORT,PORT_ID由寄存器sY确定或者由一个8位的立即数确定,指定输出口。WRITE_STROBE表明OUT_PORT数据有效,并且准备好被捕获。通常情况下,WRITE_STROBE与PORT_ID组合成时钟使能或者写使能供FPGA逻辑捕获输出数据。    图12-14OUT_PORT与FPGA

6、逻辑  图12-14是一个扩展输出端口的实例,图12-15为其时序图,PicoBlaze要将s0的内容送到PORT_ID为65HEX的端口,s0的内容出现在OUT_PORT,端口地址65HEX出现在PORT_ID,WRITE_STROBE在指令周期的第二个时钟边沿变高,表明数据有效。    图12-15OUT_PORT指令的PORT时序  对于8个或者少于8个的输出口,常用one-hot编码方式,如图12-16所示,因为它仅需要对PORT_ID的某一位进行译码,所以很大程度上减少了FPGA译码逻辑所需资源,同时

7、也提高了性能。如果用来译码的PORT_ID位数为3或者小于3,则译码逻辑仅用一级逻辑即可实现,这时的性能最高。  图12-17所示为一个简单的输出程序,用one-hot编码定义4个输出口,同时定义了一个广播式的输出口,先向4个输出口输出4个不同的值,最后两条语句将所有4个口清零。    图12-16简单的输出    图12-17one-hot编址输出例程

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。