主控制模块由 BRG 的启动信号启动,此信号还控制辅助控制模块的四个副本。辅助控制模块负责 ROM 寻址并将位平面图像输出到 DLPC964 控制器。主控制模块的内核是一个通过等待 BRG 发送 mcp_start 信号来启动的有限状态机 (FSM)。一旦将信号发送到主模块,FSM 就会启动。图 2-6 展示了 PGEN_MCTRL FSM,其中每个状态机的定义如下:
- CV_SEND_SIGNAL:初始 FSM 状态。在接收到 BRG 启动信号时转换状态。根据所选的加载类型,FSM 进入 CV_WAIT_FOR_ACK 状态或 CV_SEND_DMDLD 状态。当块加载类型为清除 (001) 或置位 (001) 时,不需要命令有效信号,因为在这些加载类型期间不会发送数据。
- CV_WAIT_FOR_ACK:在 BRG 启动 FSM 之后,命令有效信号会发送到 Aurora user-k 接口。在此状态下,user-k 有效信号会保持高电平,直到 Aurora user-k 就绪信号确认 user-k 数据。一旦确认了 FSM,FSM 会将 user-k 有效信号置为无效,并进入下一个 FSM 状态。
- CV_SEND_DMDLD:发送命令后,DLPC964 Apps FPGA 可以开始发送位平面数据。此状态会启动并监控所有四个辅助控制模块。当所有四个辅助模块都报告自己已完成数据发送时,主控制模块就可以开始通过 Aurora user-k 接口发送 DMD 加载信号。
- CV_HOLD_DMDLD:主控制模块将保存 DMD 加载信号约 0.80ns,直到转换到 FSM 的开头。