1520
指导设计。
2.7 加速器状态转移图。
1521
指导设计。
2.7 加速器状态转移图。
1522
指导设计。
2.7 加速器状态转移图。
1523
指导设计。
2.7 加速器状态转移图。
读的时候有两拍的潜伏期。
1524
指导设计。
2.7 加速器状态转移图。
1525
指导设计。
2.7 加速器状态转移图。
8位源读进来,8位目标读进来,全部流水要注意这两拍的潜伏期。
源和目标都进来了以后,内部执行64位的运算,运算结果仍然要写回去。
写的时候就是0拍了,读的时候有两拍的潜伏期。
写的时候只要对齐就行了。
1526
指导设计。
2.7 加速器状态转移图。
运算结果要用8拍写回到8位目标,写完了以后,这个加速器做完了长整运算了。
还要做什么事情呢?
加速器做完了所有的运算之后,它首先要做的事情,它应该是要释放出资源。
释放资源的同时,要向CPU发出中断请求。
当然也可以反过来。
先发出中断请求,再释放资源,那就慢了。
快一点当然是EDA同时做这件事。
1527
指导设计。
2.7 加速器状态转移图。
除了中断请求之外,还有一件事情也得做,就是清标志位。
我们说了,start的标志位。
必须有清start的标志位的一个动作。
状态寄存器写由CPU写,清由ACC清。
所以说你在复位下面加一个信号,clear=0。
1528
指导设计。
2.7 加速器状态转移图。
当ACC做完了所有的计算之后,运算结果分8拍写回去。
这就算完了。
算完以后,第一,向CPU发出中断,第二,要释放仲裁请求,第三,要清start标志位。
清start标志位是周期信号,让clear信号置1,下一拍置0。
1529
指导设计。
保存,打包发给我。
时间不够了,我们代码就自己做了。
