こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

古いFPGAデバイスの開発をしたいです。

QuartusII(Version 13.0.1)をインストールしているのですが、
「EP1K10TC100-3」が選択できません。
QuartusIIでは使えないのでしょうか?

あと、「GHDL」というHDLのコンパイラがあるらしいですがQuartusIIを使わないで、
"HDLをエディタで書いて->「GHDL」でコンパイル->FPGAデバイスへ書き込み"
というのは可能でしょうか?

FPGAは初めてになります。
FPGAというのが、マイコンで例えれば(1)プログラムを書いて(HDL書いて)(2)コンパイルして(論理合成して)(3)デバイスへ書き込む という流れに、(4)タイミングの調整というのが入ったものなのかなとは思っています。

投稿日時 - 2014-01-02 02:18:19

QNo.8409764

困ってます

質問者が選んだベストアンサー

GHDLを調べてみました。
情報が少なかったですが、フリーのWindows以外のOSでも動作するものですね。

数社から公開されている歴史のある高機能の開発ツールが無料で使える状況にあるので、どうしてもMacやLinux等のマシンで開発したい、というユーザー以外にメリットは感じられませんでした。
デバイス固有のデータや制限等は供給されているのでしょうか?
私の情報の入手不足かもしれません。

「EP1K10TC100-3」は調べてみるとACEXですね。
初期に活躍した汎用のFLEXシリーズのローコスト版でとても良いデバイスだった記憶があります。
ロジックデバイスの基本構造、特性や設定のしくみなどを勉強するのには、ちょうど良いと思います。

FPGAの書き込み方法についてですが、コンパイル後のデータを定まった手順で書き込みますので、コンパイラ等の開発ツールと切り離して考えれば良いと思います。
遅くなりましたが、書き込みまでの流れは、質問者様のお考えの通りですが、タイミング調整は予め指定したタイミングマージンが確保できない場合のみ、設計変更して再配置配線又はマージン設定の変更等を行い、再コンパイル後に確認します。

遠隔地の機器にリモートで書き込みしたい場合は、コンパイル後(タイミング検証後)のバイナリーデータを電波や通信で送り書込みます。
FPGA自体は高速のタイミングシーケンサが一般的ですので、システムをコントロールするマイコン等のコントローラでこれらのデータを受信し、一旦そのメモリに読込み

1)IO(メモリ)マップ上のFPGAを専用端子を使ってシリアルで書込むか
2)FPGAのJTAGポートをそのネットワーク上で書込めば

良いと思います。
上記1及び2の書き込み方法はデータシート上で規定されていますので、そちらをご覧ください。

こういった各種コントローラの(再)書き込みはマイコン等のコントローラも、JTAGポートを使うのが一般的になっていますので、マスターのコントローラから一括管理すべきですね。

GHDLについてご存知なら、教えて頂けるとありがたいです。

投稿日時 - 2014-01-03 09:56:53

補足

ご回答ありがとうございます。
情報が少なく、独学なので本当に助かっております。

コンパイル後のFPGAへの書き込みについて(Quartusを使わないとしたとき)のザッとした流れがわかりとても助かります。

FPGAもマイコンもまだ触り始めですが、データーシートを一度見てみたいと思います。


GHDLですが、当方もまだインストールもしておらず名前だけ知っている状態です。
ネットでもGHDLでコンパイルしてGTK等のツールで波形表示させている方々はいらっしゃるみたいです。
もしかして、GHDLはシュミレーションにしか使えないとかでしょうか。
(けど、HDLのコンパイルはしているだろうし)


余談ですが、「EP1K10TC100-3」は遠い昔の学生の頃にFPGA・ASICを勉強したくて購入していたものです(トラ技の付録)

投稿日時 - 2014-01-03 21:53:15

お礼

GHDLですが、
”設計した回路のネットリストへの変換はできない”
みたいでした。(http://penguin.tantin.jp/mori/soft/GHDL.html

GHDLでコンパイルはできてもFPGAへの書き込みはできないみたいです。

投稿日時 - 2014-01-03 22:06:50

このQ&Aは役に立ちましたか?

13人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

 暫くアルテラのホームページを見ていなかったけど、久し振りに見てみました。
 以前は MAX2PLUS2 などの古いバージョンもインストール出来るようになっていたけど、もう無くなったようですね。
 次のページを見ると、色々なバージョンがインストール出来るみたいですよ。

https://www.altera.com/jp/download/sw/dnl-sw-index.jsp

投稿日時 - 2014-01-03 16:47:24

お礼

ありがとうございます。
「ACEX1K」ですが、ちょっと前のQuartusで選択できるようになりました。

投稿日時 - 2014-01-09 04:50:50

ANo.1

Alteraの古いデバイスを選択するときは、古いバージョンのQuartusを選ばないと、デバイス選択ができません。

但し、Quartusはご多聞にもれず、バグ取りの歴史(昔は特にひどかった)ですので、古いバージョンはお勧めできません。
確かVers12.1が境で、古いデバイスを切り捨てた気がします。(12.2かな?)
このバージョンがFPGAコンパイラ、タイミングツール等の集大成で、基本部分の完成版だと個人的には思っております。
お勧めです。
(この時代のデバイスはこれ以上の機能は必要ないし、新しい機能類はつかえないはず)

選択画面は少しづつ変わっていますが、現在は下記だと思います。
デフォルトバージョンを変更して選択してください。
http://dl.altera.com/?edition=web
ダウンロードケーブルにも注意してください。
あまりバージョンが古いと、USB接続は対応していないかもしれません。

GHDLというのは知りません。
VHDL、VerilogHDL、AHDLがQuartusの読み込める記述言語だと思っていました。
会社をリタイアして、最近はあまりいじっていないので何か変わったかな?
自身がありません。

三十数年のハード設計屋から言わせてもらえば、FPGAはマイコンプログラミングとは異なります。
同じ様な流れで書き込みは出来ますので、マイコンプログラマーの方が良く扱われますが、
・無駄な回路そして無駄なタイミング
・スキばっかりの危ないタイミング
・外部との同期性をあまり考えていないシステム設計
・レベルマージンをあまり考慮していないI/O設計
などを山の様に作っています。

アマチュアなら何も問題ありませんが、まがりなりにもプロの方が使うなら、「確実に動作する高速の同期回路」を充分勉強する必要があります。
そうでないなら、普通の高速RISCマイコンをうまく使った方が、確実で融通性の高い回路が出来ます。
適材適所をお勧めいたします。

FPGA自体は専門ではないですが、参考までに

参考URL:http://dl.altera.com/?edition=web

投稿日時 - 2014-01-02 08:49:52

補足

ご返答ありがとうございます。
本当に助かります。

「GHDL」というフリーコンパイラの話を出したのは、
「地デジTVとかもFPGAを使っているよ」というのを以前聞いたことがあって、FPGA使っているのは「放送電波を使ってFPGAを書き換えれるから」らしいんですが、そうであればHDLをコンパルさえできればQuartusなどを使わなくてもFPGAに書き込みできるんじゃないかなと思ったのがあったからです。。。


Quartusですが、勉強目的なので古いバージョン使ってみます。

投稿日時 - 2014-01-02 21:44:49

お礼

「EP1K10TC100-3」(ACEX1K)ですが、ちょっと前のQuartusで選択できるようになりました。
これでぼちぼちお勉強していこうと思います。

ありがとうございます。

投稿日時 - 2014-01-09 04:53:31

あなたにオススメの質問