read_path的代码完成之后,就可以开始整个项目里复杂度最高、bug最多、时序收敛最为困难的模块——write_path的开发了!我自己写过两次这个虚拟项目,每次都是在这里耗时最久,所以大家也可以挑战一下自己。
再看下write_path在结构中所处的位置:
write_path有两个上游,分别是提供指令信息的inst_buffer以及提供读回数据RAM/DDR,而移位完成的数据则写往DDR/RAM。同时write_path也要为inst_buffer提供相关的状态,所以对应的接口也就明确了:
// ----------------------------------------------------------------
// Interface declare
// -----------------------------------