1.PCIe PHY firmware是什么
PCIe PHY(Physical Layer)firmware 是指用于控制和管理PCI Express(PCIe)物理层功能的固件。PHY内部有很多配置和状态寄存器,firmware固件通过读取状态寄存器和读写配置寄存器完成物理层数据流的处理。firmware完成的工作包容如下内容:
PCIe速率切换(gen1-->gen3等等)
编解码方式切换(8b10b切换到128b130b)
判断CRD 是否lock
简单来说,firmware就是一套配置文件,决定了在特定的时刻给控制类寄存器写入合适的数值以完成物理层的电路功能。
常见设计中,firmware的数据容量较大(有些PHY需要的firmware容量为96KB),因此firmware存储在rom中,PCIe PHY 会预留一组接口用于写入firmware,在PHY上电后通过接口将rom中的的firmware写入PHY内部的ram中,此过程称之为firmware加载。
2.firmware加载流程
firmware加载流程需要根据PHY的要求进行设计,加载流程通常需要相关复位处于释放状态,且工作时钟保持稳定后才能开始,此时才能保证数据能够有效写入。
如图2为firmware加载时序图,所示,信号HSS_PMLD_WR_I表示firmware写有效信号,1表示存在数据写入,HSS_PMLD_DATA_I[7:0]表示写数据,每个时钟周期写入1Byte的数据。firmware加载需要在复位信号HSS_POR_N_I释放和HSS_CPU_RESET_I处于复位状态,且时钟(HSS_CPU_CLK_I)保持稳定后写入。
作者: IC小鸽
文章来源:IC小鸽
推荐阅读
更多IC设计干货请关注IC设计专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。