MATLAB Answers

LED点滅モデルのH​DLコード化及びFP​GA書き込みに関して

5 views (last 30 days)
Tomoya Wakasa
Tomoya Wakasa on 4 Dec 2019
Commented: Shoumei on 10 Dec 2019
ご覧頂きましてありがとうございます。
早速ですが、現在simulinkで作成したモデルをHDL Coderで書き出し最終的にFPGAへ書き込みたいと思っています。以前まで作成していたモデルのHDLコード化及びFPGAへの書き込みはできたのですが、出力をボードのLEDピンへ変更しても点灯はするものの出力に合わせ点滅はしません。
その原因として、書き出したHDLにLEDの制御コードが含まれていないためだと考えているのですが、この対策として2つのことを検討しています。
1つ目は、SimulinkにてLEDブロックを配置しHDLコード書き出しと共に制御コードを生成する方法
2つ目は、HDLを自ら書く方法
この1つ目の方法が可能であれば、検証などの時間を大幅に削減できると思っています。
なので、もし1つ目の方法が可能でありましたらその方法を具体的にお教えいただきたいと思います。
宜しくお願い申し上げます。

  7 Comments

Show 4 older comments
Shoumei
Shoumei on 6 Dec 2019
HDL Coderのドキュメントの例に入っているLED BlinkingのサンプルはEmbedded Coderが必要だったと思います。LEDの点滅速度をCPUからデータ入力するようになっていました。
けど、点滅スピードの入力をCPUから入力しないようカスタマイズすればEmbedded Coderは必要ありませんので、カスタマイズして使えば良いのでは?DIP SWで点滅速度を変更するようにすればCPUは不要になると思います。
  • ピンアサインはできましたか?
  • ワークフローアドバイザでFPGAプログラムのダウンロードまでできましたか?
Tomoya Wakasa
Tomoya Wakasa on 6 Dec 2019
ご返信頂きましてありがとうございます。
ご丁寧にわかりやすい説明をありがとうございます。
アドバイスを頂きましたお陰でHDLコードと及びテストベンチ、IPの生成は完了しました。
ここで加えて質問なのですが、点滅スピードを出力の1/0に合わせて出力させる場合でもEmbedded CoderまたはDIP SWでの制御は必要なのでしょうか?
Shoumei
Shoumei on 9 Dec 2019
> 点滅スピードを出力の1/0に合わせて出力させる場合でもEmbedded CoderまたはDIP SWでの制御は必要なのでしょうか?
すいませんが、ご質問の意図をいまいち理解できておりません。もう少し説明を加えて頂けませんか?

Sign in to comment.

Accepted Answer

Tomoya Wakasa
Tomoya Wakasa on 9 Dec 2019
お世話になっております
現在,最終的に0/1で出力を行うモデルを簡易的に作成しているのですがこのときの点滅スピードは内部情報(テストベンチ等)によるのか,それともEmbedded CoderまたはDIP SWによる制御が必要なのでしょうか?
という意味でご質問させていただきました。宜しくお願い致します。

  2 Comments

Shoumei
Shoumei on 9 Dec 2019
う~ん・・・話が噛み合っていないようです。何をやりたいのかよくわかりません。
Tomoyaさんが行われていることや認識の確認です。間違いあればご指摘ください。
  • FPGAでLEDを点滅させるSimulinkモデルを作成している。
  • 元モデルはHDL CoderのExampleのLED Blinkingだが、これはEmbedded Coderが必要なので、作り変えてEmbedded Coderからの入力が必要無いようにしている。
  • IPコア生成はできて、実機にダウンロードできたが、意図した通りに動作していない。
  • 一般的にテストベンチはシミュレーションの際に使用する入力信号と出力の期待値のセットなので、FPGA実機の点滅スピードには何ら影響を与えない。
  • LEDの点滅にEmbedded Coderが必要か、DIP SWが必要かは、Tomoyaさんが作成しているモデル次第。
作成されたモデルを添付してもらって、どこをどうしたいのか説明してもらったほうが手っ取り早いかもしれませんね。
Tomoya Wakasa
Tomoya Wakasa on 9 Dec 2019
すみません,Shoumeiさんの認識で大方合っております。
以下にモデルの画像を添付致しました。
流れとしては
[ビット生成]→[変調]→[搬送波乗算]→[0/1ビット変換]→出力
となっております。
ここで,最終的に出力される0/1の1ビット情報をLEDのON/OFF情報に対応させ,LEDを点滅させたいと考えております。
宜しくお願い致します。
MODEL.PNG

Sign in to comment.

More Answers (1)

Shoumei
Shoumei on 9 Dec 2019
Bernoulliで行っている乱数生成部分をコード生成対象に含める必要があります。このブロックはHDLコード生成に対応していないので、PN Sequence Generatorブロックなどで代替できませんか?
またはFPGA内部にある程度のデータ長のROMデータとして入れてしまって良いですか?

  6 Comments

Show 3 older comments
Shoumei
Shoumei on 10 Dec 2019
Simulink上でHDLのシミュレーションを行うにはHDL VerifierとModelSim/Questaが必要なので、お持ちであればこちらがお勧めです。
お持ちでなければVivadoのHDLシミュレーションで良いと思います。
ツールは違いますが、どちらもやっていることは同じです。
Tomoya Wakasa
Tomoya Wakasa on 10 Dec 2019
ご丁寧にご説明頂きまして本当にありがとうございます。
試行錯誤したいと思います。
Shoumei
Shoumei on 10 Dec 2019
頑張ってください!! 成功をお祈りしています。

Sign in to comment.

Sign in to answer this question.

Products


Release

R2018b