[問題] Verilog 狀態機問題

看板Electronics作者 (中山廢文最後希望)時間3年前 (2021/06/12 02:42), 3年前編輯推噓5(5010)
留言15則, 5人參與, 3年前最新討論串1/1
大家好~最近寫Verilog狀態機遇到一些問題 我的問題是我希望我的module功能是輸入x的上(xc)下限(xf )我就能夠印出中間所有的 整數(xo) 例如下限是3上限是10 正確輸出為3,4,5,6,7,8,9,10 但是我在寫的時候發現結果只會輸出3,10 檢察程式發現在S1時他就已經跑完了所以直接輸出最後結果 想問如果想要達成我的功能 該怎麼修改呢? 想了很久但都沒有想法 https://i.imgur.com/0IywwK9.jpg
謝謝各位了 感激不盡 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.200.177.46 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Electronics/M.1623436920.A.BB6.html ※ 編輯: td2100106 (1.200.177.46 臺灣), 06/12/2021 02:42:32

06/12 03:56, 3年前 , 1F
<=用在合成DFF上就好 然後case應該要加default?
06/12 03:56, 1F

06/12 04:44, 3年前 , 2F
你沒有"時間"
06/12 04:44, 2F

06/12 07:45, 3年前 , 3F
你這個寫法 某狀態一有變化就會跳到下一個狀態
06/12 07:45, 3F

06/12 07:45, 3年前 , 4F
結果你就在那裡一跳 當然直接跳到最後
06/12 07:45, 4F

06/12 07:46, 3年前 , 5F
你再回去看看狀態機怎麼寫 學moore就好了
06/12 07:46, 5F

06/12 07:47, 3年前 , 6F
沒看到你上面的code 但我猜那裡也有點問題
06/12 07:47, 6F

06/12 07:47, 3年前 , 7F
另外就是一樓說的 沒有會變latch/unknown
06/12 07:47, 7F

06/12 09:59, 3年前 , 8F
但是如果我沒有使用<=寫的話會變成xo 狀態沒辦法更新
06/12 09:59, 8F

06/12 11:01, 3年前 , 9F
就你這段的* 去掉 改成 state
06/12 11:01, 9F

06/12 11:02, 3年前 , 10F
state變化裡是comb logic 這裡跟timing 沒關
06/12 11:02, 10F

06/12 11:03, 3年前 , 11F
我一般都會建議state output clock三個部份分開寫
06/12 11:03, 11F

06/12 11:04, 3年前 , 12F
你要混寫是也可以啦 但就新手來說還是慢點來
06/12 11:04, 12F

06/12 11:48, 3年前 , 13F
你的輸出要接在flip flop才對吧?
06/12 11:48, 13F

06/12 11:50, 3年前 , 14F
06/12 11:50, 14F

06/12 11:58, 3年前 , 15F
看不懂你的y是拿來幹麻的 不過x的部分可以給你當參考
06/12 11:58, 15F
文章代碼(AID): #1Wmwvuks (Electronics)