关于整个虚拟项目,请参考:

【HISI IC萌新虚拟项目】Package Process Unit项目全流程目录_尼德兰的喵的博客-CSDN博客

前言

虚拟机为芯王国公众号提供的虚拟机,虚拟机内置vcs工具,大家可以关注后自行获取。

关于编译环境的搭建,一些储备知识请参考之前的文章。首先,需要了解Makefile的一些基本语法:

【芯片前端】以vcs编译环境为例做一个适用于芯片前端的极简版Makefile实操教程_nc run_尼德兰的喵的博客-CSDN博客

而后,学习一下vcs的常用命令行和Makefile组织:

【验证小白】编译、仿真与波形 —— 基于VCS的通用superbench平台搭建_superbench 验证_尼德兰的喵的博客-CSDN博客

最后,验证环境是通过auto_testbench工具生成的,关于这个工具可以参考:

【芯片前端】可能是定向验证的巅峰之作——auto_testbench_尼德兰的喵的博客-CSDN博客

编译环境

一般而言,在完成代码编写后,需要将代码分别交付给验证和后端。在交付给验证同事之前,需要进行基本的编译和lint清理,交付给后端同事之前,需要进行lint清理和预综合。所以,我们先进行代码的编译环节。

在rtl目录,组织spt.lst filelist文件,文件中请使用绝对路径:

/home/ICer/ppu_prj/rtl/reg/rc_field.v
/home/ICer/ppu_prj/rtl/reg/ro_field.v
/home/ICer/ppu_prj/rtl/reg/rw_field.v
/home/ICer/ppu_prj/rtl/reg/rc_cnt_field.v
/home/ICer/ppu_prj/rtl/cpu_if.v
/home/ICer/ppu_prj/rtl/crg.v
/home/ICer/ppu_prj/rtl/ppu_core.v
/home/ICer/ppu_prj/rtl/spt_core.v
/home/ICer/ppu_prj/rtl/spt.v
/home/ICer/ppu_prj/rtl/sram.v
/home/ICer/ppu_prj/rtl/test_core.v
/home/ICer/ppu_prj/rtl/ppu_top.v

之后,使用auto_testbench脚本生成编译环境,并修改tb.f文件:

+libext+.v
//-y -f /home/ICer/ppu_prj/rtl/spt.lst
../top/testbench.sv

之后对于testbench一些小问题,稍微修改一下就可以了。此时整体目录结构为:

ICer@IC_EDA /home/ICer/ppu_prj/rtl]$tree
.
├── cpu_if.v
├── crg.v
├── ppu_core.v
├── ppu_top.v
├── reg
│   ├── rc_cnt_field.v
│   ├── rc_field.v
│   ├── ro_field.v
│   └── rw_field.v
├── spt_core.v
├── spt.lst
├── spt.v
├── spt_verification
│   ├── cfg
│   │   ├── cfg.mk
│   │   ├── check_fail.pl
│   │   ├── run.do
│   │   └── tb.f
│   ├── rtl
│   ├── sim
│   │   └── Makefile
│   ├── top
│   │   └── testbench.sv
│   └── ver
├── sram.v
└── test_core.v

最后,在sim目录make cmp即可进行编译,修改RTL编译问题。

【IC萌新虚拟项目】ppu模块的编译环境搭建与RTL编译相关推荐

  1. 【IC萌新虚拟项目】ppu模块基于spyglass的lint清理环境搭建与lint清理

    关于整个虚拟项目,请参考: [HISI IC萌新虚拟项目]Package Process Unit项目全流程目录_尼德兰的喵的博客-CSDN博客 前言 RTL代码在交付给验证同时进行功能验证时,可以同 ...

  2. 【IC萌新虚拟项目】ppu整体uvm验证环境搭建

    关于整个虚拟项目,请参考: [HISI IC萌新虚拟项目]Package Process Unit项目全流程目录_尼德兰的喵的博客-CSDN博客 前言 本篇文章完成ppu整体uvm环境搭建的指导,在进 ...

  3. 【IC萌新虚拟项目】PPU模块寄存器描述

    地址 寄存器名 域名 位宽 属性 默认值 描述 0x4000 PORT_SEL port_sel 0:0 R/W 0x0 扫描端口选择: 0:扫描A端口

  4. 深入谷歌开源项目【1】 - Camer2 - 环境搭建和源码编译

    前言:搞机器视觉,目前一般都有用摄像模组,或者工业相机,可是如果要搞到消费类,手机却不行.因为,手机上有个各种特效,这些都会对视觉效果有影响.所以,要在手机上搞,必须对手机的系统上的摄像头应用能够底层 ...

  5. 用JIRA管理你的项目——(一)JIRA环境搭建

    JIRA,大家应该都已经不陌生了!  最初接触这个工具的时候,我还在一味地单纯依靠SVN管理代码,幻想着SVN可以有个邮件通知,至少在项目成员进行代码修改的时候,我可以第一时间通过邮件获得这个消息!  ...

  6. 新唐NUC972 uboot 编译环境搭建

    前言 最近在搭建NUC972的虚拟机编译环境时遇到了一些小问题,通过网络各种搜索关于uboot编译的说明没有太详细的说明,最后各种百度搜索解决了此问题,把具体步实现步骤分享一下. 1. uboot 简 ...

  7. python配置opencv最简单_【萌新】面向(Windows10)python的opencv环境配置“个人向”报错总结...

    关于opencv+python环境配置的一点小小的教训分享(本人采用的pip安装,anaconda安装也是大致流程),也是对花了两天配环境的愚蠢自己的一个吐槽. 相关大致流程建议按照官方的安装指导进行 ...

  8. Neo4j ① <图论>图,节点,关系,属性<知识图谱和图库>图谱,图库,优势<基础>模块,应用场景,环境搭建,浏览器

    目录 第一部分 图 和 Neo4j 1.1 图论 1.1.1 图论起源 --- 柯尼斯堡(Konigsberg)七桥问题 1.1.2 图 和 节点 1.1.3 节点关系表达 1.1.4 属性图模型规则 ...

  9. 【Spring Cloud 基础设施搭建系列】Spring Cloud Demo项目 Spring Boot Test集成测试环境搭建

    文章目录 集成测试 @SpringBootTest的集成测试 Spring Boot Test集成测试环境搭建 参考 源代码 集成测试 集成测试(Integration Testing,缩写为INT) ...

最新文章

  1. Windows系统下多显示器模式开发
  2. CAN笔记(7) CAN协议(二)
  3. java中.length得到结果_Java length()方法:获取字符串的长度
  4. 剑指offer(C++)-JZ6:从尾到头打印链表(数据结构-链表)
  5. 网站域名过户查询_聚查教你怎么用域名批量查询工具查询网站历史和域名权重...
  6. java比较两个对象_Java比较两个对象
  7. sublime text3 boxy主题 (本地 压缩包 安装)
  8. 网页数据提取----网络投票软件开发(续1)
  9. 锅炉给水泵flash_锅炉给水泵故障实例
  10. android NDK的mk文件编写【1】—— 简单示例
  11. redis搭建哨兵模式(哨兵模式原理)
  12. 阿古斯机器人_燃烧王座:暗牧神器新语音暗示虚空之力
  13. [SSD核心技术:FTL 13] 不求同生,但求同死?固态硬盘闪存磨损均衡技术详解
  14. 征信的用途以及提升途径
  15. FreeSwitch_CallCenter_Tiers
  16. 全球及中国智能手机过滤器行业销售动态及投资盈利预测报告(2022-2027)
  17. 盘点气压传感器在智能手机中应用场景 智芯传感板装式压力传感器提升产品性能
  18. Android设备测试应用总结
  19. 【转】DRY原则的误区
  20. 一文读懂 Web3:互联网发展的新时代

热门文章

  1. 算法导论第三版(参照自己理解和网上的答案,仅供自己学习)
  2. 算法导论第三版2.1答案
  3. HTML5图文混排:把握移动端字体设计的七大准则
  4. PyTorch框架学习(二) — 一文精通张量操作
  5. 大数据面试题V2.0,641页,39w字
  6. js原生ajax与jquery的ajax的用法区别
  7. fastadmin软删除
  8. python bgr转rgb_python-PIL旋转图像颜色(BGR- RGB)
  9. SAP 采购发票校验之 后续借记 MIRO <转载>
  10. python 怎么用gpu运算_使用Python玩转GPU