# 一、硬件结构对资源占用的影响
## (一)数据存储结构
1. **直接影响**
- 如果采用大规模的缓存来存储整个图像,会占用大量的片上存储器资源(如Block RAM)。例如,对于一个高清图像(如1920x1080像素),如果每个像素用8位表示,直接存储整个图像需要1920 * 1080 * 8位的存储空间,这对于资源有限的FPGA或ASIC来说是相当大的开销。
- 当使用较大的缓存结构时,会增加地址译码电路的复杂度,进一步消耗逻辑资源。
2. **间接影响**
- 较大的存储结构可能导致较长的读写延迟,影响整个系统的时钟频率。为了满足时序要求,可能需要插入更多的流水线寄存器,这又会消耗额外的逻辑资源。
## (二)卷积核计算结构
1. **并行计算结构**
- 如果采用完全并行的卷积核计算结构,即同时计算图像中每个像素的卷积结果,虽然可以提高处理速度,但会消耗大量的乘法器和加法器资源。例如,对于一个3x3的Sobel卷积核,每个像素的卷积计算需要9次乘法和8次加法,对于整个图像来说,资源消耗会随着图像尺寸的增大而迅速增加。
- 这种并行结构还需要大量的布线资源来连接各个计算单元,可能导致布线拥塞,影响布局布线的成功率和最终的性能。
2. **串行计算结构**
- 采用串行计算结构,例如逐行逐像素地计算卷积,虽然可以减少计算资源的一次性消耗,但会增加处理时间。并且,为了实现串行计算的控制逻辑,如计数器、状态机等,也会占用一定的逻辑资源。
## (三)梯度计算与输出结构
1.