このQ&Aは役に立ちましたか?
VHDL ステートにとどまる時間
2023/09/06 22:11
- VHDL初心者が質問する、VHDLのステートにとどまる時間についての疑問
- 質問者は、detectステートにとどまる時間についての考え方に誤りがあると感じている
- 質問者は、detectステートにとどまる時間はclk_rxの8周期分であると考えているが、実際は7周期分である
VHDL ステートにとどまる時間
2019/08/02 09:47
FPGAの初心者です。
上級者の皆さんがNET上に掲載されているVHDLの記述例をみながら勉強中です。
Q1.
when detect =>
if(clk_rx = '1') then
if(cnt_bitwidth = 7) then
cnt_bitwidth <= 0;
state <= proc;
else
cnt_bitwidth <= cnt_bitwidth + 1;
state <= state;
cnt_bitwidth = 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周期分でなければならない
・・・と思われるので前述の私の理解は間違っていると思います。
間違いを教えてください。
質問者が選んだベストアンサー
このQ&Aは役に立ちましたか?
この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。
お礼
2019/08/02 16:22
回答ありがとうございます。
>cnt_bitwidth が {0,1,2,3,4,5,6,7}の間、detectステートにいますよね。
cnt_bitwidthが0のときとは
detectステートに入ってから、clk_rxの1発目が入るまでの期間のことでしょうか?
なお
detectステートに入るのはclk(50MHz)のタイミングであり、
clk_rx(153.6KHz)との時間差は不定です。