CPLD/FPGAの初歩的なプログラム方法。


http://www.pyroelectro.com/edu/より。

VHDL vs Verliog vs Schematic




CPLD/FPGAの最も初歩的であるプログラムの仕方について、良い動画が有ったので貼り付けてみます。

この動画、回路図入力と、VerilogHDL,VHDLでの回路記述入力を端的に解説してます。
3つの記述方法が有りますが、作動は全て同じです。


使われているCPLDはAlteraのMAX3000とゆう古めの物ですが、MAXⅡや、最新のMAX10でも操作方法は同じです。

記述→合成→ピン配置→合成→書き込み です。

作る回路の規模が大きくなると、期待している作動をするかとゆう検証とゆう作業が入ります。



動画中はALTERAのCPLDを使用してるので、開発ソフトもALTERAのQualtasⅡですね。

基本的にXilinxのISEでも手順は同じ様なもので、ツールのお作法が少しづつ違います。



今どきの規模が大きいFPGAなどを使う場合、CPUコア等を載せて、、、とゆうふうに使用するようですが、私が使用する回路なんかは、単純な作動の物が多いので回路図入力で事足りてしまいます。


同じ回路を複数載せても並列的に作動するので、ステッパのカレントダウン信号を生成するような回路や、Stepパルスの幅を広げる回路とか、3軸4軸分を1つのCPLDに乗せても、MCUを使用した場合のように、処理に依る信号の遅延は出づらい、、、はず。。



また、以前の記事のようなエンコーダーのカウンタみたいな回路とかも、単純なロジック回路なので、高速に読み取る事ができます。

複雑な信号を出すような回路を作っておき、MCUやLinuxCNCとかの信号でトリガを引き、作動させる。とゆうような使い方もできると思います。




初歩的な使い方であれば、案外難しく無いのでは??と思います。

私自身あまり賢くはないので、そんなに難しい事はしていません。




MCUをプログラムするよりもロジックの回路図での入力の方が、実際の作動の理解がしやすくどちらかとゆうと好きです。



また、動画にあるように、ALTERAのQualtasⅡには、ロジックICの74シリーズのプリミティブ(回路ブロック)も多数あるので、ロジックICのWikiや、データシートを見ながら回路図記述をすることも有ります。

ただ、74シリーズのプリミティブを使用しての記述だけでは、ICの使わない機能までもCPLD上の回路にしてしまうので、全てが全て、回路図記述で事足りる、とは思ってません。
ゆくゆくはVerilogHDLやVHDLで記述をせねばならぬ、とは思ってます。




Xilinxとどちらが良いかは判断つきかねますが、ALTERAのQualtasⅡの方が74シリーズのプリミティブが多い気がします。
また、Latticeは使ったことがないので、、、、。。




最近ではSynthesijerとゆう、Javaから回路記述へ変換するような物も公開されてるようですので、より使いやすく、、、なるのでは?
プログラミングが苦手な私には到底手がでるもの、ではありませんが^^;

Synthesijer を使ったJavaによるFPGA開発のはじめ方




追記。
トランジスタ技術2013 5月号に、AlteraのFPGA/CPLDがプログラム出来るArduinoを使用したUSB-Blasterクローン?の作例が載ってました。。

スポンサーサイト

テーマ : 自作・改造
ジャンル : コンピュータ

コメントの投稿

非公開コメント

ライセンス
アクセスカウンター
プロフィール

あきらひとし。

Author:あきらひとし。
木工用CNCルーターフレームと、ステッピングモータードライバを作ってみました。
たぶん記事は一般的な人には殆ど必要のない事ばかりなの、かも。

モーターは回るだけでも楽しい。制御(速度、トルク、位置)できるともっと楽しい!

メールフォーム

名前:
メール:
件名:
本文:

リンク
最新記事
カテゴリ
スポンサードリンク
スポンサードリンク 
スポンサードリンク
オンラインカウンター
現在の閲覧者数:
検索フォーム
RSSリンクの表示
最新トラックバック
最新コメント
月別アーカイブ