Re: [問題] verilog自學線上課程或書本推薦

看板Programming作者 (Andy)時間8年前 (2016/08/25 20:57), 編輯推噓4(4012)
留言16則, 3人參與, 最新討論串2/2 (看更多)
我看你4bit adder寫得差不多了 基本概念也就這樣 這裡還是大概講一下題目的硬體要怎麼組合出來 首先當然就是確定in,output input有a0~3, b0~3, Ci; output有s0~3跟Co 先宣告IO module decAdder(input a3, a2, a1, a0, b3, b2, b1, b0, Ci, output s3, s2, s1, s0, Co); 接下來輸入直接連接至4bit adder input fulladder4bit U0(.A( {a3,a2,a1,a0} ), .B( {b3,b2,b1,b0} ), .Cin(Ci), 這裡{}目的在把a3~a0,b3~b0組成4bit以符合4bit adder的輸入 接下來輸出由於是內部的接線 所以要先宣告 (實際在寫時必須宣告在前面) wire z3, z2, z1, z0, K; 剛剛的fulladder4bit輸出端則繼續寫完,這裡我們也連接完一個4bit adder .Z( {z3,z2,z1,z0} ), .Cout(K)); 而另外一個4bit adder一樣按圖連接 輸出直接連到output(s3~s0) fulladder4bit U1(.A( {z3,z2,z1,z0} ), .B( {1'b0,Co,Co,1'b0} ), .Cin(1'b0), .Z( {s3,s2,s1,s0} ), .Cout()); 這樣兩個4bit adder就搞定了 只剩下2個and閘跟1個三輸入xor閘 先宣告兩個and閘的輸出再接線 wire o1, o2; and U2(o1, z3, z2); and U3(o2, z3, z1); 這種是邏輯閘層次的寫法 最後的三輸入xor輸出端Co用另外一種寫法 assign Co = K^o1^o2; endmodule 差不多就是這樣了......verilog基本上就是在組合硬體元件 在寫之前一定要有一張硬體藍圖在腦中 規劃硬體從大至小 寫則是從小到大 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.176.83.78 ※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1472129868.A.19B.html

08/26 00:34, , 1F
Wow超感謝大大我剛一看到就開始寫了,你
08/26 00:34, 1F

08/26 00:34, , 2F
給的想法思路都很清晰,讓我這個初學者也
08/26 00:34, 2F

08/26 00:34, , 3F
可以一目了然。現在也確認ok了,接下來
08/26 00:34, 3F

08/26 00:34, , 4F
我在打tesrbench 真的很謝謝大大 有空請
08/26 00:34, 4F

08/26 00:34, , 5F
大大吃個飯 不知大大是哪裡人
08/26 00:34, 5F

08/26 12:33, , 6F
這些都算簡單 入門 同步 非同步 DS
08/26 12:33, 6F

08/26 12:33, , 7F
P. DDR. 學會才是關鍵
08/26 12:33, 7F

08/26 12:36, , 8F
原po講的最後一段是皆層的觀念 線路
08/26 12:36, 8F

08/26 12:36, , 9F
不在是原本你所學的 左進右出 而是一
08/26 12:36, 9F

08/26 12:36, , 10F
層控制一層 RTL的觀念 先學會自己想
08/26 12:36, 10F

08/26 12:36, , 11F
一顆CPU 吧
08/26 12:36, 11F

08/26 12:38, , 12F
當你能寫出一顆 處理器 你就算學會而
08/26 12:38, 12F

08/26 12:38, , 13F
已 還沒到精深 看你的造化了
08/26 12:38, 13F

08/26 23:47, , 14F
謝謝j大的提點,我會先把基礎功學好在求
08/26 23:47, 14F

08/26 23:47, , 15F
精,也感謝各位大大的教導
08/26 23:47, 15F

08/30 13:43, , 16F
08/30 13:43, 16F
文章代碼(AID): #1NlkjC6R (Programming)
文章代碼(AID): #1NlkjC6R (Programming)