目录

第 1 部分 引言

  rv_video_ai_soc 是一款面向视频与 AI 边缘计算的轻量级 RISC-V SoC

  这一款 rv_video_ai_socRISC-V CPU 为核心,融合了 AI CNN 硬件加速器,构建了从 DVP/MIPI/ISP 视频输入到 VGA/HDMI/DE 视频输出的完整的视频通路,同时集成了 UART/GPIO/IIC/PWM 外设接口,在当今极具热门的存储需求之下,既支持了 SPI FLASH/SD CARD 这类的非易失性片外存储颗粒,也兼容了 DDR3/DDR4 这类的动态内存颗粒

  芯片内部高度集成,通过配套 AXI/AHB/APB 相互交织的总线互联架构,同时搭载 BROM/SRAM 存储单元以及 CTRL 控制单元,共同构成了完整的 rv_video_ai_soc 系统芯片设计

rv_video_ai_soc architecture diagram

第 2 部分 正文

1. 设计工程环境结构

  这款 SoC 的设计工程环境结构如下:(位于 rv_video_ai_soc/hdl 目录之下)

  • riscv_cpu_sys
  • aicnn_lpr_sys
  • video_in_sys
  • video_ou_sys
  • comm_conn_sys
  • memo_conn_sys
  • axi4_ddr4_sys
  • soc_amba_bus
  • standard_ips
  • soc_top

2. 设计工程环境描述

  这款 SoC 是由 riscv_cpu_sys,aicnn_lpr_sys,video_in_sys,video_ou_sys,comm_conn_sys,memo_conn_sys,axi4_ddr4_sys,soc_amba_bus,standard_ips,soc_top 十大目录组成的

  每个目录之下都有一个 rtl 子目录,包含了整个全部的 RTL 芯片设计代码,其主要是由四种文件组成的:子系统顶层文件(e.g. riscv_cpu_sys.v)(rtl 之下的顶层文件命名和 rtl 之上的目录文件命名是要求一致的),子系统列表文件(e.g. inc_riscv_cpu_sys.v),子系统 IP 设计目录(e.g. riscv_cpu_core),子系统 IP 宏定义文件(e.g. def_riscv_cpu_core.v

  这款 SoC 的设计工程环境描述如下:

  • riscv_cpu_sys 目录:包含了 riscv_cpu_sys 子系统设计文件,soc_ctrl IP 设计目录,riscv_cpu_core IP 设计目录
    • riscv_cpu_sys/rtl/soc_ctrl
    • riscv_cpu_sys/rtl/riscv_cpu_core
    • riscv_cpu_sys/rtl/riscv_cpu_sys.v
    • riscv_cpu_sys/rtl/inc_riscv_cpu_sys.v
  • aicnn_lpr_sys 目录:包含了 aicnn_lpr_sys 子系统设计文件,aipre IP 设计目录,aiip IP 设计目录
    • aicnn_lpr_sys/rtl/aipre
    • aicnn_lpr_sys/rtl/aiip
    • aicnn_lpr_sys/rtl/aicnn_lpr_sys.v
    • aicnn_lpr_sys/rtl/inc_aicnn_lpr_sys.v
  • video_in_sys 目录:包含了 video_in_sys 子系统设计文件,dvp_rx IP 设计目录,mipi_rx IP 设计目录,isp IP 设计目录
    • video_in_sys/rtl/dvp_rx
    • video_in_sys/rtl/mipi_rx
    • video_in_sys/rtl/isp
    • video_in_sys/rtl/video_in_sys.v
    • video_in_sys/rtl/inc_video_in_sys.v
  • video_ou_sys 目录:包含了 video_ou_sys 子系统设计文件,vga_tx IP 设计目录,hdmi_tx IP 设计目录,de IP 设计目录
    • video_ou_sys/rtl/vga_tx
    • video_ou_sys/rtl/hdmi_tx
    • video_ou_sys/rtl/de
    • video_ou_sys/rtl/video_ou_sys.v
    • video_ou_sys/rtl/inc_video_ou_sys.v
  • comm_conn_sys 目录:包含了 comm_conn_sys 子系统设计文件,uart IP 设计目录,gpio IP 设计目录,iic IP 设计目录,pwm IP 设计目录
    • comm_conn_sys/rtl/uart
    • comm_conn_sys/rtl/gpio
    • comm_conn_sys/rtl/iic
    • comm_conn_sys/rtl/pwm
    • comm_conn_sys/rtl/comm_conn_sys_ahb_regfiles.v
    • comm_conn_sys/rtl/comm_conn_sys.v
    • comm_conn_sys/rtl/inc_comm_conn_sys.v
  • memo_conn_sys 目录:包含了 memo_conn_sys 子系统设计文件,spif_ctrl_top IP 设计目录
    • memo_conn_sys/rtl/spif_ctrl_top
    • memo_conn_sys/rtl/memo_conn_sys.v
    • memo_conn_sys/rtl/inc_memo_conn_sys.v
  • axi4_ddr4_sys 目录:包含了 axi4_ddr4_sys 子系统设计文件,ddr4_ctrl IP 设计文件,axi4_ctrl IP 设计文件
    • axi4_ddr4_sys/rtl/axi4_sram.v
    • axi4_ddr4_sys/rtl/axi4_slave128.v
    • axi4_ddr4_sys/rtl/axi4_ctrl.v
    • axi4_ddr4_sys/rtl/ddr4_ctrl.v
    • axi4_ddr4_sys/rtl/axi4_ddr4_sys_ahb_regfiles.v
    • axi4_ddr4_sys/rtl/axi4_ddr4_sys.v
    • axi4_ddr4_sys/rtl/inc_axi4_ddr4_sys.v
  • soc_amba_bus 目录:包含了 AHB/APB 之类的 soc_amba_bus 互联总线相关的 IP 设计文件
    • soc_amba_bus/rtl/ahb2apb_bridge.vAHB 转 APB 总线转换桥
    • soc_amba_bus/rtl/ahb_decoder.vAHB 总线译码桥
    • soc_amba_bus/rtl/ahb_mem_ctrl.vAHB 存储控制器(通过 AHB 读写存储器)
    • soc_amba_bus/rtl/ahb_regfiles.vAHB 寄存器文件(通过 AHB 访问和配置寄存器)
    • soc_amba_bus/rtl/apb_decoder.vAPB 总线译码桥
    • soc_amba_bus/rtl/apb_regfiles.vAPB 寄存器文件(通过 APB 访问和配置寄存器)
    • soc_amba_bus/rtl/inc_soc_amba_bus.v
  • standard_ips 目录:包含了 FIFO/SRAM/PIPE 之类的 standard_ips 标准单元相关的 IP 设计文件
    • standard_ips/rtl/aiip_async_fifo.vAIIP FIFO 单元(异步设计,支持跨时钟域)
    • standard_ips/rtl/aiip_delay_unit.vAIIP 流水延迟单元(支持参数配置)
    • standard_ips/rtl/aiip_dpsram.vAIIP SRAM 单元(双口读写,寄存器输出/读)
    • standard_ips/rtl/aiip_afifo_export_ctrl.vAIIP FIFO 读阈值控制单元(异步设计)
    • standard_ips/rtl/aiip_fifo_export_ctrl.vAIIP FIFO 读阈值控制单元(同步设计)
    • standard_ips/rtl/aiip_rom.vAIIP ROM 单元(可通过宏定义来控制组合逻辑输出和时序逻辑输出)
    • standard_ips/rtl/aiip_sram.vAIIP SRAM 单元(寄存器输出/读)
    • standard_ips/rtl/aiip_sram_async.vAIIP SRAM 单元(组合逻辑输出/读)
    • standard_ips/rtl/aiip_sync_fifo.vAIIP FIFO 单元(同步设计,支持数据缓存)
    • standard_ips/rtl/cell_irq_client.vCELL 中断处理标准单元(支持中断状态屏蔽,强制,清除)
    • standard_ips/rtl/inc_lib_aiip.v
    • standard_ips/rtl/inc_lib_isp.v
    • standard_ips/rtl/inc_lib_ccu.v这个文件是特殊的,内部就是大量的 CCU 标准单元 IP 设计代码,而不是文件列表
    • standard_ips/rtl/inc_lib_cell.v这个文件是特殊的,内部就是大量的 CELL 标准单元 IP 设计代码,而不是文件列表
    • standard_ips/rtl/inc_standard_ips.v
    • standard_ips/rtl/isp_calc_core.vISP 窗滤波设计单元
    • standard_ips/rtl/isp_lbuf_ctrl.vISP 行缓存设计单元
    • standard_ips/rtl/isp_line_cnt.vISP 图像行计数单元(带握手机制)
    • standard_ips/rtl/isp_line_crop.vISP 图像行裁剪单元(带握手机制)
    • standard_ips/rtl/isp_line_fill.vISP 图像行填充单元(带握手机制)
    • standard_ips/rtl/isp_matrix_cnt.vISP 图像矩阵计数单元(带握手机制)
    • standard_ips/rtl/isp_matrix_crop.vISP 图像矩阵裁剪单元(带握手机制)
    • standard_ips/rtl/isp_pipe.vISP REG 缓存单元(带反压功能)
    • standard_ips/rtl/isp_pipe_fifo.vISP FIFO 缓存单元(带反压功能)
    • standard_ips/rtl/isp_vtg.vISP 视频测试产生器
    • standard_ips/rtl/isp_wbuf_ctrl.vISP 窗缓存设计单元
  • soc_top 目录:包含了 soc_top 系统设计文件,以及 ASIC 系统宏定义文件 def_soc_top.v 和 FPGA 系统宏定义文件 def_soc_top_fpga.v
    • soc_top/rtl/def_soc_top.v
    • soc_top/rtl/def_soc_top_fpga.v
    • soc_top/rtl/soc_top.v
    • soc_top/rtl/inc_soc_top.v
    • soc_top/doc/design_report文档相关的,目前已删除
    • soc_top/doc/design_specification文档相关的,目前已删除
    • soc_top/doc/verification_plan文档相关的,目前已删除
    • soc_top/spy/rptSPYGLASS 相关的,目前已删除
    • soc_top/spy/sgdcSPYGLASS 相关的,目前已删除
    • soc_top/spy/waiveSPYGLASS 相关的,目前已删除

本文来源于 rv_video_ai_soc 这款 SoC 的《工程环境》专题文章


© 新芯设计
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐