質問: 0 でdetectステートに入ります detect ステートになってから clk_rxの1発目でcnt_bitwidthが1となり clk_rxの2発目でcnt_bitwidthが2となり ・・・・(中略) clk_rxの7発目でcnt_bitwidthが7となり clk_rxの8発目でcnt_bitwidthが7になっているので procステートへ入る ・・・と理解しました。 そうすると、 detectステートにとどまる時間はclk_rx の7周期分になります。 しかし動作から考えると detectステートにとどまる時間はclk_rx の8周期分でなければならない ・・・と思われるので前述の私の理解は間違っていると思います。 間違いを教えてください。
回答: Clk_rxの8発目でprocステートに遷移するので detectステートには8周期分いるで正しいですよ。 cnt_bitwidth が {0,1,2,3,4,5,6,7}の間、detectステートにいますよね。 疑問がある場合には、ブロッキング代入について調べるといいかも。 proc文のセンシティビティリスト記述が無いと、実はこれで正しいのかは分からなかったりするんですけどね。