【FPGA/CPLD】 XILINX/ALTERA/Lattice/Actel 11
>>950 そうそう、最初はホントに「ワケワカラン」でしょ? 僕もそうだったから、気持ちは良くわかる。
ISEは容赦なく英語で物を言ってくるし、Webサイトの説明は「すでに知ってる人への入門ページ」だし、
初心者には敷居の高い業界です。
僕の説明では参考にならないかも知れないけど、少し教えてあげる。
FPGAやCPLDをやる上で、よく使うファイルの拡張子は、だいたい決まってる。3つ。
Verilogの場合
・ソースファイル ○○○.v
ソースファイルというのは、要は、verilogで書いた「プログラムのファイル」
拡張子のvは、Verilogのv
・制約ファイル ○○○.ucf
User Constraint Fileの略で、「ucfファイル」と呼ばれてる。
これは、FPGAやCPLDに対して、「おい、ここはこうしてくれよ!」と要望が書かれているファイル。
LEDの出力は、24番ピンに出力してくれ。とか、
SW入力は、48番ピンにつないでくれ。とかを、コンパイラーに要求する内容。
もっと他にもあるけど、最初は関係なしです。
・FPGAやCPLDに書き込むファイル
CPLDに書き込むファイルは、○○○.jed
JEDECファイルの頭文字。「ジェデックファイル」と読む。
FPGA用には、2つあって、
○○○.bit ビットファイル → FPGAに対して書き込むデータ
○○○.mcs mcsファイル → FPGAの隣に載っているROM(コンフィグレーションROM)
に書き込むデータ
例えば、CPLDなら、ABC.v(ソースファイル)、ABC.ucf(ucfファイル)、ABC.bit(bitファイル)の
3つがあれば良いです。
メモ帳で、新規作成でこの3つのファイルを、自分で書いて作るのもアリだけど、初心者には無理。
で、世の中の人達は、どうしているかと言うと、
ISEでに自動で生成できる機能があり、みんな、それを使っています。
しかも、ISEにはテキストエデターも付いているので、メモ帳を使う必要もなくて、
ISE1つでほとんどできるという仕組み。(わかりにくいメッセージと英語は、我慢して)
大雑把なイメージは、
1. ISEを起動(時間がかかるけど、じっと我慢)
2. FileからNewProjectを選んで、それなりに進めると、○○○.vは、自動で作られる。
そして、プログラムを書く。
3. Fioor plan IO....というのをダブルclickして、信号とピン番を連携してSave → ○○○.ucfが自動で作られる。
4. GenerateProgrammingFile...というのをダブるクリックして、エラーなしなら、○○○.jedが自動で作られる。
5. iMPACTというボタンを、ダブルclickすると、書込プログラムが起動して、進めていくと、
めでたくCPLDにプログラムが書き込まれる。
こんな感じです。どうでしょうか?
953 :
774ワット発電中さん:2009/09/15(火) 18:51:42 ID:/5qzWagN
>>952 >例えば、CPLDなら、ABC.v(ソースファイル)、ABC.ucf(ucfファイル)、ABC.bit(bitファイル)の
> 3つがあれば良いです。
> メモ帳で、新規作成でこの3つのファイルを、自分で書いて作るのもアリだけど、初心者には無理。
最初の2つは自分で書くけど、bitファイルはツールで生成されます。
>>953 フォロー、ありがとうございます。
>>950 誤記訂正
× 例えば、CPLDなら、ABC.v(ソースファイル)、ABC.ucf(ucfファイル)、ABC.bit(bitファイル)の
× 3つがあれば良いです。
○ 例えば、CPLDなら、ABC.v(ソースファイル)、ABC.ucf(ucfファイル)、ABC.jed(JEDECファイル)の
○ 3つがあれば良いです。
すみません。
955 :
774ワット発電中さん:2009/09/15(火) 19:23:29 ID:/5qzWagN
jedファイルは書くの?
>4. GenerateProgrammingFile...というのをダブるクリックして、エラーなしなら、○○○.jedが自動で作られる。
て、書いているじゃないですか。
>jedファイルは書くの?
いえ、人間が書くわけではありません。
>FPGAやCPLDをやる上で、よく使うファイルの拡張子は、だいたい決まってる。3つ。
ということで、
よく使うファイルが、この3つということです。
人間が書くファイルと言うわけではないです。
>>951-952その他多くの皆様ありがとうございます。
アドバイスを噛み締めながら少しずつ理解してゆきます。
>初心者には敷居の高い業界
ネットから情報を持ってこれるからむしろ低い。
ソフトの使い方はFPGA初心者じゃなくてPC初心者には敷居が高いかも
大抵の解説はPCが普通に使えるのは前提だからね
FPGA初心者には、書き込んで動作確認する環境を安価に構築するのが敷居が高いと思う
2ヶ月でまだLED点灯しか出来てない自分には耳が痛い・・。
画像処理とかはファイルの入出力がむずいな。あとピン指定。
>入出力がむずいな
むずいって何?
日本語か?
DigikeyでSpartan3AN注文しちゃった。
\22,000ぐらいだった。
早く来ないかな。<3
ハード屋の場合、「相性問題」とか「ノイズで一瞬誤動作」などと言って、
問題から目を逸らして片付けたりする輩が結構いるね。
ソフト屋も、こういうハード屋を見習わないほうがいい。
ましてや、一緒に仕事をするハメになると、自分はIC電源ピンの供給電圧や
リップル量の確認さえもロクにしていないのに、動かないのはソフトが悪い
などと言われかねない可能性が極めて高い。
相性問題って・・・PCパーツの組み立てじゃないんだから・・・
こういうこというハード屋さんっているの?
ちょっと信じられないな。
割と多いよね。試作基板3枚くらい作って、動く組み合わせを渡してくる。
ハード屋は消費電流と発振だけ見て渡してくる配慮と余裕のない人。
ブートローダー入れ始めた途端にバグレポート出すんだけど、
俺の設計に文句つけんのか!って感じで困る。
しばらく前から、ファーム部門のサインがないと回路図出図できないようにしてやったwww
俺の仕事が増えるだけだけど、工期短縮には効いてる。みんなも試せば?
来年から電気設計(ハード)の仕事に就く学生が質問です。
ハード屋さんは自分の設計した基板にテスト用のコード書いてチェックとかしないの?
例えばマイコンとFPGAが乗ってたら、HDLはもちろん簡単なチェック用ソフトをマイコンに焼いてテストするとか。
そういうテストもソフト屋の仕事?
じぶんとこはブートローダとかドライバくらいは
ハード屋さんが簡単なの作って(移植して)動かしてからソフト屋さんに渡してるよ。
と言うかそのくらいしないとハードの初期のデバッグも簡単にできないよね。
もちろん最終的な確認はソフト屋さんが作ったもので確認するけど
相性問題・・・・便利な言葉だ。
>>967 半分当たりで半分はずれだな。
規模によるけど、普通のハード屋は自分が設計した基板上にあるCPUやFPGAが設計どおり動く事を確認しなければならない。
つまりHDLで書かれたFPGAの動作確認はハード屋がやる。
でも、レジスタの設定とかまでハード屋がやると負担が増えるので、ソフト屋に設定プログラムとかを作ってもらう事はある。
とうぜんだが、CPUが動くかの確認はハード屋がやる。ICEやデバッガーを使えば簡単な動作確認だけならそれほど手間じゃない。
ハード屋がやるソフトウェアよりテストの多くはレジスタのリードライト確認。
専用デバイスを動かす場合の長い呪文はソフト屋にお任せするパターンが多い。
>>967 普通はする。
駄目なハード屋はできない。
でもって、ソフト屋にハザードとかタイミング間違い指摘されると逆切れ。
うちの場合はハード屋の新人がやらされるのの一つが簡単な(ソフト屋から見れば
恥ずかしいぐらい超超簡単な)ハードのテストプログラム作成だな。
最近でもメモ帳はdec.v.txtになったりする?
うん
そか、さんきゅ。
いやいや、保存するときに全てのファイルにすればtxt付かないよ
92xあたりからこのスレじゃないみたいに
いい雰囲気だ、こう行こうぜ。
>>968,970-972
回答ありがとうございます
やっぱりちょっとしたプログラムは書くんですね。
ただ今まで趣味で全部やってきた分、入社して基本はハードだけって縛りに耐えられるか不安
>>979 本当に良い事なら職場の仲間と相談して改善活動としてグループで行動するのがいい。
入社そうそうに組織の垣根を個人の判断で越えるなら組織に有害な人材として排除されてしまうよ。
>>979 ハードばかりだったとしても趣味とは違ったものが触れたりするから
意外と面白いことも多いよ。
USBのロゴを取るのは大変だなぁとか。
RTLソースって売っていいの?
>>982 何で売っちゃダメなの?コピーなの?
マジレスすると、製品の場合、暗号化したRTLか、
合成後のネットだね。
委託設計ならRTLソースで納品。
2000年代初頭に、暗号化されていないRTLソースのIPを使ったことがある。
NDA結んだんじゃね?
>>979 大きな会社で大部隊になると、全く書かないこともあるよ
逆に小さな会社や、小規模案件だと、一人で全部やることもある
会社や部署に左右されるから何とも言えないから、入ってみてからだね
でもソフトの仕様書とか見る機会はあるだろうし、ソフト屋と話もすることもあるよ
何やりたいかは知らないけど、ソフトは趣味でやっていけるし、趣味に止めておいた方がいいと思うよ
ソフトって結局は最後になるから、しわ寄せが全部・・・・
HDL書いてて、少し改造しただけなのに、突然
「○○[31]は、決して使われない。だからcompileの時点で取り除いた」
「○○[30]は、決して使われない。だからcompileの時点で取り除いた」
「○○[29]は、決して使われない。だからcompileの時点で取り除いた」
「○○[28]は、決して使われない。だからcompileの時点で取り除いた」
と 延々とwarningを言う。
はぁ? 理由がわかんない。○○変数はちゃんと記述してあり、右辺にも左辺にもなってる。
半日さんざん考えて、やっとわかった。
状態遷移の変数のbit幅が足らなくなって、○○変数を実行しなくなったから。
おいおい、それなら直接的に「△△の変数の桁が足りませんぜ」と
言ってくれればいいのに。
環境も書かずにそんなこと書いても意味ないけど…
ソースにbit幅を明示的に書いてれば教えてくれたんじゃないのかな
多いのではなくて?
ISE10.1, Verilog, Windows XPです。
bit幅は、明示しています。 wire [1:0] state; // 状態遷移カウンタ
あと何か必要でしょうか?
StateCADで書いとけ
桁あふれしちゃいかん(=桁が足りない)のか、もともとラップアラウンドを
期待してる(=桁はちょうど足りてる)のか、記述からは分からんのじゃ
ないかね。
桁あふれと言えば
reg [1:0] r;
always @(posedge clk) r <= r+1; //3に張り付く
always @(posedge clk) r[1:0] <= r[1:0] + 2'b1; //3→0に戻る
最初はこれに悩まされたな。
130万のLINTなら、なんという答えを出すのかな。
「お前ダメ、全然ダメ。はい、やり直し」とか (^^;
996 :
前スレ950:2009/09/19(土) 21:22:06 ID:8TLm6UBZ
すみませんやっと.Vファイルと.VHDファイルの違いが分りました。
次に、ISE10.1を使ってDEC.Vというファイルをダブルクリックしてみます。
自分の予想ではソースファイルが開いて書き換えが出来るのだと思うのです。
しかし、「このファイルを開けません DEC.V」と出ます。
素直に理解すると、ISE10.1には.Vファイルのエディターが付いていないから別に用意する必要がある。
という事なのですが、そんな馬鹿な?という思いが80パーセントです。
例えば、ファイルメニュー→ニュープロジェクトでの設定になにか間違いがあるのでしょうか?
どなたかよろしくお願いいたします。
あっ、すみません、より多くの方に見ていただきたくて次スレに書いたつもりが間違えました。
次スレにもコピペします。お許しください。
何かしれんが埋めてしまえ
.
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。