lcytms
发表于 2018-6-24 22:37:39
1024
我们看见在夏老师的代码里面,它的memory并没有全速运行,走走停停,走走停停。
其中非常重要的就是有shift四拍,就要停三拍。
而且它的节拍呢,没有压在时钟周期上,时分的。
这个呢,也代表了一种趋势。
早先的这个嵌入式系统呢,它的资源是有限的,有限的资源切换了以后,CPU是完全无事可干的,完全架空的。
这个时候CPU不能完全架空,CPU要给它让出资源来。
lcytms
发表于 2018-7-1 12:45:10
1025
两种方式,第一种方式呢,就是用其它的硬件的配置,内部的总线,CPU刚把它的加速器启动了以后,加速器获得资源以后,CPU因为并没有完全失去所有的资源,CPU并不会完全无事可干。
而是接管其它的资源。
第二种形式就是时分的,就是按时间片来划分。
现在夏老师这段代码就是按时间片来划分。
仍然是把资源判给了ACC,但是呢,ACC却不会百分之百地占用这个资源,它会按时间片,比方说,ACC它虽然获得了请求,但是ACC并没有访问这个资源。
lcytms
发表于 2018-7-1 12:46:34
1026
这个时候,仲裁器仍然可以把资源给CPU用,这个时候谁获得资源,你想用就可以用,你不想用,空余的时间仍然可以分配给其它资源用。
所以说用划时间片的方式来做,所以你看到时间周期都比较长,并且是CPU上会走走停停。
是这么个过程。
Shift_en也是在走走停停。
现在呢,把屏幕切到同学屏幕上。
lcytms
发表于 2018-7-1 12:47:44
1027
复制acc_long_zx1702v21文件夹,改名为acc_long_zx1702v22。
打开报告。
lcytms
发表于 2018-7-1 12:51:31
1028
修改更新日志。
lcytms
发表于 2018-7-1 12:52:40
1029
指导设计。
三、阅读和欣赏(原加速器代码分析)。
做标题三。
将发放的sobel_nativelink打包文件复制到acc_long_zx1702v22文件夹。
解压后删除打包文件。
lcytms
发表于 2018-7-1 12:54:45
1030
指导设计。
三、阅读和欣赏(原加速器代码分析)。
打开quartus。
进testbench。
lcytms
发表于 2018-7-1 12:56:26
1031
指导设计。
三、阅读和欣赏(原加速器代码分析)。
现在不是做设计,而是做分析。
这个呢也是必要的,我们做EDA工程的时候,很多情况下要分析研究已有的代码。
3.1 加速器架构。
回到代码上。
看一下都有哪些模型。
lcytms
发表于 2018-7-1 12:58:07
1032
指导设计。
三、阅读和欣赏(原加速器代码分析)。
129行,有sobel。
原来我们做的是长整嘛,现在才是sobel。
再往下,有cpu。
我们有长整,长整被sobel替代,CPU不用变。
它这个CPU也是个虚拟CPU。
在这个代码里面,它要做的是上电以后,置位以后,就是向它的从机发命令。
CPU后面有memory。
只不过memory的环境是testbench的环境。
还有仲裁器。
没了。
lcytms
发表于 2018-7-1 12:59:47
1033
指导设计。
三、阅读和欣赏(原加速器代码分析)。
它是用_o和_i来说明output和input。
我们是用_out和_in。
就这个区别。
我在白板上做,请这个同学在word上做,这样快一点。
首先从CPU开始,CPU是主机,是不是?
CPU有哪些端口?
都有主从,都有端口,我们学过。
数据,主从都有,是不是?