Re: [問題] HDL問題

看板Electronics作者 (what else do u focus?)時間18年前 (2007/06/23 14:36), 編輯推噓2(204)
留言6則, 5人參與, 最新討論串1/1
※ 引述《CuckooBoy (阿書)》之銘言: : 請問 : if ... : elsif... : elsif... : ..... : end if; : 跟 : case : when : when : ......... : end case : 請問 合成出來的電路有差嗎? 你覺得這樣的描述電路分別會怎麼合成? : 另外, : process(clk) begin : if rising_edge(clk) then : if reset='1' then : cnt<=0; : else : cnt<=cnt+1; : end if; : end if; : end process; : process(cnt) begin : <=== : case (cnt) then : when : when : end case; : end process; : 請問 <== 處.....加不加rising_edge(clk)差在哪邊?還是沒差?? : 會不會沒加就會delay一點點之類的 HDL是來描述你的電路,換句話,你的電路的"行為"由你的code 描述 我認為你沒有理解什麼是 sensitive list 若一個 process 中的 sensitve event 不包含張三, 那此 process 與張三何干? [補充&修正] 因為你原先並不期待 "張三" 是這 process 的 stimulus 換句話說, 電路的 response 將與張三無關 (simulation) 即可能造成simulation-synthesis mismatch 但若在 process 其中加入條件判斷, 例如你說的 if rising ...... 之類的 那你必需思考你所描述的是什麼樣的行為與對應如何的電路 雖然我沒寫過VHDL, 不過我認為這樣的描述應該在syntax檢查時就必需出現錯誤 因為既然 process 需要判斷某訊號是否為正緣之事件 那麼就該將該訊號加入 sensitive list 內 否則這就是一個不合語義的描述 當然我不懂formal language, 上述只是以一個數位設計者的角度去看問題 而不是以一個語言設計者的角度 但是否出現在此 process 內的絛件判斷之訊號都必需在 sentivity list 內 當然不一定, 需視你的電路的行為而定, 例如你前面描述的 synchronous reset 他若出現在 sensitive list 中,那它必然為 asynchronous 所以需不需要在sensitive list中, 由電路的行為決定 所以說到這邊, 再次印證 "HDL是來描述你的電路行為 而不是電路行為由HDL決定" 你寫的 code 該怎麼寫 有沒有意義(果) 完全決定在你欲描述電路的行為上 (因) 不確定電路的行為, 你如何描述? 你之所以問這問題很清楚的告訴大家 你僅是在打字 不是在寫code(描述) 若這樣的壞習慣不能更正, 那你肯定不適合數位電路設計, 至少在 cell-based flow 我只有一個建議, 請你多問問"自已": 為何這樣寫 而不那樣寫 當你"苦思一整天試驗一整天"仍然不得其門而入, 再將你的問題提出 否則一個無法思考的人 就算有途徑解決問題, 然而他在該領域的水平可能很難提升 看了你許多問題, 我覺得你也許程度沒問題, 但是不懂思考, 這樣很可惜 無意貶損你, 而是期待你有更大的進步 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.141.101.203

06/23 14:56, , 1F
中肯,這些東西都是可以"試"出來的..
06/23 14:56, 1F

06/23 19:46, , 2F
已經很多人講過類似的話了 他如果懂就不會問這種問題了
06/23 19:46, 2F

06/24 00:26, , 3F
case => 多工器 if elseif elseif 會造成多個多工器重疊
06/24 00:26, 3F

06/24 00:32, , 4F
謝謝
06/24 00:32, 4F

06/24 01:08, , 5F
case 是 parallel 形態, if else if ... 是 serial 形態
06/24 01:08, 5F

06/24 01:09, , 6F
case 不一定是多工器, if else if...也非重疊,而是疊加
06/24 01:09, 6F
※ 編輯: Maddulin 來自: 220.141.96.154 (06/24 08:59)
文章代碼(AID): #16VBzMh2 (Electronics)