Research Space for Linear Algebra & Discrete Mathematics
1. 就順順的畫, 首先我們得先將input的前兩個bit記起來, 以便我們在看到第3個bit時可以output第1個bit, 在看到第4個bit時可以output第2個bit, 所以我們得用4個state來記錄input的開頭分別是00,01,10,11這四種的情形, 也就是書上畫的s3,s4,s5,s6, 至於這幾個state中間的線該怎麼連, 就參考s1,s2就可以了, 比方說假設我們現在在s4, 此時進來input的第三個bit為0, 這就代表目前我們所掃過的input結尾是10, 那此時去查當初input開頭為10時會走到哪個state, 發現是s5, 這樣我們就知道s4在看到0時要走到5, output要寫0這應該比較沒問題, 其它的用類似的方法都可以推出來2. 題目請你設計出一個mod 3的counter, 就是說看到input有 1 那output就要加 1, 但加到 3 就要歸零3. 當input一開始為 0 時, 根據題目的敘述, 不管我們再看到幾個0我們都不用理他, 所以就讓它停留在同一個state就好, 但當有出現1時你就要記錄起來, 並且得記錄他的個數, 直到出現3個1為止, 此時outpu要改成1, 並且在這一輪時因為input和output一樣了, 所以要重新記錄, 此時就要注意何時會出現3個連續0, 跟剛才一樣做對稱的設計即可FSM的設計我覺得除非會錯題意, 否則通常順順的畫, 遇到想記錄的case就多加state, 同時記得要保持精簡, 這樣畫出來的應該都不會差太多, 若你在畫完後發現你畫的不如書上畫得來的那麼精簡且對稱, 你可以試著去體會一下書上對於input case的分析方式
謝謝助教精闢解答 一下就通了:D 給個讚!
張貼留言
2 則留言:
1. 就順順的畫, 首先我們得先將input的前兩個bit記起來, 以便我們在看到第3個bit時可以output第1個bit, 在看到第4個bit時可以output第2個bit, 所以我們得用4個state來記錄input的開頭分別是00,01,10,11這四種的情形, 也就是書上畫的s3,s4,s5,s6, 至於這幾個state中間的線該怎麼連, 就參考s1,s2就可以了, 比方說假設我們現在在s4, 此時進來input的第三個bit為0, 這就代表目前我們所掃過的input結尾是10, 那此時去查當初input開頭為10時會走到哪個state, 發現是s5, 這樣我們就知道s4在看到0時要走到5, output要寫0這應該比較沒問題, 其它的用類似的方法都可以推出來
2. 題目請你設計出一個mod 3的counter, 就是說看到input有 1 那output就要加 1, 但加到 3 就要歸零
3. 當input一開始為 0 時, 根據題目的敘述, 不管我們再看到幾個0我們都不用理他, 所以就讓它停留在同一個state就好, 但當有出現1時你就要記錄起來, 並且得記錄他的個數, 直到出現3個1為止, 此時outpu要改成1, 並且在這一輪時因為input和output一樣了, 所以要重新記錄, 此時就要注意何時會出現3個連續0, 跟剛才一樣做對稱的設計即可
FSM的設計我覺得除非會錯題意, 否則通常順順的畫, 遇到想記錄的case就多加state, 同時記得要保持精簡, 這樣畫出來的應該都不會差太多, 若你在畫完後發現你畫的不如書上畫得來的那麼精簡且對稱, 你可以試著去體會一下書上對於input case的分析方式
謝謝助教精闢解答 一下就通了:D
給個讚!
張貼留言