原创 cadence indago征程(一)indago系列工具介紹

indago工具,是cadence工具,推出的一系列debug工具。在啓動simvision工具時,就會彈出一個窗口,裏面就提到了indago工具。 這套工具,非常的強大,但是就是網上介紹的資料不多。因爲,有很多人,都不知道這個工

原创 cadence indago征程(二)如何產生indago database

首先介紹下indago工具,也就是debug analyzer app。 在debug uvm驗證環境時,我們一般是通過增加打印,然後仿真,根據仿真打印的log,來確定問題。如果打印加得不夠,還得修改源代碼,增加代碼代碼。 有了i

原创 sv使用default clocking指定全局默認時鐘

在sv的assertion中,會用到時鐘打拍操作。一般會在assertion代碼塊中,顯示的寫上使用的時鐘, property counter_2; @(posedge clk) counter ==

原创 服務器與網絡設備安裝指南

近段時間,公司購買了一批服務器。自己還參與了服務器,網絡的搭建過程,因此寫下本文記錄下。 這次採購的設備有: 服務器 華爲防火牆 華爲交換機 ups電源與電池 購買服務器之後,服務廠商會派人來安裝服務器。安裝完畢之後,就需要自己配置網

原创 riscv cpu硬件訪問device區域微亂序的影響

以下代碼,是riscv plic處理一個外部中斷的handler程序。在handler程序中 首先寫irq_generator組件的clear寄存器,將中斷源給清除掉 然後寫plic的complete寄存器,通知plic,該中斷處理完

原创 systemverilog使用$fwrite系統函數打印信息到屏幕

       使用systemverilog(以下簡稱sv),除了使用$display系統函數,打印信息到屏幕上,還可以使用$fwrite系統函數,進行打印。        $fwrite的函數的第一個參數,是文件描述符。後續參數與$di

原创 如何將adoc文件轉換爲pdf文件

riscv的大多spec,都託管在了github。並且使用adoc文件格式編寫。adoc文件,是可以轉換爲pdf文件的。 通過工具 asciidoctor PDF 工具,可以將adoc文件,轉換爲pdf文件。該工具的官網介紹如下: h

原创 cadence indago征程(四)仿真加速indago database

indago工具很強大,對於debug環境,非常好用。但是因爲仿真過程中,會產生indago database,而database,會記錄仿真的所有狀態,因此必然就會造成仿真速度慢。如果環境非常複雜,那麼仿真速度會奇慢無比。 因此,就

原创 cadence indago征程(三)indago工具的使用

啓動indago工具之後,indago的界面,如下圖所示: 下面,就介紹一些,indago的炫酷技能。 一、smartlog smartlog,顯示log,並且可以將打印的一行log,和仿真狀態進行關聯。 在每行log的開頭,

原创 cadence indago征程(五)最強cpu debug工具-eswd

我們在編寫c程序,在調試的時候,希望能夠使用visual studio工具,或者eclipse工具,實現單步調試,讓我們能夠查看c程序的執行狀態,從而幫助我們去調試我們寫的c程序。 那在soc驗證或cpu core驗證(以下簡稱cor

原创 UVM使用雙頂層的用法

在UVM中,我們一般都是使用單頂層的模式。也就是隻有一個uvm_test_top頂層,然後下面有env,env下面有agent等。如下圖所示: 通過uvm_top.print_topology()函數,可以打印uvm的拓撲結構。比如

原创 newlib庫介紹以及底層調用研究

這段時間在研newlib,因爲這個涉及到裸機編程時,如何使用c運行庫。 newlib是一個面向嵌入式系統的c運行庫。在裸機如果想要實現c運行庫,那麼newlib是最好的一個選擇。而且newlib可以集成到gcc交叉編譯器中,在使用gc

原创 riscv各種版本gcc工具鏈編譯與安裝

要學習riscv架構,首先第一步,要搞定riscv的gcc交叉編譯器。下面就對riscv的gcc交叉編譯器,進行詳細的介紹。 一、riscv gcc工具下載 Riscv的gcc交叉編譯器,以開源的方式託管在github上。鏈接如下:

原创 靜態程序編譯鏈接與加載(五)鏈接腳本大作戰

在程序編譯的過程中,鏈接腳本起了非常大的作用,對各個.o文件,如何組合,VMA與LMA如何定義,都由這個文件來決定。 下面,針對鏈接腳本,進行一系列的實驗。 一、最簡單鏈接腳本,代碼段和數據段,合成一個segment 鏈接腳本如

原创 靜態程序編譯鏈接與裝載(一)問題的引入以及工具介紹

關於程序的編譯鏈接與裝載,有一些問題一直沒有弄得很清楚。這次花了不少精力,把這些問題,好好研究了一番。在學習的過程中,熟讀了<<程序員的自我修養-鏈接、裝載與庫>>這本書,收穫良多。強烈推薦這本書。 此次系列文章,是針對靜態編譯,動