iT邦幫忙

verilog相關文章
共有 67 則文章
鐵人賽 Software Development DAY 12
數位 IC 設計起手式 系列 第 12

技術 Day 12: Testbench 新天地

我們來介紹另一種測試方式! Verilog 提供了一系列的指令,讓我們能與系統溝通 (System Task) ,如上一篇使用過的 $dumpfile(), $...

鐵人賽 Software Development DAY 11
數位 IC 設計起手式 系列 第 11

技術 Day 11: 初探 Testbench

完成了一個模組後,要怎麼知道他的正確性? 第一步就是編譯檔案,編譯器會告訴你這份檔案是否有語法錯誤,或是其他能檢查出的錯誤。但是編譯成功代表這個模組 100%...

鐵人賽 Software Development DAY 10
數位 IC 設計起手式 系列 第 10

技術 Day 10: BCD 加法器

簡單的模組觀念就先暫時說到這邊,我們先用之前所學的觀念來實作 BCD 加法器! BCD 是什麼? 數字的編碼方式其實有很多種,舉例來說,十進位是生活中常用的數字...

鐵人賽 Software Development DAY 9
數位 IC 設計起手式 系列 第 9

技術 Day 09: 自製模組啟用!

宣告模組後,我們就可以開始使用它了!但是在那之前我們先來回顧之前提到的內建模組吧! 內建邏輯閘模組 我們曾經說過 Verilog 提供了邏輯閘的模組,例如:an...

鐵人賽 Software Development DAY 8
數位 IC 設計起手式 系列 第 8

技術 Day 08: 第一個 Verilog 模組

介紹完了線路和線路的應用後,我們要開始組裝成模組囉! 但是在開始之前,我們要先認識模組的基本元件。 Port Port 的中文是端口,意思是說如果外部想要與模組...

鐵人賽 Software Development DAY 7
數位 IC 設計起手式 系列 第 7

技術 Day 07: 線路的拆與合

Vector 其實比我們想像的靈活,上一篇我們提到的 vector 在一開始就將線路綑綁完成了,那如果我們想要把線路拆解或是組合成更龐大的 vector 又該怎...

鐵人賽 Software Development DAY 6
數位 IC 設計起手式 系列 第 6

技術 Day 06: Vector 的出現

上一篇提到一條 wire 最多表示兩種數值,那麼如果要表示更多數值,我們需要使用 vector 。 Vector 是什麼呢?中文翻譯叫向量,但是向量可能沒那麼好...

鐵人賽 Software Development DAY 5
數位 IC 設計起手式 系列 第 5

技術 Day 05: 線路三兩事

既然 Verilog 是硬體描述語言,那麼其中的組成肯定不是單純的變數,如:整數、浮點數、字串等。Verilog 中最重要的變數是 wire ,翻成中文就是線路...

鐵人賽 Software Development DAY 4
數位 IC 設計起手式 系列 第 4

技術 Day 04: Verilog 環境架設

不同的軟體支援不同的作業系統,因為我所使用的軟體都是免付費的,所以限制會稍多一點。但是找到可以被我們使用的環境才是我們的目的! Windows 寫完了 Veri...

鐵人賽 Software Development DAY 3
數位 IC 設計起手式 系列 第 3

技術 Day 03: Verilog 組織架構

Verilog 是由一個一個模組 (module) 堆疊起來的,而最上層的模組 (top module) 與 C 語言的主函式 (main function),...

鐵人賽 Software Development DAY 2
數位 IC 設計起手式 系列 第 2

技術 Day 02: Verilog 設計思維

Verilog 是一個硬體描述語言,除了設計硬體之外,他也涵蓋了 C 語言等軟體設計特色。 因此 Verilog 的設計思維其實非常廣泛的,同一個電路,程式碼的...

鐵人賽 Software Development DAY 1
數位 IC 設計起手式 系列 第 1

技術 Day 01: Verilog 前言

談到資訊領域的程式語言,相信大家一定都有聽過 C/C++, Python, Java 等語言,因為這些語言建構了現今的軟體世界!對於資訊領域的新鮮人來說,這幾個...

技術 DE2_115(DAY3)以niosii去控制板子上的sdram

DE2_115(DAY3)以niosii去控制板子上的sdram 承接DAY2做的事情(https://ithelp.ithome.com.tw/article...

技術 DE2_115(DAY2)用niosii和switch還有NiosII console去控制板子上的led

DE2_115(DAY2)用niosii和switch還有NiosII console去控制板子上的led 承接DAY1做的事情(https://ithelp....

技術 DE2_115(DAY1)以niosii去控制板子上的led燈

從學校拿到一塊DE2_115,之前修DCLAB的時候只有接觸Verilog的部分,現在想要學習板子上niosii的使用,所以來go_through 板子上教學檔...

鐵人賽 Software Development DAY 30
verilog or very lag 系列 第 30

技術 【Day30】Pipelined 加法器

什麼是 Pipelined? 先以RISC-V架構來舉例: 我們先來看看這張圖: 圖片出處:源自 Computer Organization and Desi...

鐵人賽 Software Development DAY 29
verilog or very lag 系列 第 29

技術 【Day29】Cordic 演算法的實現

假設今天再做某種數位信號處理時,不小心用到了 arctan(y/x) 函數,那麼當然可以用泰勒展開得到多項式,化成一連串的乘法與加法運算,但是在這裡其實有另一個...

鐵人賽 Software Development DAY 28
verilog or very lag 系列 第 28

技術 【Day28】2次收斂除法器實作

接下來探討一種透過牛頓法來找到相除解的方法 收斂除法 Step1 : 規格化 N 和 D,令 D 趨近於 1,例如 0.5 <= D < 1 or...

鐵人賽 Software Development DAY 27
verilog or very lag 系列 第 27

技術 【Day27】線性收斂除法器實作

在加減乘除四個基本運算中,其中除法最為困難及複雜,因此除法也是最耗時的運算。 對於一個被除數為 N,除數為 D,商為 Q,餘數 R 的除法運算中,我們可以得...

鐵人賽 Software Development DAY 26
verilog or very lag 系列 第 26

技術 【Day26】快速乘法器的實作(Booth演算法)

為什麼要自己寫乘法器? 這篇會來教大家寫一個乘法器,那麼你可能會想:為什麼會需要乘法器呢?像我在 quartus 或 Vivado 裡打乘號也可以有乘法器用啊...

鐵人賽 Software Development DAY 25
verilog or very lag 系列 第 25

技術 【Day25】One-Wire protocol

One-Wire One-Wire是一種只需要一條線即可傳輸資料的傳輸協定,而通常這種傳輸協定會用於與小型裝置溝通,例如數位溫度、濕度感測器。 那我們在這邊會以...

鐵人賽 Software Development DAY 24
verilog or very lag 系列 第 24

技術 【Day24】I2C Master 的實現及驗證(最終章)

今天,我們要來完成整個 I2C 的最後一個部份了!先來看看這個 I2C Master write 模塊該有哪些輸入輸出腳吧: 輸入: clk_sys rst_...

鐵人賽 Software Development DAY 21
verilog or very lag 系列 第 21

技術 【Day21】I2C的介紹

I2C是什麼? I2C,又稱 I²C(Inter-Interated Circuit),在 I2C 的通訊協定中,收發資料只單純靠兩條線就能完成,分別為 SCL...

鐵人賽 Software Development DAY 19
verilog or very lag 系列 第 19

技術 【Day19】SPI 狀態機的實現

SPI是什麼? SPI(Serial Peripheral Interface),是一種同步的傳輸協定,主要應用於單晶片系統中。類似 I2C(之後會提到),它的...

鐵人賽 Software Development DAY 18
verilog or very lag 系列 第 18

技術 【Day18】Uart_TX 的實現

既上一篇我們設計了 Uart_TX 的狀態機,我們今天要來引用狀態機模塊來實現這個 Uart_TX 的模塊。 先來看看這個模塊該有哪些輸入輸出腳: 輸入: c...

鐵人賽 Software Development DAY 17
verilog or very lag 系列 第 17

技術 【Day17】Uart_TX 狀態機的實現

Uart 是什麼? UART(Universal Asynchronous Receiver/Transmitter),是一種非同步的傳輸協定,非同步傳輸的意思...

鐵人賽 Software Development DAY 16
verilog or very lag 系列 第 16

技術 【Day16】TestBench 的撰寫技巧

透過 Verilog 完成一個具有特定功能的電路後,並不代表你的工作已經完成了,TestBench(tb) 在電路設計中也是一個非常重要的環節,往往驗證電路所...

鐵人賽 Software Development DAY 15
verilog or very lag 系列 第 15

技術 【Day15】狀態機的撰寫

什麼是狀態機呢? 狀態機,其實是有限狀態機(finite-state machine(FSM))的簡稱,字面上來看可以知道它是有有限個狀態,並且可以按照著特定的...

鐵人賽 Software Development DAY 12
verilog or very lag 系列 第 12

技術 【Day12】Latch的生成條件以及如何避免(上)

什麼是 Latch ? 前幾篇在 if-else 以及 case 語句時有提到 latch,那什麼是 latch 呢? latch 又俗稱"鎖存器&q...

鐵人賽 Software Development DAY 10
verilog or very lag 系列 第 10

技術 【Day10】模組化及引用模組

模組 在一個 .V 檔案裡面,可以有很多個 module,但是 Top Module 只會有一個,所以檔名必須以 Top Module.v 來命名來辨別 Top...