verilog學習記(加法器)

2021-08-31 22:53:48 字數 4466 閱讀 8181

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!

程式語言,光看書其實作用不大的,關鍵還需要自己進行實踐。看書的時候,你覺得自己明白了、弄懂了,等到用modelsim實踐的時候還是會出現這樣那樣的問題。因此,還是希望自己能夠不斷地訓練和練習,這樣可以達到熟能生巧的程度。就今天的加法器來說,其實內容還是比較簡單的。主要就是數值和進製之間的關係。這些內容在計算機組成原理上面都會提到,關鍵是自己是否真正掌握。閒話不多說,可以編寫乙個verilog**試試。

module

add(a, b, in, c, out)

; input a; input b; input in; output c; output out;  assign = a + b + in;endmodule

這裡直接用資料流的形式解決。當然,大家可以根據自己的情況選擇閘電路編寫也是可以的,畢竟條條大路通羅馬嘛。不多說,繼續編寫testbench檔案,

`timescale 1ns/1nsmodule

count_t;    reg clk;  reg a;  reg b;  reg in;  wire c;  wire out;    add process

(a, b, in, c, out)

;    initial      clk = 0;  always        forever  #5 clk = ~clk;    initial  begin        a = 0; b = 0; in = 0;        #10  a = 0; b = 0; in = 1;        #10  a = 0; b = 1; in = 0;        #10  a = 0; b = 1; in = 1;        #10  a = 1; b = 0; in = 0;        #10  a = 1; b = 0; in = 1;        #10  a = 1; b = 1; in = 0;        #10  a = 1; b = 1; in = 1;  end           initial  begin      #200 $finish;  end           initial    $monitor(" out = %d, c = %d\n", out, c);  endmodule

我們知道,兩個數字相加,此時如果還有進製資訊的話,那麼就會出現8種情況。如果大家不覺得煩的話,可以把這8種情況都測試一遍。當然如果不想看波形,直接用minitor列印出來也是可以的。

給我老師的人工智慧教程打call!

你好! 這是你第一次使用 **markdown編輯器** 所展示的歡迎頁。如果你想學習如何使用markdown編輯器, 可以仔細閱讀這篇文章,了解一下markdown的基本語法知識。全新的介面設計,將會帶來全新的寫作體驗;

在創作中心設定你喜愛的**高亮樣式,markdown將**片顯示選擇的高亮樣式進行展示;

全新的katex數學公式語法;

增加了支援甘特圖的mermaid語法1

功能;增加了焦點寫作模式、預覽模式、簡潔寫作模式、左右區域同步滾輪設定等功能,功能按鈕位於編輯區域與預覽區域中間;

增加了檢查列表功能。

撤銷:ctrl/command + z

重做:ctrl/command + y

加粗:ctrl/command + b

斜體:ctrl/command + i

無序列表:ctrl/command + shift + u

有序列表:ctrl/command + shift + o

檢查列表:ctrl/command + shift + c

插入**:ctrl/command + shift + k

插入:ctrl/command + shift + g

直接輸入1次#,並按下space後,將生成1級標題。

輸入2次#,並按下space後,將生成2級標題。

以此類推,我們支援6級標題。有助於使用toc語法後生成乙個完美的目錄。

強調文字

強調文字

加粗文字加粗文字

標記文字

刪除文字

引用文字

h2o is是液體。

210 運算結果是 1024.

帶尺寸的:

當然,我們為了讓使用者更加便捷,我們增加了拖拽功能。

去部落格設定頁面,選擇一款你喜歡的**片高亮樣式,下面展示同樣高亮的**片.

// an highlighted block var foo = 'bar';
專案1專案2

專案3乙個簡單的**是這麼建立的:

專案value

電腦$1600

手機$12

導管$1

使用:---------:居中

使用:----------居左

使用----------:居右

第一列第二列

第三列第一列文字居中

第二列文字居右

第三列文字居左

smartypants將ascii標點字元轉換為「智慧型」印刷標點html實體。例如:

type

ascii

html

single backticks

'isn't this fun?'『isn』t this fun?』

quotes

"isn't this fun?"「isn』t this fun?」

dashes

-- is en-dash, --- is em-dash– is en-dash, — is em-dash

markdown

text-to-

html conversion tool

authors

john

luke

乙個具有註腳的文字。2

markdown將文字轉換為 html。

您可以使用渲染latex數學表示式 katex:

gamma公式展示 γ(n

)=(n

−1)!

∀n∈n

\gamma(n) = (n-1)!\quad\forall n\in\mathbb n

γ(n)=(

n−1)

!∀n∈

n 是通過尤拉積分

γ (z

)=∫0

∞tz−

1e−t

dt.\gamma(z) = \int_0^\infty t^e^dt\,.

γ(z)=∫

0∞​t

z−1e

−tdt

.

你可以找到更多關於的資訊latex數學表示式here.

gantt

dateformat yyyy-mm-dd

title adding gantt diagram functionality to mermaid

section 現有任務

已完成 :done, des1, 2014-01-06,2014-01-08

進行中 :active, des2, 2014-01-09, 3d

計畫一 : des3, after des2, 5d

計畫二 : des4, after des3, 5d

可以使用uml圖表進行渲染。 mermaid. 例如下面產生的乙個序列圖::

這將產生乙個流程圖。:

我們依舊會支援flowchart的流程圖:

如果你想嘗試使用此編輯器, 你可以在此篇文章任意編輯。當你完成了一篇文章的寫作, 在上方工具欄找到文章匯出,生成乙個.md檔案或者.html檔案進行本地儲存。

如果你想載入一篇你寫過的.md檔案或者.html檔案,在上方工具欄可以選擇匯入功能進行對應副檔名的檔案匯入,

繼續你的創作。

mermaid語法說明↩︎

註腳的解釋 ↩︎

Verilog 流水線加法器

數字系統設計與verilog hdl 上面有這麼一段 用於實現8位4級流水線加法器。module adder8pip cout,sum,cin,ina,inb,clk input cin,clk input 7 0 ina,inb output cout output 7 0 sum reg cou...

Verilog 加法器和減法器 5

前面二進位制加法運算,我們並沒有提運算元是有符號數,還是無符號數。其實前面的二進位制加法對於有符號數和無符號數都成立。比如前面的8位二進位制加法運算,第一張圖我們選radix是unsigned,表示無符號加法,第二張圖我們選radix是decimal,表示有符號數,從圖中可知結果都是正確的。對於有符...

序列加法器 並行加法器 超前進製加法器

1.序列加法器 序列加法器即加法器執行位序列行操作,利用多個時鐘週期完成一次加法運算,即輸入運算元和輸出結果方式為隨時鐘序列輸入 輸出。位並行加法器速度高,但是占用資源多。在許多實際應用中並不需要這樣高的速度,而是希望減少硬體資源佔用率,這時就可以使用位序列加法器。在序列加法器中,只有乙個全加器,資...