仅对英特尔可见 — GUID: mwh1409958553224
Ixiasoft
1.6.5. 部分重配置周期波形
一个PR周期是由主机(内部或者外部)通过置位PR_REQUEST信号为高电平进行启动的。当FPGA器件准备好开始重配置时,它通过置位PR_READY信号为高电平进行响应。PR主机通过发送DATA [15:0]上的配置数据进行响应。数据与PR_CLK同步发送。当FPGA器件成功低接收到所有PR数据时,它将PR_DONE置位为高电平,并且置低PR_READY,表明PR周期完成。PR主机必须监控PR进程,直到PR成功完成(由PR_DONE指示),或者置位一个错误条件。
如果部分重配置期间遇到错误,那么FPGA器件置位PR_ERROR信号为高电平,并且置低PR_READY信号为低电平。
只要这两个信号中的一个信号被置位,主机就必须在8个PR_CLK周期内置低PR_REQUEST。作为对PR_ERROR错误的响应,主机可选择请求另一个部分重配置,或者执行一个完整的FPGA配置。
为防止不正确的行为,PR_DONE或PR_ERROR信号置为高电平后的至少20个时钟周期PR_CLK信号都必须保持在有效状态(active)。一旦PR_DONE被置位,PR_REQUEST必须在8个时钟周期内被置低。PR_DONE由器件在20个PR_CLK周期内置低。主机可以在PR_DONE置低后的20个时钟周期后再次置位PR_REQUEST。
时序参数 |
值(时钟周期) |
---|---|
PR_READY to first data |
4 (exact) |
PR_ERROR to last clock |
20 (minimum) |
PR_DONE to last clock |
20 (minimum) |
DONE_to_REQ_low | 8 (maximum) |
Compressed PR_READY to first data |
4 (exact) |
Encrypted PR_READY to first data (when using double PR) |
8 (exact) |
Encrypted and Compressed PR_READY to first data (when using double PR) |
12 (exact) |
在部分重配置的任何时刻,如要暂停发送PR_DATA,则PR主机可以停止翻转PR_CLK。时钟可以停止为高电平或低电平。
在部分重配置任何时刻,PR主机都能够通过置低PR请求来终止进程。部分完成的PR进程会导致一个PR错误。通过20个周期之后发送新的PR请求,可以使PR主机在进程失败后重新启动PR进程。
如果在完成之前终止PR进程,并通过置位nConfig使用一个完整的FPGA配置进行跟进,那么在置位nConfig前必须翻转PR_CLK另外20个时钟周期,以刷新PR_CONTROL_BLOCK,从而避免锁定(lock up)。
在这些步骤中,PR控制模块可能置位PR_ERROR或CRC_ERROR信号以指示在部分重配置期间存在错误。PR_ERROR的的置位表明PR比特流数据已损坏,并且CRC error的置位表明在PR进程完成期间或之后的CRAM CRC错误。如果PR_ERROR或CRC_ERROR信号被置位,那么必须计划是重配置PR区域还是重配置整个FPGA,或者保持未配置的状态。