【FPGA/CPLD】 XILINX/ALTERA/Lattice/Actel 11

このエントリーをはてなブックマークに追加
952774ワット発電中さん:2009/09/15(火) 17:11:14 ID:eUaC7wze
>>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にプログラムが書き込まれる。

  こんな感じです。どうでしょうか?
953774ワット発電中さん:2009/09/15(火) 18:51:42 ID:/5qzWagN
>>952
>例えば、CPLDなら、ABC.v(ソースファイル)、ABC.ucf(ucfファイル)、ABC.bit(bitファイル)の
>  3つがあれば良いです。
>  メモ帳で、新規作成でこの3つのファイルを、自分で書いて作るのもアリだけど、初心者には無理。
最初の2つは自分で書くけど、bitファイルはツールで生成されます。
954774ワット発電中さん:2009/09/15(火) 18:59:21 ID:eUaC7wze
>>953
フォロー、ありがとうございます。

>>950
誤記訂正
× 例えば、CPLDなら、ABC.v(ソースファイル)、ABC.ucf(ucfファイル)、ABC.bit(bitファイル)の
× 3つがあれば良いです。

○ 例えば、CPLDなら、ABC.v(ソースファイル)、ABC.ucf(ucfファイル)、ABC.jed(JEDECファイル)の
○ 3つがあれば良いです。

すみません。
955774ワット発電中さん:2009/09/15(火) 19:23:29 ID:/5qzWagN
jedファイルは書くの?
>4. GenerateProgrammingFile...というのをダブるクリックして、エラーなしなら、○○○.jedが自動で作られる。
て、書いているじゃないですか。
956774ワット発電中さん:2009/09/15(火) 19:29:47 ID:eUaC7wze
>jedファイルは書くの?
いえ、人間が書くわけではありません。

>FPGAやCPLDをやる上で、よく使うファイルの拡張子は、だいたい決まってる。3つ。
ということで、
よく使うファイルが、この3つということです。
人間が書くファイルと言うわけではないです。
957774ワット発電中さん:2009/09/15(火) 21:07:51 ID:ImKovwd/
>>951-952その他多くの皆様ありがとうございます。
アドバイスを噛み締めながら少しずつ理解してゆきます。
958774ワット発電中さん:2009/09/16(水) 00:04:27 ID:z2pPcRC9
>初心者には敷居の高い業界
ネットから情報を持ってこれるからむしろ低い。
959774ワット発電中さん:2009/09/16(水) 00:30:31 ID:9t3BcHDU
ソフトの使い方はFPGA初心者じゃなくてPC初心者には敷居が高いかも
大抵の解説はPCが普通に使えるのは前提だからね

FPGA初心者には、書き込んで動作確認する環境を安価に構築するのが敷居が高いと思う
960774ワット発電中さん:2009/09/16(水) 00:32:17 ID:CRvMw479
2ヶ月でまだLED点灯しか出来てない自分には耳が痛い・・。
画像処理とかはファイルの入出力がむずいな。あとピン指定。
961774ワット発電中さん:2009/09/16(水) 03:34:29 ID:FGduUs4c
>入出力がむずいな
むずいって何?
日本語か?
962774ワット発電中さん:2009/09/16(水) 05:28:32 ID:7iyE1VOP
DigikeyでSpartan3AN注文しちゃった。
\22,000ぐらいだった。
早く来ないかな。<3
963774ワット発電中さん:2009/09/16(水) 08:33:38 ID:wenrsl8E
>>918-919
ソフト屋がばかにされる理由が判ったよ
964774ワット発電中さん:2009/09/16(水) 10:00:31 ID:Udkt2BWV
ハード屋の場合、「相性問題」とか「ノイズで一瞬誤動作」などと言って、
問題から目を逸らして片付けたりする輩が結構いるね。

ソフト屋も、こういうハード屋を見習わないほうがいい。

ましてや、一緒に仕事をするハメになると、自分はIC電源ピンの供給電圧や
リップル量の確認さえもロクにしていないのに、動かないのはソフトが悪い
などと言われかねない可能性が極めて高い。
965774ワット発電中さん:2009/09/16(水) 10:17:35 ID:1R5p1z8+
相性問題って・・・PCパーツの組み立てじゃないんだから・・・
こういうこというハード屋さんっているの?
ちょっと信じられないな。
966774ワット発電中さん:2009/09/16(水) 10:32:17 ID:wnvynzu+
割と多いよね。試作基板3枚くらい作って、動く組み合わせを渡してくる。
ハード屋は消費電流と発振だけ見て渡してくる配慮と余裕のない人。
ブートローダー入れ始めた途端にバグレポート出すんだけど、
俺の設計に文句つけんのか!って感じで困る。
しばらく前から、ファーム部門のサインがないと回路図出図できないようにしてやったwww

俺の仕事が増えるだけだけど、工期短縮には効いてる。みんなも試せば?
967774ワット発電中さん:2009/09/16(水) 10:37:44 ID:AfaK7aA7
来年から電気設計(ハード)の仕事に就く学生が質問です。
ハード屋さんは自分の設計した基板にテスト用のコード書いてチェックとかしないの?
例えばマイコンとFPGAが乗ってたら、HDLはもちろん簡単なチェック用ソフトをマイコンに焼いてテストするとか。
そういうテストもソフト屋の仕事?
968774ワット発電中さん:2009/09/16(水) 10:40:04 ID:1R5p1z8+
じぶんとこはブートローダとかドライバくらいは
ハード屋さんが簡単なの作って(移植して)動かしてからソフト屋さんに渡してるよ。
と言うかそのくらいしないとハードの初期のデバッグも簡単にできないよね。

もちろん最終的な確認はソフト屋さんが作ったもので確認するけど
969774ワット発電中さん:2009/09/16(水) 11:07:19 ID:BB3Q03K1
相性問題・・・・便利な言葉だ。
970774ワット発電中さん:2009/09/16(水) 11:31:39 ID:guwArHXM
>>967
半分当たりで半分はずれだな。

規模によるけど、普通のハード屋は自分が設計した基板上にあるCPUやFPGAが設計どおり動く事を確認しなければならない。
つまりHDLで書かれたFPGAの動作確認はハード屋がやる。
でも、レジスタの設定とかまでハード屋がやると負担が増えるので、ソフト屋に設定プログラムとかを作ってもらう事はある。
とうぜんだが、CPUが動くかの確認はハード屋がやる。ICEやデバッガーを使えば簡単な動作確認だけならそれほど手間じゃない。
ハード屋がやるソフトウェアよりテストの多くはレジスタのリードライト確認。
専用デバイスを動かす場合の長い呪文はソフト屋にお任せするパターンが多い。
971774ワット発電中さん:2009/09/16(水) 11:58:26 ID:3AmYmKMM
>>967
普通はする。

駄目なハード屋はできない。
でもって、ソフト屋にハザードとかタイミング間違い指摘されると逆切れ。
972774ワット発電中さん:2009/09/16(水) 16:33:22 ID:GgNwWzyD
うちの場合はハード屋の新人がやらされるのの一つが簡単な(ソフト屋から見れば
恥ずかしいぐらい超超簡単な)ハードのテストプログラム作成だな。
973774ワット発電中さん:2009/09/16(水) 19:56:10 ID:hK73NZ0Y
最近でもメモ帳はdec.v.txtになったりする?
974774ワット発電中さん:2009/09/16(水) 20:22:35 ID:39I5ezWN
うん
975774ワット発電中さん:2009/09/16(水) 21:02:10 ID:hK73NZ0Y
そか、さんきゅ。
976774ワット発電中さん:2009/09/16(水) 23:13:25 ID:9t3BcHDU
いやいや、保存するときに全てのファイルにすればtxt付かないよ
977XC5VFX200T-2FFG1738CES:2009/09/17(木) 04:00:24 ID:nYQNosPH
978774ワット発電中さん:2009/09/17(木) 20:56:04 ID:CMeMF+Dr
92xあたりからこのスレじゃないみたいに
いい雰囲気だ、こう行こうぜ。
979774ワット発電中さん:2009/09/17(木) 21:07:11 ID:HVyYcEG3
>>968,970-972
回答ありがとうございます
やっぱりちょっとしたプログラムは書くんですね。
ただ今まで趣味で全部やってきた分、入社して基本はハードだけって縛りに耐えられるか不安
980774ワット発電中さん:2009/09/17(木) 21:53:11 ID:Qoy72QAd
>>979
本当に良い事なら職場の仲間と相談して改善活動としてグループで行動するのがいい。
入社そうそうに組織の垣根を個人の判断で越えるなら組織に有害な人材として排除されてしまうよ。
981774ワット発電中さん:2009/09/17(木) 22:49:41 ID:mPG00PkI
>>979
ハードばかりだったとしても趣味とは違ったものが触れたりするから
意外と面白いことも多いよ。
USBのロゴを取るのは大変だなぁとか。
982774ワット発電中さん:2009/09/18(金) 06:13:54 ID:AWzXHcM/
RTLソースって売っていいの?
983774ワット発電中さん:2009/09/18(金) 07:03:44 ID:x1JGJlii
>>982
何で売っちゃダメなの?コピーなの?

マジレスすると、製品の場合、暗号化したRTLか、
合成後のネットだね。
委託設計ならRTLソースで納品。
984774ワット発電中さん:2009/09/18(金) 22:22:39 ID:N4n+4GeW
2000年代初頭に、暗号化されていないRTLソースのIPを使ったことがある。
985774ワット発電中さん:2009/09/18(金) 22:24:50 ID:mzOWaplS
NDA結んだんじゃね?
986774ワット発電中さん:2009/09/18(金) 22:26:17 ID:vbk74xvG
>>979
大きな会社で大部隊になると、全く書かないこともあるよ
逆に小さな会社や、小規模案件だと、一人で全部やることもある
会社や部署に左右されるから何とも言えないから、入ってみてからだね

でもソフトの仕様書とか見る機会はあるだろうし、ソフト屋と話もすることもあるよ
何やりたいかは知らないけど、ソフトは趣味でやっていけるし、趣味に止めておいた方がいいと思うよ
ソフトって結局は最後になるから、しわ寄せが全部・・・・
987774ワット発電中さん:2009/09/19(土) 04:07:07 ID:Vdq6WnI3

HDL書いてて、少し改造しただけなのに、突然
「○○[31]は、決して使われない。だからcompileの時点で取り除いた」
「○○[30]は、決して使われない。だからcompileの時点で取り除いた」
「○○[29]は、決して使われない。だからcompileの時点で取り除いた」
「○○[28]は、決して使われない。だからcompileの時点で取り除いた」
と 延々とwarningを言う。
はぁ? 理由がわかんない。○○変数はちゃんと記述してあり、右辺にも左辺にもなってる。

半日さんざん考えて、やっとわかった。

状態遷移の変数のbit幅が足らなくなって、○○変数を実行しなくなったから。

おいおい、それなら直接的に「△△の変数の桁が足りませんぜ」と
言ってくれればいいのに。
988774ワット発電中さん:2009/09/19(土) 09:38:31 ID:9L5RuVfl
環境も書かずにそんなこと書いても意味ないけど…
ソースにbit幅を明示的に書いてれば教えてくれたんじゃないのかな
989774ワット発電中さん:2009/09/19(土) 11:55:44 ID:Lprc3rxX
多いのではなくて?
990774ワット発電中さん:2009/09/19(土) 11:55:53 ID:Vdq6WnI3
ISE10.1, Verilog, Windows XPです。
bit幅は、明示しています。 wire [1:0] state;   // 状態遷移カウンタ

あと何か必要でしょうか?
991774ワット発電中さん:2009/09/19(土) 12:05:17 ID:VpbSrCE+
StateCADで書いとけ
992774ワット発電中さん:2009/09/19(土) 12:21:19 ID:hka0vg5/
桁あふれしちゃいかん(=桁が足りない)のか、もともとラップアラウンドを
期待してる(=桁はちょうど足りてる)のか、記述からは分からんのじゃ
ないかね。
993774ワット発電中さん:2009/09/19(土) 12:29:06 ID:9L5RuVfl
桁あふれと言えば
reg [1:0] r;
always @(posedge clk) r <= r+1; //3に張り付く
always @(posedge clk) r[1:0] <= r[1:0] + 2'b1; //3→0に戻る
最初はこれに悩まされたな。
994774ワット発電中さん:2009/09/19(土) 13:12:10 ID:IXqaKjUy
>>993
今も悩んだ方がいいぞ
995774ワット発電中さん:2009/09/19(土) 16:31:58 ID:ovZ1HxYO
130万のLINTなら、なんという答えを出すのかな。
「お前ダメ、全然ダメ。はい、やり直し」とか (^^;
996前スレ950:2009/09/19(土) 21:22:06 ID:8TLm6UBZ
 すみませんやっと.Vファイルと.VHDファイルの違いが分りました。
次に、ISE10.1を使ってDEC.Vというファイルをダブルクリックしてみます。
自分の予想ではソースファイルが開いて書き換えが出来るのだと思うのです。
しかし、「このファイルを開けません DEC.V」と出ます。
素直に理解すると、ISE10.1には.Vファイルのエディターが付いていないから別に用意する必要がある。
という事なのですが、そんな馬鹿な?という思いが80パーセントです。
例えば、ファイルメニュー→ニュープロジェクトでの設定になにか間違いがあるのでしょうか?
どなたかよろしくお願いいたします。
997774ワット発電中さん:2009/09/19(土) 21:23:33 ID:8TLm6UBZ
あっ、すみません、より多くの方に見ていただきたくて次スレに書いたつもりが間違えました。
次スレにもコピペします。お許しください。
998774ワット発電中さん:2009/09/19(土) 21:51:11 ID:BLacIS9S
何かしれんが埋めてしまえ
999774ワット発電中さん:2009/09/19(土) 21:54:01 ID:BLacIS9S
.
1000774ワット発電中さん:2009/09/19(土) 21:56:16 ID:BLacIS9S
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。