12.2.6 picoblaze输入/输出端口
picoblaze微控制器支持最大256个输入口和256 个输出口,picoblaze与输入和输出有关的信号在“picoblaze微控制器接口信号”部分有详细说明,包括port_id[7:0]、in_port[7:0]、out_port[7:0]、read_strobe write_strobe。在时序要求苛刻的设计中, 对port_id 和数据路径允许两个时钟周期, 对于read_strobe 和write_strobe 需要约束到一个时钟周期。为了提高性能,在允许的情况下可以插入流水寄存器。
port_id:此信号作为输入或输出端口的标识或者说是地址。它的有效高电平持续两个时钟周期,这样做的目的是为了有足够的时间进行译码,有足够的时间与异步ram 连接,还有,在双周期操作时,允许从同步ram(例如,bram)中读数据。
input 和output 操作支持直接和间接寻址,端口地址由立即数指定或由寄存器指定。间接寻址方式适用于对bram、具有连续地址的外设、片内或片外存储器中的表格的访问。
扩展picoblaze 外设其实非常方便,唯一具有挑战性的地方在于,如何用最少的逻辑资源实现对port_id 译码。表12-2 所示为一般的方法(取决于端口数)。
一、 input 操作
输入操作将in_port输入口的数据传送到由寄存器sx 指定的16 个数据寄存器中的任何一个,如图12-11所示,port_id 由sy确定或者由一个8位的立即数确定,指定输入源。输入源由一个多路器选择,多路器的大小与输入源的通道数成正比,它直接影响picoblaze 的性能。
图12-11 输入操作和fpga内部接口
图12-12中为输入指令时序图,图中显示picoblaze微控制器从由s7指定的端口读数据,数据被读入s0。当执行此指令时,寄存器s7 的内容出现在port_id上,port_id被fpga内部逻辑译码,被请求的数据出现在in_portread_strobe 在输入指令的第二个时钟周期变高,尽管read_strobe 主要用于fifo,以使fifo 能够更新它的读指针。出现在in_port的数据在第2 个上升沿被采样,表明input指令执行完毕,之后,数据被采样进入s0。
图12-12 input 指令的port 时序
从图12-12时序图可以看出,由于port_id保持两个时钟周期有效,所以输入数据多路器可以被寄存,以保证性能,如图12-13所示。
图12-13 由多路器将多个输入变为一路输入
二、 output 操作
输出操作将寄存器sx 的内容送到out_port,port_id 由寄存器sy 确定或者由一个8位的立即数确定,指定输出口。write_strobe 表明out_port 数据有效,并且准备好被捕获。通常情况下,write_strobe 与port_id 组合成时钟使能或者写使能供fpga逻辑捕获输出数据。
图12-14 out_port与fpga逻辑
图12-14是一个扩展输出端口的实例,图12-15为其时序图,picoblaze 要将s0的内容送到port_id为65hex 的端口,s0 的内容出现在out_port,端口地址65hex 出现在port_id,write_strobe 在指令周期的第二个时钟边沿变高,表明数据有效。
图12-15 out_port 指令的port 时序
对于8个或者少于8个的输出口,常用one-hot编码方式,如图12-16所示,因为它仅需要对port_id的某一位进行译码,所以很大程度上减少了fpga译码逻辑所需资源,同时也提高了性能。如果用来译码的port_id位数为3或者小于3,则译码逻辑仅用一级逻辑即可实现,这时的性能最高。
图12-17所示为一个简单的输出程序,用one-hot编码定义4个输出口,同时定义了一个广播式的输出口,先向4个输出口输出4个不同的值,最后两条语句将所有4个口清零。
图12-16 简单的输出
图12-17 one-hot 编址输出例程
太阳能路灯控制器调试
LoRaWAN网络技术_物联网技术为人类的未来带来的重要改变
iOS 14的与以前的版本速度有什么区别
华为被转运至美国是什么梗?华为鸿蒙系统把传说化奇迹?
机器人行业行业似乎一片繁荣,但背后的真相是怎样的呢?
Xilinx可编程逻辑器件设计与开发(基础篇)连载47:Spartan
一文详谈CDN的工作原理和应用
科大讯飞智能演示器使用nRF52810 SoC实现无线远程控制、记录配音并执行语音命令
积分超市进入工地只为安全生产作业
MediaTek推出最新5G芯片天玑700
【知识】负荷开关与隔离开关、真空断路器的区别
阀门锁的选择以及日常护理常识的介绍
基于stm32实现DMX512协议发送与接收详解
奥士康:泰国基地一期已封顶,预计明年Q2试产
在变革与自救中 彩电市场必将迎来新一轮的清洗
车载无线充电技术与标准化研究
OSVR将获得Steam平台的支持 扩展大量VR内容的来源
secunet的新产品可使汽车电子部件安全测试自动化
华为终端拓展云服务生态:10亿支持开发者 加快全球化
京东方携前沿显示技术亮相CES 2024