原创 關於uvm_mem model的使用

uvm_mem提供了mem write和read的方法,在write方法中,有offset形參,這個形參意指訪問的location處於連續地址空間中的偏移。在通過uvm_reg_map轉換成physical address時,會加上bas

原创 在verilog或者systemverilog中怎麼打印timescale信息

有時,需要確保在實例樹下爲每個模塊應用正確的時間單位和精度,尤其是當不同模塊使用不同時間刻度並使用時間刻度參數時。 在Verilog, SystemVerilog中打印 `timescale  使用$printtimescale(path

原创 怎麼設置systemverilog類的時間單位(timescale)

timeunit和timeprecision是不允許在systemverilog類中直接使用的,那麼我們有什麼方法可以設置systemverilog類的時間單位和精度呢? 答案就是講systemverilog類包起來。 你可以用以下方式設

原创 NVDLA master project tree 一覽

zhajio@ubuntu:~/nvdla/hw$ . ├── cmod # systemc UT TLM 模型,在vp中也用的這個sc模型,在驗證環境中需要 `define NVDLA_REFEREN

原创 NVDLA epython 代碼自動生成腳本深度解析

epython全稱爲embedded python utility。  該腳本用於從源文件(如verilog文件中)執行內嵌的python代碼,並生成期望的輸出代碼。當用戶需要進行一些重複,冗餘或模塊化編碼工作時,它可以被視爲自動代碼生成

原创 Ubuntu16.04 NVDLA環境搭建

Download the Virtual Simulator $ git clone https://github.com/nvdla/vp.git $ cd vp $ git submodule update --init --recu

原创 參數化的Interfaces和可重用VIP(2/3)

本篇是討論SystemVerilog接口和接口參數化處理策略的三部分系列的第二部分。 在本系列的第一部分中,介紹了SystemVerilog接口的基本概念,並介紹了接口的參數化會給測試平臺代碼帶來的問題。這篇文章將描述這個問題的一個可能的

原创 參數化的Interfaces和可重用VIP(1/3)

本篇是討論SystemVerilog接口和接口參數化處理策略的三部分系列的第一部分。 背景 基於SystemVerilog的驗證引入了接口的概念來表示模塊之間的通信。在最基本的形式中,SystemVerilog接口只是一個命名的信號包,可

原创 參數化的Interfaces和可重用VIP(3/3)

本篇是討論SystemVerilog接口和接口參數化處理策略的三部分系列的第三部分。 在本系列的第一部分中,介紹了SystemVerilog接口的基本概念,並描述了這些接口的參數化會引入testbench代碼的問題。在第二部分中,描述了使

原创 nvdla整個build的flow

  Virtual Enviroment Follow this http://nvdla.org/vp.html Download Virtual Simulator: $ git clone https://github.com/

原创 Solving Docker permission denied while trying to connect to the Docker daemon socket

Problem: You are trying to run a docker container or do the docker tutorial, but you only get an error message like thi

原创 爲uvm_reg訪問添加額外信息

uvm_reg類爲我們提供了寄存器訪問的write和read接口, 通常用到形參有status, value, path, map, prior,其中prior是傳遞給sequencer的。 如果我們需要爲一個寄存器訪問對應的總線傳輸添

原创 發現了一個UVM源碼的bug

瞎用,發現了一個UVM-1.2中uvm_reg_map.svh的bug。詳細見下圖紅框中的代碼: 既然child_blk是null,那麼除了能調用其靜態方法外,其他方法(默認都是動態類型)是不能調用的。所以第1145行中紅框中的代碼是錯

原创 SystemC簡化仿真引擎簡介

 以下簡化的流程圖說明了SystemC仿真內核的操作流程。 首先,如前面“modules”中所討論的那樣進行詳細說明。 在elab過程中,構建SystemC模塊並建立各種仿真參數。 這個elab階段之後是對sc_start()的調用,它

原创 瞭解TrustZone,讀了這篇就夠了

瞭解TrustZone,讀了這篇就夠了 這篇文章源於老闆想了解TrustZone,要求我寫一篇文章簡單介紹TrustZone的原理。既然是給領導看的,只介紹原理哪裏夠,因此也添加了公司自己現有TEE環境的設計、實現和發展,也順帶加入了一些