[問題] 一些verilog的問題...

看板Electronics作者時間14年前 (2009/12/30 03:46), 編輯推噓4(519)
留言15則, 9人參與, 5年前最新討論串1/9 (看更多)
我想先問關於blocking和nonblocking assignment的問題 1. 像以下這種2個if的是同時做嗎? always@(posedge clk) begin if(condition1) A <= B; if(condition2) C <= D; end 2. 兩個一樣的always分開寫是誰先誰後?舉例如下: always@(posedge clk) begin A <= B; end always@(posedge clk) begin C <= D; end 3. 同上一個問題,若分別在不同的.v檔下,但clk是連起來的,如: //test1.v always@(posedge clk1) begin A <= B; end --------------------------- //test2.v always@(posedge clk2) begin C <= D; end 這樣的話又是誰快? 如果always裡面同時有blocking又有nonblocking的情況我就更搞不清楚了... 4. wire的assign和always@(*)分別是等號右邊和判斷式變了就變的 那誰會比較先做? 像是: assign A= (B==C)? D:E; 和 always@(*)begin B = F; end 最後想問有關FPGA合成電路critical path warning的問題... 要怎樣才能減少這些warning? 明明一個posedge觸發間if..else和case的層數以及運算都很少了 它還是會產生critical path或setup和hold time不夠的情形 難道只能一直去改code的寫法直到沒有warning為止嗎? 抱歉問了這麼多問題XD 因為project的架構太大,時序搞混會讓bug很難找出來.... Thx -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.20.84

12/30 09:17, , 1F
你在寫C嗎?Hardware都是同時做..
12/30 09:17, 1F
我知道<=都代表同步更新 但如果像這樣呢: always@(posedge clk) begin A = B; C <= D; end always@(posedge clk) begin E <= F; G = H; end 這四條的先後順序還是A先再來C、E一起然後G嗎?

12/30 11:34, , 2F
因為你沒有硬體電路的概念 寫起來當然 warring 一堆
12/30 11:34, 2F
※ 編輯: karyuuissen 來自: 140.112.20.84 (12/30 12:01)

12/30 12:32, , 3F
先搞清楚coding sytle以及先把電路架構畫出來再寫verilog吧
12/30 12:32, 3F

12/30 12:40, , 4F
123應該都是同時 然後最好不要用你最後的那種寫法
12/30 12:40, 4F

12/30 12:41, , 5F
我說你寫在推文裡的 可以想想實際電路會長怎樣
12/30 12:41, 5F

12/30 13:06, , 6F
我知道這是很爛的寫法啦 只是舉例XD
12/30 13:06, 6F

12/30 20:39, , 7F
學一下nLint吧,用這個tool check你的code..
12/30 20:39, 7F

12/31 22:59, , 8F
到底什麼公司讓不懂硬體的人寫RTL code啊....
12/31 22:59, 8F

01/01 21:27, , 9F
樓上這位大大 原po是學生吧 140.112.20是電二嗎?
01/01 21:27, 9F

01/09 01:34, , 10F
樓樓上 不懂硬體的寫RTL的公司多的是 很多EE畢業後也不
01/09 01:34, 10F

08/13 18:53, , 11F
學一下nLint吧,用 https://muxiv.com
08/13 18:53, 11F

09/17 22:49, , 12F
因為你沒有硬體電路的概 https://daxiv.com
09/17 22:49, 12F

11/11 15:37, , 13F
因為你沒有硬體電路的概 https://noxiv.com
11/11 15:37, 13F

01/04 22:06, 5年前 , 14F
//daxiv.com
01/04 22:06, 14F

01/04 22:06, 5年前 , 15F
01/04 22:06, 15F
文章代碼(AID): #1BEbnvLB (Electronics)
討論串 (同標題文章)
文章代碼(AID): #1BEbnvLB (Electronics)