🔍 搜索帖子 / 资讯 / 芯片型号…
论坛/开源蜂鸟E203/硬件加速模块的时钟设计
硬件加速模块的时钟设计
开源蜂鸟E203 作者 COOPER 发布于 2023-05-26 00:54(1233 天前) 3293 浏览

报名编号:CICC1869
团队名称:大耳狐

硬件加速模块需要四个时钟,分别为clk_l , clk_r , clk_c , clk_n 。

clk_l : 整个硬件加速模块为了最大化的节约时间成本而采用了类似处理器的流水线设计,具体上将每一层的每一个操作赋予一个时间片,每一个操作都会在这个时间片内完成,这个时间片的时长为clk_l的时钟周期,在整个硬件加速模块中最为重要。

clk_r : 硬件加速模块的每一层在每一次进行运算之前,都去先读取权重数据和上一层输入数据。事先我们采用bram来存储这些数据,因而读取数据要从bram中读取,读取bram的时钟信号为clk_r,在bram中读取出一个数据需要两个clk_r的时钟周期。

clk_c : 硬件加速模块的每一层涉及到多位数定点数乘法的运算需要调用dsp这个ip核,dsp处理数据的时钟信号为clk_c,dsp输出数据需要四个clk_c的时钟周期。
clk_n : clk_n为一般时钟信号。

4个时钟信号由ip核pll生成,例化代码如下:

  1. pro_pll pll(
  2. // Clock out ports
  3. .clk_out1(clk_l), // output clk_out1
  4. .clk_out2(clk_r), // output clk_out2
  5. .clk_out3(clk_c), // output clk_out3
  6. .clk_out4(clk_n), // output clk_out4
  7. // Status and control signals
  8. .resetn(rst_pll), // input resetn
  9. .locked(rst), // output locked
  10. // Clock in ports
  11. .clk_in1(clk)); // input clk_in1
全部回复 0
暂无回复,抢个沙发~
💡 请 登录 后参与讨论(微信扫码即登录/注册)