我們認識了數位電路設計的組合電路、循序電路,也學習了 Verilog 的語法和實際練習撰寫 Verilog 的程式碼。學習他們的最終目標到底是什麼?就是設計出...
之前提到的議題都是在更加彈性設計電路,今天我們要介紹的是讓設計者方便撰寫 Verilog 程式碼。在 C 語言中,我們常常看見 #define, #includ...
關鍵字 parameter 我們已經在上一篇看過了!但是它的功用到底是什麼? 我們先思考一個問題:下方是一個 4 bits Johnson Counter 的程...
Generate 是個很強大的語法。 在寫 Verilog 時,我最討厭的狀況是:(以 Pseudocode 表示) if (cond == True)...
不知道大家會不會好奇 begin, end 是做什麼的?只是單純要去區分各個區塊,就像是 C 語言的 { } 嗎? 其實沒有那麼簡單!過去我們都是使用 Sequ...
迴圈是程式設計中最為重要的一環,因為他可以根據我們的設定重複執行某一項事情。 Verilog 也不例外,他包含 while, for, repeat, fore...
Race Condition 中文翻譯為「競爭條件」。 這個問題非常常見,不只是在設計電路時出現,軟體設計時也會見到這個問題。稍微概述一下這個問題:當有兩個以上...
自從循序電路的出現,我們大量接觸時間的觀念,順序變得相當重要! 最開始我們只使用到 = 來執行賦值的行為,而之後增加了 <= 來建構不同的電路。我們也說到...
大致認識了有限狀態機後,我們來試試透過 Verilog 實作出來吧! 我們先介紹一個 Verilog 的線上練習平台:HDLBits這個平台包含了各式各樣的...
有限狀態機 維基百科中有一段有限狀態機的定義 有限狀態機(英語:finite-state machine,縮寫:FSM)又稱有限狀態自動機(英語:finite...
了解了計數器的規則,這一篇我們要來實作 Johnson Counter 和 Ring Counter ,其實兩者的實作差異不大,希望大家在學會 Johnson...
學會正反器之後,我們該應用一下了吧!之前提到正反器是一種有記憶的電路,透過這種電路,我們可以有不同的初始狀態。而我們要介紹的計數器就是其中一種應用。 以 0 ~...
同樣是賦值,Verilog 共提供了兩種形式:blocking 、 nonblocking 。 Blocking 就是我們想像中的賦值,程式碼由上而下進行。但是...
這篇文章的目標就是實作正反器,但是在開始之前我們要先學習新的 Verilog 語法,這可以有效幫助我們簡化程式碼。 條件判斷 條件判斷在軟體撰寫共分成兩種:if...
邏輯電路可以分成兩種,一種是我們之前在接觸的組合電路 (Combinational Circuit) ,另一種是比較難理解的循序電路 (Sequential C...
我們來介紹另一種測試方式! 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 板子上教學檔...