[問題] 同個變數出現在不同always block
各位好, 我最近看到有一句話: 同一個變數不能出現在不同always block
他給的理由是
always@(posedge clk)begin
if(reset) counter<=0;
end
always@(posedge clk)begin
if(c1==1)counter<=counter+1;
end
這樣的話不知道要歸零還是做累加
但是同一篇文章又出現以下程式碼(用來實現累加)
always@(posedge clk)begin
if(reset)
counter<=0;
else
counter<=(counter==10)?counter:counter+1;
end
always@(posedge clk)begin
if(reset)
temp<=0;
else if(counter<10)
temp<=temp+counter;
end
雖然counter一邊是在等號右邊一邊是在左邊, 但是這不是也會回到同樣的問題嗎?
不知道哪個block有優先權.
另外還有問一下,標題這句話這樣正確嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.236.123.78
※ 文章網址: https://www.ptt.cc/bbs/Electronics/M.1551617363.A.786.html
推
03/03 21:23,
6年前
, 1F
03/03 21:23, 1F
→
03/03 21:23,
6年前
, 2F
03/03 21:23, 2F
推
03/03 21:43,
6年前
, 3F
03/03 21:43, 3F
推
03/03 22:52,
6年前
, 4F
03/03 22:52, 4F
→
03/03 22:55,
6年前
, 5F
03/03 22:55, 5F
推
03/04 16:23,
6年前
, 6F
03/04 16:23, 6F
→
03/04 16:23,
6年前
, 7F
03/04 16:23, 7F
→
03/04 18:15,
6年前
, 8F
03/04 18:15, 8F
→
03/04 18:18,
6年前
, 9F
03/04 18:18, 9F
→
03/04 18:18,
6年前
, 10F
03/04 18:18, 10F
→
03/04 18:18,
6年前
, 11F
03/04 18:18, 11F