我們來介紹另一種測試方式! Verilog 提供了一系列的指令,讓我們能與系統溝通 (System Task) ,如上一篇使用過的 $dumpfile(), $...
完成了一個模組後,要怎麼知道他的正確性? 第一步就是編譯檔案,編譯器會告訴你這份檔案是否有語法錯誤,或是其他能檢查出的錯誤。但是編譯成功代表這個模組 100%...
簡單的模組觀念就先暫時說到這邊,我們先用之前所學的觀念來實作 BCD 加法器! BCD 是什麼? 數字的編碼方式其實有很多種,舉例來說,十進位是生活中常用的數字...
宣告模組後,我們就可以開始使用它了!但是在那之前我們先來回顧之前提到的內建模組吧! 內建邏輯閘模組 我們曾經說過 Verilog 提供了邏輯閘的模組,例如:an...
介紹完了線路和線路的應用後,我們要開始組裝成模組囉! 但是在開始之前,我們要先認識模組的基本元件。 Port Port 的中文是端口,意思是說如果外部想要與模組...
Vector 其實比我們想像的靈活,上一篇我們提到的 vector 在一開始就將線路綑綁完成了,那如果我們想要把線路拆解或是組合成更龐大的 vector 又該怎...
上一篇提到一條 wire 最多表示兩種數值,那麼如果要表示更多數值,我們需要使用 vector 。 Vector 是什麼呢?中文翻譯叫向量,但是向量可能沒那麼好...
既然 Verilog 是硬體描述語言,那麼其中的組成肯定不是單純的變數,如:整數、浮點數、字串等。Verilog 中最重要的變數是 wire ,翻成中文就是線路...
不同的軟體支援不同的作業系統,因為我所使用的軟體都是免付費的,所以限制會稍多一點。但是找到可以被我們使用的環境才是我們的目的! Windows 寫完了 Veri...
Verilog 是由一個一個模組 (module) 堆疊起來的,而最上層的模組 (top module) 與 C 語言的主函式 (main function),...
Verilog 是一個硬體描述語言,除了設計硬體之外,他也涵蓋了 C 語言等軟體設計特色。 因此 Verilog 的設計思維其實非常廣泛的,同一個電路,程式碼的...
談到資訊領域的程式語言,相信大家一定都有聽過 C/C++, Python, Java 等語言,因為這些語言建構了現今的軟體世界!對於資訊領域的新鮮人來說,這幾個...
DE2_115(DAY3)以niosii去控制板子上的sdram 承接DAY2做的事情(https://ithelp.ithome.com.tw/article...
DE2_115(DAY2)用niosii和switch還有NiosII console去控制板子上的led 承接DAY1做的事情(https://ithelp....
從學校拿到一塊DE2_115,之前修DCLAB的時候只有接觸Verilog的部分,現在想要學習板子上niosii的使用,所以來go_through 板子上教學檔...
什麼是 Pipelined? 先以RISC-V架構來舉例: 我們先來看看這張圖: 圖片出處:源自 Computer Organization and Desi...
假設今天再做某種數位信號處理時,不小心用到了 arctan(y/x) 函數,那麼當然可以用泰勒展開得到多項式,化成一連串的乘法與加法運算,但是在這裡其實有另一個...
接下來探討一種透過牛頓法來找到相除解的方法 收斂除法 Step1 : 規格化 N 和 D,令 D 趨近於 1,例如 0.5 <= D < 1 or...
在加減乘除四個基本運算中,其中除法最為困難及複雜,因此除法也是最耗時的運算。 對於一個被除數為 N,除數為 D,商為 Q,餘數 R 的除法運算中,我們可以得...
為什麼要自己寫乘法器? 這篇會來教大家寫一個乘法器,那麼你可能會想:為什麼會需要乘法器呢?像我在 quartus 或 Vivado 裡打乘號也可以有乘法器用啊...
One-Wire One-Wire是一種只需要一條線即可傳輸資料的傳輸協定,而通常這種傳輸協定會用於與小型裝置溝通,例如數位溫度、濕度感測器。 那我們在這邊會以...
今天,我們要來完成整個 I2C 的最後一個部份了!先來看看這個 I2C Master write 模塊該有哪些輸入輸出腳吧: 輸入: clk_sys rst_...
I2C是什麼? I2C,又稱 I²C(Inter-Interated Circuit),在 I2C 的通訊協定中,收發資料只單純靠兩條線就能完成,分別為 SCL...
SPI是什麼? SPI(Serial Peripheral Interface),是一種同步的傳輸協定,主要應用於單晶片系統中。類似 I2C(之後會提到),它的...
既上一篇我們設計了 Uart_TX 的狀態機,我們今天要來引用狀態機模塊來實現這個 Uart_TX 的模塊。 先來看看這個模塊該有哪些輸入輸出腳: 輸入: c...
Uart 是什麼? UART(Universal Asynchronous Receiver/Transmitter),是一種非同步的傳輸協定,非同步傳輸的意思...
透過 Verilog 完成一個具有特定功能的電路後,並不代表你的工作已經完成了,TestBench(tb) 在電路設計中也是一個非常重要的環節,往往驗證電路所...
什麼是狀態機呢? 狀態機,其實是有限狀態機(finite-state machine(FSM))的簡稱,字面上來看可以知道它是有有限個狀態,並且可以按照著特定的...
什麼是 Latch ? 前幾篇在 if-else 以及 case 語句時有提到 latch,那什麼是 latch 呢? latch 又俗稱"鎖存器&q...
模組 在一個 .V 檔案裡面,可以有很多個 module,但是 Top Module 只會有一個,所以檔名必須以 Top Module.v 來命名來辨別 Top...