基于初版资源超标的经验教训,v2.0版本通过简化状态机、引入流水线设计和优化存储架构,实现了资源消耗的大幅降低和性能的显著提升。
1 架构重构:从复杂到精简
1.1 状态机大幅简化
v1.0版本问题:9状态复杂状态机,逻辑转换复杂,资源消耗大
v2.0版本改进:4状态精简状态机,采用格雷码编码,功耗更低、可靠性更高
// 格雷码状态定义 - 每次状态转换只有1位变化
localparam [1:0] IDLE = 2'b00; // 空闲状态
localparam [1:0] GET_MODE = 2'b01; // 模式获取
localparam [1:0] READ_ADDR = 2'b11; // 读地址
localparam [1:0] READ_DATA = 2'b10; // 读数据
1.2 状态转移逻辑优化
新的状态机工作流程更加清晰高效:
-
IDLE → GET_MODE:配置使能后进入模式等待
-
GET_MODE → READ_ADDR:根据模式触发条件满足后开始读取
-
READ_ADDR → READ_DATA:地址握手成功后读取数据
-
READ_DATA → READ_ADDR/GET_M
订阅专栏 解锁全文
9108

被折叠的 条评论
为什么被折叠?



