作为FPGA工程师来说,碰到新的问题是规划中最常见的工作了,技能开展趋势一日千里,所以常常会有新的概念,新的需求,新的规划等候去完结。不是每个经过BAIDU或许GOOGLE都有答案。
因而,新的规划常常会有,那怎么完结?
假定,FPGA需求规划一个接口模块,那咱们就需求了解一下几个问题:
(1) 同步接口仍是异步接口模块;
(2) 有哪些信号,功用是什么?
(3) 信号之间时序联系是什么?
(4) 传递的功率可以到达多少;
(5) 等等!
谁会给予这些答案,有一个好的tutor便是“datasheet”,一般来说FPGA规划一个接口模块,必定与其他硬件电路进行衔接。
假如是外部衔接接口为总线接口,那至少包含却不限于以下信号,
(1) 地址:可以支撑的最大地址空间,数据和地址是否复用接口;
(2) 数据:一般读数据和写数据复用同一接口,一般数据信号此刻都为三态。三态信号有OE信号。
(3) 读写指令。单次的读操作、单次的写操作
(4) 是否支撑突发传输,burst的读写操作
(5) 同步仍是异步。
(6) 操控信号之间的相位联系及树立坚持时刻的要求。
图为 TI 系列35X系列处理器的GPMC的接口,由图中可以看出其时钟、地址、数据等操作信号。
假如是同步并行接口,一般用于数据流传输,如AD/DA的输入或输出,网口PHY的输出信号等,一般的同步并行信号,一般包含,(1)时钟信号、(2)数据、信号(3)使能信号等。
SERDES接口则是另一种数据流的传输接口, 现在FPGA的serdes最高可以支撑到28Gbps。实际上为了满意削减板级连线,而且进步传输速率的需求。集成更多的SERDES也是FPGA开展的趋势。
上图为SERDES的框图,由PCS和PMA模块构成,PMA一般为硬核IP,PCS为软核或许硬核模块,收发独立,且都为差分信号(serdes将在后续章节胪陈)。值得一提的是,SERDES接口对FPGA逻辑的接口一般固定位同步并行接口,数据信号位宽都较大。
这些接口怎么做具体规划,一方面可依据其上述共性特色,这可以对其特色有大约的知道,另一方面则是FPGA衔接的器材的DATASHEET。依据这些器材接口功用的描绘和支撑的特性。FPGA可依据需求和功用特性,进行有挑选的完结(例如总线接口不需求brust操作,则可只完结单次的读写,就可以满意事务的需求,进行功用裁剪和简化等等)。
接口规划完结,FPGA就要对规划进行根本测验。关于流接口来说,可以支撑环回的功用的话(行将收到数据流再发回),就极大便利测验。关于总线接口则需求支撑对FPGA内部某地址的读写操作的测验。这就归于可测性规划的领域。(后续将专题胪陈FPGA的可测性规划)。
假如一个模块没有任何的输入输出,其再杂乱的功用也同等一块石头,或许只要输入,没有输出也同等一块石头。因而输入和输出则是一个规划的第一步。