看板 Electronics 關於我們 聯絡資訊
你的意思是說, 如果運算式: 先令 ip第0個clk為 2 ; ip第1個clk為 4 ; 第一級Block: a = ip ; b = a * 2 + 3 ; c = a + 2 * b ; d = a + b + c ; 第二級Block: e = d * 2 ; 就可以寫成 always @ (posedge clk) begin case (i) 1: begin a = ip ; i = i+1 ; end 2: begin e = d * 2 ; i = i+1 ; end 3: begin ... end .... default: begin i=i; end end assign b = a * 2 + 3 ; assign c = a + 2 * b ; assign d = a + b + c ; 以上的都還好, 可是d = a + b + c,這一行會不會怪怪的... 就是當b改變,d也會變,但是c還沒改變... 就已經得到d的數值... 還是時間控制好,就沒有問題。 ※ 引述《titansan (ㄎㄎ!)》之銘言: : ※ 引述《LINAN322 (新熱血陽光男孩￾NN)》之銘言: : : 不好意思,舉了個不好的例子, : : 應該說,a值會隨著clk一直改變的, : : 因為a是要傳送的訊號... : : ,接著會進行運算,得到d值後,會將d值傳送出去... : : 即d作為傳送至下一級的訊號。 : : b、c、d會因為運算,跟著改變其值,有相依性。 : : 所以跟s大大說的,就是將數值儲存起來。 : 這樣a應該是屬於sequential的電路 : b c d應該就是單純的combination的電路 : 那何不寫成 : assign b= : aggign c= : aggign d= : always @ (posedge clk) : ... : ... : a= -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.138.178.157 ※ 編輯: LINAN322 來自: 140.138.178.157 (05/02 14:53)
pow:你想想硬體要怎麼設計 然後再開始寫RTL 05/02 20:50
pow:要讓那些數值有相依性 就要讓他們在不同的clock做動 05/02 20:54