集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
楼主: lcytms

跟李凡老师学FPGA图像加速器之D04:原教材加速器代码欣赏(20170428课堂笔记)

[复制链接]
 楼主| lcytms 发表于 2018-6-23 22:11:59 | 显示全部楼层
1008
        可以看得到,那些是可综合的,那些是不可综合的。
        添加顶层信号到group。
        命名为top,收起。
        添加machine信号到group。
        命名为fsm。
        Restart,run –all。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2018-6-24 22:25:03 | 显示全部楼层
1009
        我们单独地如果没有加速器铺垫,没有图像的铺垫,我们一开始就来研究这段代码,会觉得很复杂。
        现在我们就知道了,现在两方面的知识都有了。
        我们都看得懂了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2018-6-24 22:26:48 | 显示全部楼层
1010
        到列的边界上去,149,0。
        行是73。
        虽然说这段代码是用状态机写的,仍然是线性序列机。
        我们可以看得到,在这段代码里面,我们来看它运行多长时间,早先的绿皮书教材。
        它的目标是做到25帧。
        我们从置位开始吧,然后到done_set完成计算开始,70Hz。
        我们能做到它的三倍,但是70Hz也够了。
        都是用50M的时钟驱动的。
        当时这个任务我们只要求25帧的。
        现在做到了70帧,25帧乘2是50帧,两倍多嘛,将近三倍。
        70Hz在当时来讲已经满足了。
        而我们现在我们做到了209,差一点就是三倍。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2018-6-24 22:28:46 | 显示全部楼层
1011
        这个当时是结合加速器来完成的。
        加速器放在里面,跟CPU配合。
        现在我们回到代码上。
        在sim里面我们已经看到了,它的可综合的部分是写到这的。
        加速器是在testbench里面写的。
        好,下面我们重点进它的Testbench部分。
        Testbench是它的加速器。
        它的duv是它的可综合的模型。
   

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2018-6-24 22:30:07 | 显示全部楼层
1012
        Hierarchy上只有一个sobel。
        可综合的信号只有这些。
        地址发生器,compute,machine状态机,以及从机寄存器。
        我们写图像的时候,我们没有做加速器,但是我们写长整的时候有。
        现在我们的重点,来分析它的testbench。
        Testbench是它的加速器,在加速器的部分,我们可以看到。
        因为图像部分我们已经清楚了,就是那么走,两者的结合部分,重点就在它的testbench上。
        我们先休息十分钟,之后呢,我们由第四组以分享的形式,一起来参与。

(休息)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2018-6-24 22:31:32 | 显示全部楼层
1019
        发送文件夹sobel_nativelink。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2018-6-24 22:32:28 | 显示全部楼层
1020
        打开sobel.ppt。
        最终它在testbench上实现的应该是这种形式。
        稍候我们分析出来。
        我们已经做过了一个长整,所以说我们已经理解了。
        无非就是把加速器的部分,算法改一下,原来我们是长整,现在是sobel。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2018-6-24 22:35:19 | 显示全部楼层
1021
        多路器照样有。
        有对应的bus。
        有abus,dbus,还有它的控制bus。
        只不过我们原来是write bus。
        因为我们现在sobel里面,我们是用write和read来做的,所以说可以看成是一个ctl,一个控制的bus。
        其它的都类似。
        现在我们要做的,是两者结合在一起。
        这是它的仿真的时序,单独地要看,确实是有些难。
        因为里面三个不同的内容,不同的方向学术。
        一个是加速器体系,一个是图像的sobel,还有一个呢,就是算法实现。
        三者结合在一起。
        现在我们是分开来,一个一个地讨论。
        先是做图像,然后又做了加速器,现在我们把它结合在一起。
   

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2018-6-24 22:36:11 | 显示全部楼层
1022
        我们完成了阅读和欣赏之后,也不容易。
        别看这个testbench只有不到200行。
        但是把它分析清楚,绝非易事。
        分析完了之后,如果还有时间,我们下午来尝试一下,我们来修改加速器,和CPU结合在一起。
        CPU仍然做虚拟CPU。
        和长整加速器一样的。
        只不过把长整让出来,把sobel加上去。
        这就是图像加速器了。
 楼主| lcytms 发表于 2018-6-24 22:36:26 | 显示全部楼层
1023
        Testbench中添加memory信号。
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-24 03:19 , Processed in 0.062164 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表