原创 HDLBits 代碼輸出 Circuits(二)

(1)combinational Logic 對於真值表,可以化簡爲“積之和”的形式 (靜態冒險:電路的輸出在某種輸入作用下,不應當發生跳變時卻發生了跳變的情況。由於不同扇出路徑上的不同傳播時延造成的,在輸出毛刺是由單個輸入信號發

原创 python3(二)python3的安裝與環境搭建

python的下載地址 使用dos命令查看是否安裝: python -V pip -V 在cmd中輸入(設置環境變量): path=%path%;D:\Python 有三種方式可以運行Python: 交互式解釋器:

原创 python3(一)簡介

Python 是一個高層次的結合瞭解釋性、編譯性、互動性和麪向對象的腳本語言。設計具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比其他語言更有特色語法結構。 Python 是一種解釋型語言: 這

原创 verification(三)

一、systemverilog assertion(SVA) 以下面的例子將家長的意圖拆分:(assertion property) property pGetAcookie; @(posedge hour_clk) hungr

原创 UVM(一)

UVM = universal verification methodology(通用驗證方法學,基於sv) encapsulation(封裝) inheritance(繼承) polymorphism(多態)

原创 基於tcl腳本的modelsim仿真命令

使用tcl腳本與使用圖形化界面的modelsim步驟大致相同 先給出一個實例: //退出當前仿真功能,退出當前的工程,之後可以創建其他的工程 quit -sim //清除命令行信息 .main clear //創建庫:vlib:

原创 python3編程(一)

#!/usr/bin/python3 # Fibonacci series: 斐波納契數列 # 兩個元素的總和確定了下一個數 a, b = 0, 1 while b < 10: print(b) a, b =

原创 數字IC的基本流程

Verilog HDL可以在不同的的抽象層次進行描述電路下面的它們的具體層次分類: 可分爲前端與後端: 前端: spec(確定項目需求) system model(使用C/C++以及matlab等高級語言設置模型) RTL

原创 UVM(五)

UVM TLM(Transaction level modeling) TLM爲組件之間的通信建立專門的通信信道,避免通信出現混亂 (例如reference model只能從master_agent的monitor獲取數據) t

原创 樂鑫筆試題

一、將一個串行執行的C語言算法轉化爲單拍完成的並行可綜合verilog unsigned char cal_table_high_first(unsigned char value) { unsigned char i ; un

原创 UVM(三)

factory機制 其中uvm_component_utils和uvm_object_utils即創建註冊表 使用override結合factory機制,替換列表添加替換項 factory機制和override機制

原创 UVM(四)

UVM configuration機制(屬性配置工具) 傳遞值 傳遞對象 傳遞interface (1)半個全局變量,避免全局變量帶來的風險 (2)高層組件可以通過configuration機制在不改變代碼的情況下更改所包含的

原创 python3基本語法(二)

一、python3解釋器 1、在linux系統中 可以將 python3.x 安裝在 /usr/local/python3 目錄中。安裝完成後,可以將路徑 /usr/local/python3/bin 添加到您的 Linux/Un

原创 數字前端常見筆試題

1、什麼是競爭和冒險? 在組合邏輯中,門電路輸入信號由於經過路徑不同,到達該門的時間不同,叫做競爭 由於競爭而在輸出時可能產生尖峯毛刺或脈衝叫做冒險(靜態冒險和動態冒險) 1->0->1(靜態1冒險) ; 0->1->0(

原创 python3基本語法(一)

首先是衆所周知的helloworld 一、Python3 基礎語法 默認情況下,Python 3 源碼文件以 UTF-8 編碼,所有字符串都是 unicode 字符串。 註釋: #!/usr/bin/python3 # 第一個註