lcytms 发表于 2017-5-2 14:57:28

1102
        根据这种算法,我们来做它的架构设计,自上而下,先从简单的、顶层的来讨论问题,逐步地把问题细化。
        我们当然要准备计算的一个模块。
        这个计算的模块,从memory里面得到数据,得到原始图像的像素。

lcytms 发表于 2017-5-2 14:58:44

1103
        进去以后,按照这种方法,我们需要发出对3个行的安装信号,load信号。
        Load PR、load CR、load NR。
        3个行的load信号。
        这三个load信号来捕获mem_data,分别把它加载进来,前一行、当前行、下一行。
        然后呢,会进入计算阵列,肯定要有控制信号,肯定会有移位信号。

lcytms 发表于 2017-5-2 15:10:21

1104
        当移位为真的时候,它就开始移位了。
        从行缓存器里面来移位。我们先简单地这么做,然后再逐步地完善它。
        Computer有了这些load,按照这个阵列来算,在其中加上了偏导数,它就一定能得到计算结果。

lcytms 发表于 2017-5-2 15:12:00

1105
        是导数的输出。
        是导数d,我们装配成导数的字。
        导数是一个像素的,但是我们把它装成4个字节。
        4个像素。
        形成了一个存储器的字。
        存储器的地址是指向像素的,但是呢它的总线呢是32位的,32位一个字,所以说,这个地址要指向字地址。

lcytms 发表于 2017-5-2 15:13:05

1106
        字地址从bit2开始计算。
        字地址对齐。
        这样就得到导数的一个字,是由4个像素组成的。

lcytms 发表于 2017-5-2 15:14:11

1107
        这个架构还是简单的。
        根据这种算法,它就能把对应的导数算出来。
        但是要写回去,写回到存储区里去,就必须要有一个地址的管理器。
        或者说一个地址的生成器。
        它要管理读的时候的地址,写的时候的地址。

lcytms 发表于 2017-5-2 15:15:19

1108
        我们会用一个状态机,用FSM的形式来发出所有的控制信号。

lcytms 发表于 2017-5-2 15:18:02

1109
        当pr_send为真的时候,将前一行的地址送出去。还有cr_send、nr_send。这三个信号也是状态机发出的。

lcytms 发表于 2017-5-2 15:21:37

1110
        状态机,我们会用TP图形成挨个可能的动作,发出正确的信号。
        当然状态机还要画导数的地址。
        这个是读原始数据。
        计算完了,还要得到导数。

lcytms 发表于 2017-5-2 15:22:41

1111
        还要发一个dr_send。
        复位的时候,指向的是原始图像的O_BASE,发送pr_send,就会把O_BASE发出去。
        发送pr_send,在O_BASE的基础上加上一个宽度即可。
        就到了下一行了。
        宽度是600。
        加上1200,就到了nr_send。
页: 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16 17 18 19 20 21
查看完整版本: 跟李凡老师学FPGA图像加速器之D01:图像处理基础(20170425课堂笔记)