1 低功耗,高速率
一张图像80微妙处理。时钟频率100mhz。 ddr访问150mhz。 sccb 200khz
2 异步复位,同步释放描述下
复位是将寄存器恢复到默认值。一般复位的功能包括:同步复位,异步复位。
同步复位是指当上升沿检测到复位信号,执行复位操作,有效的时钟沿是前提。
复位信号的有效时长必须大于时钟周期,才能真正的被系统识别并完成复位任务,同时还要考虑诸多时钟偏斜,组合逻辑路径延时,复位延时等因素。
异步复位指的是无论时钟沿是否到来,只要复位信号有效,就对系统进行复位。
缺点:
在复位信号释放(reset)的时候容易出现问题。具体来说:倘若复位释放时恰恰在时钟有效沿附近,就很容易使寄存器输出出现亚稳态,从而导致亚稳态。
异步复位,同步释放:复位信号到来时,不受时钟信号的同步,而复位信号释放的时候的受时钟信号的同步。
所谓异步复位同步释放,就是在rst_n信号为低时,立刻进行复位,即复位信号与时钟相互独立;
而rst_n信号由低到高释放时,***为了防止亚稳态的出现,将rst_n信号用DFF触发器向后延一周期,
外部复位信号不会在出现释放时与clk信号竞争,整个系统将与全局时钟clk信号同步***
异步复位,同步释放的优点
-
避免复位信号释放的时候造成亚稳态问题
-
只要复位信号一有效,电路就处于复位状态,与时钟沿无关
-
有效捕捉复位,即使是短脉冲复位也不会丢失
-
有明确的复位撤销行为。复位的撤离是同步信号,因此有良好的的撤离时序和足够的恢复时间
3 浮点数计算消耗大,为什么还要设计半精度浮点数计算,而不是移位来扩大数据,最后通过复原的方法。
前期使用的半精度浮点数运算,后期使用定点数。
4 cnn加速器控制流程
有控制模块解析PS端发的控制信息,发送控制字给数据模块。
5 riscv网上有很多,你这个就直接复制过来跑一下。
通过学习网上的,学习一些设计理念进行自己设计。
6 门控电路
D触发器,时钟上升沿触发。D端输出到Q端。
cnn
网络模型量化
64位双精度浮点数到16位半精度浮点数的量化。
确定量化位数,保证量化后的的数据不会比原有数据失真太多。然后确定浮点数包含的位数,即量化精度。量化后的整数范围不能比原有数据小,尽可能提高浮点数所能表示的精度。
16位浮点数相比64位双精度浮点数,减小了3/4的存储量。
小数的运算
1 第一种将小数扩大为整数然后进行运算,最后进行复原
2 使用浮点和定点数表示数据
定点中小数位数是固定的。