看板 Grad-ProbAsk 關於我們 聯絡資訊
※ 引述《MiiQ (指紋來了(按)》之銘言: : (a)construct a finite-state machine M1 whose output tells the number : of finite symbols, module 3,that have been applied : (b)the input and output alphabets of M2 are {0,1}. : construct a Finite-state machine M2 whose output sequence : r(t)r(t-1)...r(1) is to be replica of the input sequence : s(t)s(t-1)...s(1) delayed by two unit: r(t)=s(t-2) fot t>2 : we do not care r(1) and r(2) are. : 題目搞不太懂 : 我第一題大致上是寫成 : ->(s0)------->(s1)--------(s2)------->(s3) : t,1 t,2 t,0 : output 給 0 1 2 by mod 3 : 最後答案是給 : a,1 a,2 : ->(s0)-------->(s1)---->(s2) : ^ | : |---------------------/ : a,0 你不能只有一條直線 因為他沒有說長度3以下啊 所以有可能會輸入很長 你的答案就要0,1,2,0,1,2,...一直下去跑 所以需要一個cycle這樣 : 第二題我就真的沒有頭緒了 : 希望有高手可以指教一下 感恩 第二題就是要你做出一個可以delay 2個位元再輸出的 比如說你輸入110010101 那輸出就要是XX110010101 XX是don't care 他題目說的 提供你我想出來的FSM: 因為要delay 2個bit 所以要記下這兩個bit總共有的那四種可能情形 (00) (01) (10) (11) 這四種情形就是FSM中的四個狀態 然後因為他說前2bit輸出不在意 所以開始的位置隨便指到一個狀態就可以了 我設在(00) 就會有類似下圖: ()內的數字不用管他 那四個()都分別只是一個狀態而已 所以裡面的數字其實不用寫 只是我寫出來你比較好理解 ()中前面那個數字代表下兩位才要輸出的,後面的數字代表下一位就要輸出 所以你每次輸入一個字 就等於要把它往前推一格 然後最前面的輸出這樣 0,0 ___ \ / 0,1 start----->(00)<--------(01) | ---->/ ^ | 0,0/ˊ / | 1,0| / / |0,1 | / /1,1 | V /<----ˊ | (10)-------->(11) 1,0 /_\ 1,1 圖太難畫了... 不過我想你應該是能看懂我表達的@@ 另外如果它題目有要求前兩個bit輸出要什麼 就把start指到那個狀態就可以 比如說要求前兩個要11 那就把start指到(11)那個狀態 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.112.85.110