lcytms
发表于 2018-7-6 21:53:32
1054
指导设计。
三、阅读和欣赏(原加速器代码分析)。
控制就只有一个,write。
然后就是那三个信号。
lcytms
发表于 2018-7-6 21:54:29
1055
指导设计。
三、阅读和欣赏(原加速器代码分析)。
想也想得到,它一定要有仲裁结果,仲裁结果是通过cyc实现,它一定要有cyc的输入线。
还有什么?
还有stb。
有应答的出。
从机要应答。
lcytms
发表于 2018-7-6 21:55:51
1056
指导设计。
三、阅读和欣赏(原加速器代码分析)。
做完了。
然后是写仲裁器了。
写sobel_cyc_i。
lcytms
发表于 2018-7-6 21:56:59
1057
指导设计。
三、阅读和欣赏(原加速器代码分析)。
写cpu_cyc_i。
只不过是按时间片来的。
然后要得到一个结果。
我们做长整只有一个arb_res。
它有两个,分别是两个设备。
sobel_gnt,generate。
cpu_gnt,generate。
当这两个信号为真的时候,说明获得仲裁信号。
lcytms
发表于 2018-7-6 21:58:07
1058
指导设计。
三、阅读和欣赏(原加速器代码分析)。
sobel_gnt为真,说明sobel获得仲裁。
它采用的仍然是唯一申请者获得仲裁的策略。
这下面的状态都一样。
我们看整个的图。
不错。
就这些。
然后,我们要把它的架构做出来。
跟之前我们做的一样。
lcytms
发表于 2018-7-6 21:59:19
1059
指导设计。
三、阅读和欣赏(原加速器代码分析)。
CPU,sobel,MEM,仲裁器,仍然是三层。
我们记得,我们要获得资源,这个时候,我们要讨论它的六种访问方式。
CPU可以读写MEM,CPU可以读写Sobel。
Sobel可以读写MEM。
六种方式,要把这六种方式实现。
多路器结构必须要得到。
好,现在我们先回到代码上看一下,是不是这样?
143行的数据输入总线。
lcytms
发表于 2018-7-6 22:02:34
1100
指导设计。
三、阅读和欣赏(原加速器代码分析)。
使用find对话框查找bus_dat信号。
按F3依次查找。
观察89~93行的代码。
回到设计上。
lcytms
发表于 2018-7-6 22:03:36
1101
指导设计。
三、阅读和欣赏(原加速器代码分析)。
画dat连接线。
这是加速器必然有的架构。
lcytms
发表于 2018-7-6 22:04:35
1102
指导设计。
三、阅读和欣赏(原加速器代码分析)。
画dat连接线。
lcytms
发表于 2018-7-6 22:05:54
1103
指导设计。
三、阅读和欣赏(原加速器代码分析)。
然后你要注意到,CPU无论主从,都有数据的入、数据的出。