# VLAB新手指引 编辑文档

VLAB (Verification Laboratory) 是芯华章基于云的在线EDA工具服务平台,它通过远程桌面的方式为您提供芯华章产品开箱即用的体验。VLAB平台下私有部署的Gitlab https://gitlab.x-epic.com (opens new window) 提供丰富Verilog实验课程,可按需进行学习。

# 快速上手

下面以与门逻辑为例,说明在VLAB中进行数字电路设计,使用芯华章仿真器GalaxSim和调试器Fusion Debug进行验证的完整流程。

# 第一步 登录远程桌面

  1. 在VLAB首页点击菜单栏 “登录” ,点击下方注册链接进行新用户注册。注册成功后进入VLAB用户主页。

  2. 在VLAB用户主页,点击 “实验环境”。

  3. 在 “实验环境” 页面,点击 “访问” 按钮。如果没有显示 “访问”按钮,可先点击 “启动/重启” 按钮。

# 第二步 获取实验文件

  1. 在远程桌面中,点击 图标打开一个终端。

  2. 将与门逻辑实验用例所在仓库到本地。根据弹窗提示,依次输入VLAB用户名和密码。

    git clone https://gitlab.x-epic.com/learning/verilog.git ~
    

    提示

    在当前网页中复制代码,点击远程桌面右上角的“Paste”按钮,可快速粘贴其到终端中。

  3. 执行以下命令,进入与门实验目录。

    cd ~/verilog/01_basic/and
    
  4. 编写DUT文件和testbench文件。

    • dut.v:DUT文件。可参考.dut.v.ref进行编写。参考文件中定义了模块and_gate,输入信号为ab。输出信号为out,其值为a与b。

    • testbench.v:Testbench文件。可参考.testbench.v.ref进行编写。参考文件为DUT的输入ab添加激励并判断out的结果是否和与运算定义中a与b的结果一致。此文件中使用$dumpfile()$dumpvar()系统任务导出所有信号波形数据到指定文件中。

# 第三步 逻辑仿真验证

  1. 运行 setup.sh 脚本,设置GalaxSim和Fusion Debug的工具版本。

    source /tools/x-epic/setup.sh FusionDebug+GalaxSim 24.03.00.b037
    
  2. 执行以下命令,使用GalaxSim进行编译。

    make compile
    
  3. 执行以下命令,使用进行仿真并导出波形。

    make run
    

  4. 打开Fusion Debug GUI界面,加载设计文件和波形文件。

    make debug
    
  5. 在GUI界面的波形窗口中,点击图标,接着选中about三根信号,点击“OK”,在波形窗口中查看波形。

    结果:可以观察到out的值仅在ab都为1时才为1。

# 更多Verilog实验

除了快速上手中演示的AND与门逻辑,VLAB Verilog Lab项目提供更多Verilog实验课程,用于学习数字电路与逻辑设计。可使用外部浏览器,或VLAB远程桌面中的浏览器访问项目地址,查看实验文件。进入课程文件夹后,参考快速上手,进行相应的逻辑仿真和验证。

项目地址:https://gitlab.x-epic.com/learning/verilog (opens new window)

实验课程包含以下部分:

  • 0_basic:Verilog HDL 基础
  • 1_comb_logic:组合逻辑电路设计基础
  • 2_seq_logic:时序电路设计基础
  • 3_fsm:有限状态机设计基础
  • 4_comm:通信接口协议和控制器
  • 5_ram:RAM接口控制器
  • 6_fir:数字信号处理实例

本课程部分案例来自于《搭建你的数字积木》 (opens new window)一书。

# 产品实验教程

基于OpenC910,VLAB设计了4个GalaxSim和Fusion Debug联合使用的实验。GalaxSim和Fusion Debug分别是芯华章研发的仿真器和调试平台。

项目地址:https://gitlab.x-epic.com/design/uvm_ahb_and_openc910_coremark (opens new window)

# VLAB操作指导

用户可在VLAB中进行仓库克隆和文件上传,使用内置的版本管理工具和CI工具。VLAB支持多个芯华章验证产品,并提供简单用例和一键式环境配置脚本,用户可快速上手。使用过程中如有问题,可参考常见问题说明或联系客服。

# 使用VLAB的Gitlab私有仓库

用户可以在公网环境和在VLAB远程桌面中使用VLAB私有部署的Gitlab下载实验文件或管理和共享代码:

# 使用敏捷验证管理器FusionFlex

FusionFlex是X-EPIC敏捷验证管理器,支持验证流程的动态跟踪和可视化。可以在公网环境中使用,也可以在VLAB远程桌面中使用。

  • 公网环境:访问FusionFlex网址https://fusionflex.x-epic.com/ (opens new window)。登录后,您可以从主页中浏览概况,并在工作台菜单中提交作业。关于使用FusionFlex的更多信息,请点击界面右上角的文档图标,阅读用户指南。

  • VLAB远程桌面:双击桌面中的“FusionFlex”图标,使用VLAB账号登录FusionFlex。您还可以在终端中使用xjobCLI命令。有关命令的使用,请执行xjob -h命令行查看帮助信息。

# 克隆外部Git仓库

该功能支持web和terminal两种方式。

提示

目前仅支持Github和Gitee中的公开仓库。

  1. 在VLAB用户主页:

    1. 登录VLAB,进入用户主页后,点击 “克隆外部仓库” 按钮。

    2. 点击 “新增” 按钮。

    3. 输入Github或者Gitee的仓库地址和本地存储地址,点击 “确定” 按钮返回列表页面。

    4. 在列表页面点击 “刷新” 图标,查看本次克隆的状态,等待克隆完成。

  2. 在VLAB远程桌面:

    1. 在远程桌面中打开一个终端窗口。
    2. 使用 git clone <repo_url> <local_path> 命令克隆仓库到本地。

    结果:克隆记录同样会出现在web中“克隆外部仓库”列表页面。

# 复制外部文本到远程桌面内部

  1. 在外部复制文本。

  2. 点击远程桌面右上角的“Paste”按钮,便可粘贴文本到远程桌面内部。

# 上传本地文件到VLAB云服务器

  1. 登录VLAB。

  2. 在VLAB用户首页,点击 “文件上传” 按钮。

  3. 在弹出的 “上传文件” 窗口,选择文件,并等待上传进度条完成。

    结果:文件上传至云服务器当前用户的home目录。

# 使用版本管理工具Jenkins

用户可以在VLAB内部使用Jenkins进行版本管理:

  1. 双击远程桌面中的 “Jenkins” 图标。
  2. 在登录页面输入用于登录VLAB的用户名和密码。

# 共享远程桌面

你可以通过以下方式共享远程桌面,进行远程协助。

  1. 点击“实验环境”中右侧的“分享”按钮。

  2. 在弹出窗口中,根据需求复制“无操作权限”和“有操作权限”的链接,分享给其他用户。

  3. 其他用户打开“无操作权限”的链接后,仅可浏览你的远程桌面。其他用户打开“有操作权限”的链接后,可远程操作你的远程桌面。

# 获取帮助

您可以通过以下方式获取帮助和技术支持:

  • 查看常见问题中的列举的一些常见问题和回答。

  • 点击远程桌面右下角的客服图标,打开帮助窗口,联系在线客服。

  • 预约演示。

    点击VLAB首页的 “预约演示” 按钮,填写相关信息便可以提交预约演示申请,我们收到您的申请后会在第一时间和您联系。

# 常见问题

1. 如何进入远程桌面环境?

点击VLAB快捷菜单中的 “实验环境” 按钮,然后在实验环境右侧点击 “访问” 按钮即可进入。如果没有 “访问” 按钮,请先点击 “启动/重启” 按钮。

2. 如何快速设置软件环境变量?

可以通过命令行 source /tools/x-epic/setup.sh 来设置软件环境变量,可以通过 source /tools/x-epic/setup.sh -h 来查看详情。

注意:在设置完软件环境变量后会有一个 “Quick Start”,根据 “Quick Start” 中的命令行可以对软件有一个直观的了解。

3. 如何上传文件?

登录VLAB后在 “实验环境” 右侧,点击 “文件上传” 按钮上传文件。

4. 怎么访问FusionFlex?

访问FusionFlex有两种方式:

  1. 双击远程桌面桌面上的FusionFlex图标
  2. 打开一个终端,然后输入 firefox http://fusionflex.vlab.c-epic.com

以上两种方式都可以打开FusionFlex Web页面,然后通过VLAB账号进行登录即可。FusionFlex的具体使用方法,可以参考FusionFlex文档:http://fusionflex.vlab.c-epic.com/docs/user-guide/html/FusionFlex-User-Guide.html

5. 怎么访问版本管理工具Jenkins?

VLAB内部部署了Jenkins环境,双击桌面上的 “Jenkins” 图标,使用VLAB同一账号进行登录,即可通过Jenkins来管理您的项目。

6. 有没有各个软件的demo case?

case目录在 /cases 中,每个case中都有一个 readme.md 文件,可以参考该文件来熟悉case的执行方式。用户对该目录只有读权限,没有写入权限,所以推荐复制case到自己的家目录之后再去执行。

7. VLAB中的各个工具放在什么路径?

VLAB中不仅有芯华章的各种工具,而且还会收集工作中常用的第三方工具,目前所有的工具都存放在了 /tools 这个目录下,用户对该目录只有读权限,没有写权限。

8. 怎么打开VS Code?

VLAB已经安装了VS Code,可以在终端执行 code 来打开VS Code,VS Code中已经预装了常用的插件。

10. 软件文档在哪里?

  • GalaxSim (Base Mode): /tools/x-epic/GalaxSim/23.11.00/doc/GalaxSim-User-Guide.pdf
  • GalaxSim (Turbo Mode): /tools/x-epic/GalaxSimTurbo/23.11.00/doc/GalaxSim-User-Guide.pdf
  • FusionDebug: /tools/x-epic/FusionDebug/23.11.00/doc/Fusion-Debug-User-Guide.pdf
  • GalaxFV: /tools/x-epic/GalaxFV/23.09.00.r033/doc/GalaxFV-User-Guide.pdf
  • HPE: /tools/x-epic/HPE/23.12.00/doc

可以通过firefox打开文档,比如在终端执行 firefox /tools/x-epic/GalaxSim/23.11.00/doc/GalaxSim-User-Guide.pdf 即可打开该文档。

软件文档各个版本之间会有细微差异,可以根据不同的版本号找到对应的文档。

11. 如何克隆Github和Gitee上的仓库?

目前仅支持克隆Github和Gitee上的公开仓库,可任选以下两种方式。

  • Terminal:通过git命令来实现。
  • Web:通过Web页面中的 “克隆外部仓库” 功能来实现。

12. 如何让Git记住用户名和密码?

完成以下步骤可让Git长期记住密码:

  1. 在终端中,执行以下命令。

    git config --global credential.helper store
    
  2. 执行git命令,如git pushgit pullgit clone等。

    结果:命令执行后,会出现提示输入用户名的弹窗。

  3. 在对话框中点击“Cancel”按钮,回到终端。在终端中输入用户名。

    结果:用户名输入后,会出现提示输入密码的弹窗。

  4. 在对话框中点击“Cancel”按钮,回到终端。在终端中输入密码。

    结果:第2步中的git命令执行完成。此后执行git命令无需再输入用户名和密码。

  5. 如何透传快捷键到远程桌面内?

点击远程桌面右上角的 “Full Screen” 按钮进入全屏模式,在全屏幕下可以透传快捷键到远程桌面内。