NVDLA master project tree 一览

zhajio@ubuntu:~/nvdla/hw$
.
├── cmod                  # systemc UT TLM 模型,在vp中也用的这个sc模型,在验证环境中需要 `define NVDLA_REFERENCE_MODEL_ENABLE,使能cmod作为参考模型使用。
├── perf                  # NVDLA_OpenSource_Performance excel文档 http://nvdla.org/primer.html网页 "Example Area and Performance with NVDLA" 章节
├── spec
│   ├── defs              # project level macros for multiple projects build
│   ├── manual            # 寄存器模型描述的RDL文件,利用开源UVM REG MODEL生成工具,生成
|   |                     #* **regs_v.v**: verilog model
|   |                     #* **regs_ral.sv**: ral class  
|   |                     #* **cmod**: c++ model
|   |                     #* **sv**: systemverilog model
│   └── odif              # ODIF: Open DLA Interface Definition
├── syn
│   ├── cons              # synopsys design constraint 文件
│   ├── script            # 综合的脚本
│   └── templates         # ???
├── third_party_tools
│   └── uvmc-2.3.0        # UVM Connect是一个基于UVM的开源库(Mentor Graphics),提供SystemC和SystemVerilog UVM模型和组件之间的TLM1和TLM2连接以及对象传递。
├── tools
│   ├── bin               # 各种脚本,我有篇博文是讲epython的
│   ├── etc               # build config, 定义不同配置对应project需要的资源,数据位宽,verdilog或者sv需要的宏,c++需要的宏等。
│   └── make              # build需要的makefile
├── verif                 # 验证环境目录,下面会细讲
│   ├── coverage
│   ├── protection
│   ├── ral
│   ├── regression
│   ├── testbench
│   ├── tests
│   ├── tools
│   ├── uvm_template
│   ├── verilator
│   └── vip
└── vmod                  # verilog 源码
    ├── compile_lint      # vcs编译makefile,compile log check 脚本
    ├── fifos
    ├── include
    ├── nvdla
    ├── plugins           # 内嵌perl脚本,模板产生工具
    ├── rams
    └── vlibs
zhajio@ubuntu:~/nvdla/hw/verif$
.
├── coverage                          # coverage exculde files locate
│   └── elfiles
│       └── nv_small                  # NVDLA 仅仅给出nv_small配置下的exclude files
├── protection                        # run protection tests的python 脚本。Protection tests for code commit quality check.
├── ral                               # Register Abstract Layer, reg adapter,顶层ral,ral pkg等。
├── regression
│   ├── scripts                       # 回归测试用python脚本
│   └── testplans                     # testplan
├── testbench
│   ├── trace_generator               # CRT用trace format文件生成用的tb. 有自己的nvdla_tg_top, 能单独运行,会生成,trace_player用到的trace format文件和数据 
│   │   ├── env
│   │   ├── resources
│   │   └── scenarios
│   └── trace_player                  # 解析trace format文件,完成配置寄存器,load data to memory,同步,等待中断,以及result memory crc check等。
├── tests
│   ├── nvdla_test
│   ├── python_tests
│   ├── trace_tests                   # direct test in trace format
│   │   ├── memory_surface_warehouse  
│   │   ├── nv_large                  
│   │   ├── nv_medium_1024_full       
│   │   ├── nv_medium_512             
│   │   ├── nv_small                  
│   │   ├── nv_small_256              
│   │   └── nv_small_256_full           
│   └── uvm_tests                     #CRT uvm tests
├── tools                             # 仿真脚本
│   └── surface_generator             # trace generator tb用到的Memory Surface File生成用脚本。
├── uvm_template                      # ???
├── verilator                         # 
└── vip
    ├── cc_agent                      # convolution core slave agent, 作为monitor使用
    ├── csb_agent                     # 寄存器配置接口对应的master agent,包含driver monitor sequencer等
    ├── dbb_agent                     # dbb接口对应的agent
    ├── dma_agent                     # 对应dut内部各种dma的slave agent,作为monitor使用
    ├── dp_agent                      # cacc to sdp pipeline, sdp to pdp pipeline,数据传递接口的monitor用slave agent
    ├── mem_man                       # memory manager
    ├── mem_model                     # memory model,作为外设memory使用,即可例化为primary mem也可例化为secondary mem
    ├── reference_model               # cmod作为参考模型的话,必须使用uvmc库,进行一些封装。
    │   ├── nvdla_cmod_wrap
    │   ├── nvdla_scsv
    │   ├── nvdla_top_scsv_adapter
    │   ├── rm_nvdla_internal_monitor
    │   └── rm_nvdla_top
    └── surface_generator             # surface generator uvm组件,调用surface_generator.py脚本,根据输入的随机命令行参数,生成Memory Surface File(feature or weight)

 

carnd-mpc-project-master是一个自动驾驶汽车路径追踪控制器的项目。 该项目使用了模型预测控制(MPC)的方法来使自动驾驶汽车跟踪给定的路径。首先,通过收集车辆的传感器数据,如位置、速度和方向等,并结合车辆模型进行状态估计。接下来,根据给定的车辆模型和路径信息,使用MPC算法预测车辆未来的运动轨迹。MPC算法考虑了车辆的动力学限制以及路径跟踪误差,以寻找最佳的控制输入,例如转向角和加速度,来实现车辆的路径追踪。 在carnd-mpc-project-master中,主要包含了以下几个部分:模型、约束、误差目标以及目标函数。模型定义了车辆的动力学模型,通过车辆的状态与控制输入之间的关系来预测车辆的下一步行动。约束考虑了车辆的实际物理限制,如最大转向角、最大加速度等,以保证控制输入的可行性。误差目标是指车辆与目标路径之间的距离,目标函数通过考虑误差目标和约束,来寻找最佳控制输入,使得车辆能够最优地追踪给定的路径。 除了主要的控制器实现外,还提供了一些辅助功能,如路径生成、状态估计和传感器数据处理等。这些功能一起协同工作,实现了车辆的自动路径追踪。 Carnd-mpc-project-master通过实现高效的路径追踪控制器,可以使自动驾驶汽车更加安全、精确地跟踪所需的路径。该项目不仅提供了路径追踪的基本原理和算法,还提供了一个实际运行的系统,可以应用于真实道路环境中的自动驾驶汽车。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值