ページ 11

FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月17日(日) 21:05
by softya(ソフト屋)
数年前より安いFPGAが入手し辛くなってますね。
色々探してみます。

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月17日(日) 21:28
by softya(ソフト屋)
もしかしたら書き込み機能付きだとゲート辺りの値段はこれが一番安いかも。
http://www.cqpub.co.jp/hanbai/books/38/38611.htm
また見つけたら報告します。問題はプリンタポート必須と言う条件ぐらい?

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月17日(日) 21:42
by tana
softyaさんはXilinxユーザなんですね。

自分はAlteraユーザなんでこっちを使ってます。
http://www.cqpub.co.jp/hanbai/books/31/31501.htm
あとはHuMANDATAの在庫処分で探すくらいでしょうか……。

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月17日(日) 21:50
by nissy
10万ゲートですか。
その規模だとどのくらいまでのせることができますか?例えばPICのRISC型CPU何個分とか、そういった指標がまだよく分かってないです。
あ、在庫処分は毎月チェックしてます^^

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月17日(日) 21:51
by softya(ソフト屋)
私はEZ-FPGAを使ってますのでXilinxです。
http://www.itplaza.co.jp/opti/ezfpga/index.html
VHDL派だったんですがverilogに乗り換え検討中。
時間がなくて最近触ってません。

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月17日(日) 21:58
by softya(ソフト屋)
>PICのRISC型CPU何個分ですか?
挑戦してないので分かんないですね。
EZパックマンを見る限り、Z80のIPとアーケード基板のビデオ回路ぐらいは入るみたいですが。

マルツのXILINXFPGAボードは25万ゲートの様です。
https://www.marutsu.co.jp/user/ddt01kikaku0904.php
が、ベースボードがないと書き込めないみたいです。
更にUSBでは書き込めないと書いてありました(不便な)。

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月17日(日) 22:01
by tana
>>nissyさん
LEが2,500程度でPIC16F84のコンパチ品が作れませんでしたっけ?
CPLD上でそれが再現できるんで、FPGAでは余裕だと思いますよ。

>>softyaさん
EZ-FPGAは確かに安い部類ですね!
あれ並となるとそうそうお目にかかれませんが……。

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月17日(日) 22:14
by softya(ソフト屋)
CQPICでXILINXで謂う所のでロジックセルが幾つぐらいになるか今度試してみますね。

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月17日(日) 22:24
by nissy
すごいですね。単純計算で40個分!?やっぱり値段が高いだけのことはあるんですね。
そこからは、命令を増やしていってCISCにしたり、高速化機構をつけたり、並列化していってGPUの様にしたりしていくんですね。考えただけでわくわくします。

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月18日(月) 01:09
by softya(ソフト屋)
>そこからは、命令を増やしていってCISCにしたり、高速化機構をつけたり、並列化していってGPUの様にしたりしていくんですね。考えただけでわくわくします。

私見ですがCISCはFPGAの場合セル(エレメント)をやたら消費するので避けたほうが良いでしょうね。並列化はCELLの様にとかGPUの様にとかは面白いアプローチは考えれますね。
まぁ、並列化はINTELのLarrabeeの様な失敗もプロでもやり兼ねないので面白いテーマです。
「Intelは開発中のLarrabeeをGPUとしてリリースすることを諦める – IDFでIntel GPU開発ディレクターが語る « PCハードウエアとLinux情報 Leddownのブログ」
https://leddown.wordpress.com/2010/09/2 ... E3%81%AF%E...
「Larrabee - Wikipedia」
http://ja.wikipedia.org/wiki/Larrabee

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月18日(月) 18:50
by nissy
>INTELのLarrabee
x86の資産は大きいですからねぇ。でも、この資産ってバイナリ配布の形態によるものですよね?オープンソースに慣れてきてそんな感じがしてきました。一般人から見れば大した違いが無さそうですけど。

>私見ですがCISCはFPGAの場合セル(エレメント)をやたら消費するので避けたほうが良いでしょうね。

なるほど~。命令セットはRISCに留めておく方が無難なんですね。
思ったんですけど、RISCをのせると動かすプログラム(ソフト)が必要で、その記憶領域も必要になってきますよね?PICにはメモリが付いてる様ですが。

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月18日(月) 19:35
by softya(ソフト屋)
>INTELのLarrabee
すいません。リンクの一つは切れてましたね。
こっちの方が分かりやすいと思いますので張ります。

西川善司の3DゲームファンのためのIntel・Larrabee講座
http://game.watch.impress.co.jp/docs/se ... 80150.html

資産よりもx86アーキテクチャになれた人を相手にしたかったんでしょうね。ミドルウェアなどの迅速な立ち上がりも期待できますので。

>思ったんですけど、RISCをのせると動かすプログラム(ソフト)が必要で、その記憶領域も必要になってきますよね?PICにはメモリが付いてる様ですが。

メモリを外付けで搭載するのが無難でしょうね。
メモリブロックがあるFPGAもありますよ。
XC3S250E 25万ゲート 5,508セル 38Kbit分散RAM 216KbitブロックRAM
とかうまくやれば30KBほどのメモリはあります。
キャッシュに使うとか色々技を駆使すれば高速動作は期待できますね。

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月18日(月) 19:46
by tana
>>nissyさん
>>RISCをのせると動かすプログラム(ソフト)が必要で、その記憶領域も必要になってきますよね?
PICプログラムをアセンブル→アセンブルリストからHDLソースを作るという手段があります。
または外部にEEPROMを搭載するか、FPGAであればブロックRAMにロードするなど色々考えられますね。

余談ですが、疑問を一気に解消してくれるような記事がトラ技2008/12に特集として掲載されてますよ。
バックナンバーを探してみると良いかもしれません。

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月19日(火) 16:55
by nissy
>>softyaさん
>INTELのLarrabee
リンク先拝見しました。少し難しい話でしたが、既存のGPUとLarrabeeでハードウェア・ソフトウェアの切り分けが少し異なるのですね。

>メモリ
メモリにも内臓と外付け、分散とブロックなど色々あるんですね。演算部分との兼ね合いを考えるのが大変そうです。

>>tanaさん
>PICプログラムをアセンブル→アセンブルリストからHDLソースを作るという手段があります。

なるほど~。そういった方法もあるんですね。

>または外部にEEPROMを搭載するか、FPGAであればブロックRAMにロードするなど色々考えられますね。

ROMとRAMですか。一口にメモリといっても種類が多すぎて少し混乱してきました。Wikipediaで調べるとそれぞれ特徴があって、自分で使い分けれるようになるにはまだまだ時間が必要のようです。

>トラ技2008/12
目次と数頁のサンプルを見つけました。CPLDへのPIC実装みたいですが、1つ1つ段階を踏んでいてわかりやすそうですね。FPGAへの実装にも応用できそうです。

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月19日(火) 22:07
by softya(ソフト屋)
>>nissyさん

あまり、マイコンとかのデジタル回路の設計経験が無いのであれば簡単なCPUをまず実装してみた方が良いと思いますよ。

例えば、CPUの創りかたのTD-4とか。
http://book.mycom.co.jp/book/4-8399-098 ... 86-5.shtml
この本自体が大変デジタル回路の勉強になります。

あとは4ビットマイコンを作ってみるとか電卓を作ってみるとか参考になるサイト紹介しますね。

「平成11年度 情報工学実験 II - 4ビットCPUの設計と製作」
http://www.ics.kagoshima-u.ac.jp/edu/expII1/index.html

「IT技術演習 -FPGA演習- 簡単なCPUの設計」
http://cai.int-univ.com/sugsi/Lecture/CPU/index.html

読み物。世界初のCPU INTEL4004開発物語 日本人の方です。

「【当時の勉強ノートを公開】世界初のCPU「4004」開発回顧録(1) それは電卓の価格競争から始まった:ITpro」
http://itpro.nikkeibp.co.jp/article/Wat ... ?ST=system

「コンピュータアーキテクチャの話 | コラム | エンタープライズ | マイコミジャーナル」
http://journal.mycom.co.jp/column/archi ... index.html
第31回 Intel 4004プロセサのアーキテクチャ - はじめに
から詳細なアーキテクチャの説明があります。

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月20日(水) 19:42
by nissy
>CPUの創りかた
表紙が…最近本屋に行くと入門用に漫画とかこの様なタイプが増えてきてますね。読みやすいです。

>4ビットマイコンを作ってみるとか電卓を作ってみるとか参考になるサイト紹介しますね。

大変参考になります。これを参考にしながらHDLで書いてみようかなと思いました。

>読み物
少々長いのでこれから少しずつ読んでいこうと思います。

おかげさまで少しずつ回路図に慣れてきたような気がするので、そろそろおっしゃる通り単純な物から設計していこうと思います。ただ、使用言語はVerilogHDLかVHDLか悩ましいです。他に、SpecC、SystemC、SystemVerilogが気になってます。

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月20日(水) 21:24
by softya(ソフト屋)
>おかげさまで少しずつ回路図に慣れてきたような気がするので、そろそろおっしゃる通り単純な物から設計していこうと思います。

楽しんで下さいね。
最初は単純な回路から始めてカウンタとかでLED点滅とかから始めたほうが良いと思います。
あと電卓に挑戦してみるのも良いですね。電卓の場合は外付けハードが必要なので電子工作が面倒なのが問題ですが。

>ただ、使用言語は VerilogHDLかVHDLか悩ましいです。
私はVHDL派なんですが、verilog派に鞍替えを考えてます。
理由はVHDLはやたら記述量が多いことと、verilogの方がC言語っぽい事ですかね。
このサイトに両方載っていますので比べてみてください。
http://laputa.cs.shinshu-u.ac.jp/~yizaw ... index.html
こっちも参考になります。
http://www.mtl.t.u-tokyo.ac.jp/~jikken/ ... %2FOutline

>他に、SpecC、SystemC、SystemVerilogが気になってます。
設計,検証,モデリング用のシミュレーション言語として作られているので実際にそのまま完全にハードに落とし込めない問題があります。作り方次第では無理で、大丈夫でも手直しは必要な様です。雑にしか追っかけていないので今の現状と違っていたらすいません。
あくまで趣味でFPGAやっていますので。

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月21日(木) 23:52
by nissy
>楽しんで下さいね。
もちろんです!

>あと電卓に挑戦してみるのも良いですね。
入出力装置の接続とかは部品に慣れてないと難しそうですね。シミュレーションではできなさそうですし。

>理由はVHDLはやたら記述量が多いことと、verilogの方がC言語っぽい事ですかね。

確かに、見た感じとっつきやすそうなverilogの方で書いてみようと思います。

>設計,検証,モデリング用のシミュレーション言語として作られているので実際にそのまま完全にハードに落とし込めない問題があります。

まだ慣れないうちは、下手に触らない方が良さそうですね。


今更気づいたんですが、ゲート、ロジックセル、ロジックエレメントを混同してました。

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月22日(金) 01:11
by softya(ソフト屋)
>入出力装置の接続とかは部品に慣れてないと難しそうですね。シミュレーションではできなさそうですし。

なにがしらかの入出力は実験に必要なので表示LEDとかLCDは必要だと思います。
※ LCDの制御はマイコンだとそうでもないですがFPGAは面倒です。
あとはスイッチも必要ですね。そう意味でキーを付けておくのは悪い選択じゃないです。
それとシミュレーションと実物は動作が違うので、実際に動かさないと問題は見えてこないモノですので実動作を必ずさせた方が良いですよ。

>今更気づいたんですが、ゲート、ロジックセル、ロジックエレメントを混同してました。

ゲートは論理素子の数で、ロジックセルとロジックエレメントは近いですが会社が違うのでロジック単位の設計が違います。

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月23日(土) 22:03
by nissy
>なにがしらかの入出力は実験に必要なので表示LEDとかLCDは必要だと思います。

PCのLCDがあるので、PCにつなげてFPGAのコンフィグも通信も行えるのがよさそうです。メジャーなのは、USBでつなげる方法でしょうか?EZ-FPGAでは別売り?のMINI EZ-USBがあるようですね。値段が高いものではPCI Expressもあるようですが、敷居も高いです。ちなみに、プリンタポートはありませんでした。

>それとシミュレーションと実物は動作が違うので、実際に動かさないと問題は見えてこないモノですので実動作を必ずさせた方が良いですよ。

そうですよね。でも慎重に行きたいので、実物はもう少し状況を把握してからにします。

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月23日(土) 23:21
by softya(ソフト屋)
プログラムを書き込むためのダウンロードケーブルとUSBで通信する話はまったく別なので分けて考えてください。
EZ-FPGAだとEZ-USBで通信できる機能を擬似的に持っていますが遅いですし、他の機種で同じようなことするためには相当の知識が入ります。
ちなみにUSBで書き込めれるダウンロードケーブルの純正はかなり高いので、互換品を探したほうが良いと思います(それでも一万円ちかくします)。

それとLCDは、こんなヤツの事です。
http://akizukidenshi.com/catalog/g/gP-00038/
VGA信号とかをFPGAで作るとなると簡単ではありません。
USBで通信するにしてもシリアル変換のHDLコードは書かなくては行けません。

シリアル変換したものを、今度はUSBシリアル変換モジュールを使ってパソコンと接続します。
http://akizukidenshi.com/catalog/g/gK-01977/
これでドライバも書かずにパソコンと接続可能です。

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月24日(日) 14:13
by softya(ソフト屋)
[追記]
>ちなみに、プリンタポートはありませんでした。

プリンタポートがないと言うことは、「FPGAボードで学ぶ論理回路設計」付属ボードは動かせていないと言うことでしょうか?
調べてみましたが、PCIのプリンタポート(IEEE1284)増設ボードで出来るんじゃないかって情報が見つかっただけです。接続できる保証がないので、人柱確定アイテムです。

こちらも参考に。
http://www.fumi2kick.com/komekame/archives/496
まぁ、どの拡張ボードか書いてないのが問題ですね。
こちらも。
http://yoshidastyle.net/Blogs/itlaborat ... eblasterii

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月24日(日) 18:20
by softya(ソフト屋)
安いのを見つけました!
http://d.hatena.ne.jp/verus/20091015/1255547929
アカデミックなら10,805円(税込)で買えます!
http://solitonwave.shop-pro.jp/?pid=15835753
詳細
http://www.terasic.com.tw/cgi-bin/page/ ... =39&No=364
3C16なので、FPGAボードで学ぶ論理回路設計のEP1C3の約5倍のエレメント数15,408を誇りながら、USBで書き込み可能と言う簡単さ。
その上SDRAMやらFlash memoryやらSD card socketまで付いています。その他も盛り沢山。
下記参照↓
http://www.terasic.com.tw/cgi-bin/page/ ... =2#section

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月24日(日) 20:06
by tana
DE0の販売サイトがあったんですか!?
自分もこれが欲しくて結構探していたんで助かります!
terasicが販売しているということは、Usb-Blasterコンパチの回路が載っていると期待できますね。
性能の面からみてもかなり安いのでありですね。

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月24日(日) 22:58
by nissy
>プリンタポートがないと言うことは、「FPGAボードで学ぶ論理回路設計」付属ボードは動かせていないと言うことでしょうか?

気を遣わせてしまった様ですいません。まだ、どのボードも入手してない状況です。単に自分のPCを把握する意味で書いただけでした。

>DE0
おおー、かなりいい感じですね。付属のCD-ROMにはツールやデモなどもあってすぐに使えそうです。上位のDE2-110もさらに充実してて、海外から直接買えるならこれが良さそうなんですけどどうなんでしょう?
ここまで来ると、ミニPC1台組むのに近いですね。

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月25日(月) 01:27
by softya(ソフト屋)
nissyさんすいません。
tanaさんの情報と混じって記憶していたみたいです。

まぁ、始めはDE0ぐらいでも使いこなせないと思いますので十分です。と言うよりかなり巨大だと思います。
MSX程度で1C12で入ってますので、ファミコンも搭載できると思います。
http://www.msx.d4e.co.jp/1chipmsx.html
あっと、2C20で少し大きかったですね。
http://crystal.freespace.jp/pgate1/nes/index.html

スーパーファミコンはDE1で作られている様ですね。
http://crystal.freespace.jp/pgate1/snes/index.html
※ 動作確認の所にDE1と記述あり。

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月25日(月) 12:38
by softya(ソフト屋)
>>tanaさん
>>Usb-Blasterコンパチの回路が載っていると期待できますね。
>>性能の面からみてもかなり安いのでありですね。

何処かで同等回路だと書かれたのを見た気がします。サイトは失念しました。

Digi-Keyでも購入可能みたいです。
http://search.digikey.com/scripts/DkSea ... 1773&k=DE0
こっちは海外の販売なので英語が付きまといますが、アカデミックじゃなくても円高差益還元で安いです。

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月25日(月) 12:43
by tana
英語サイトを読んだところ、同等回路が乗っていると書いてありました。
TerasicBlaster同様、FTDIのチップとCPLDで構成しているようです。
近いうちに購入して色々と試してみたいと思います。

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月25日(月) 12:48
by softya(ソフト屋)
【補足】
>あっと、2C20で少し大きかったですね。
>http://crystal.freespace.jp/pgate1/nes/index.html
と書きましたが、履歴によると音源の追加ばかりしているので、DE0でも十分ファミコン回路は内蔵できると思います。

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年10月25日(月) 12:52
by softya(ソフト屋)
>英語サイトを読んだところ、同等回路が乗っていると書いてありました。
>TerasicBlaster同様、FTDIのチップとCPLDで構成しているようです。
>近いうちに購入して色々と試してみたいと思います。

レビュー楽しみにしてます!
時間があったら私も買いたいんですけどね。

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2010年11月16日(火) 18:19
by nissy
海外サイトですがXilinxの方のボード見つけました。AlteraのDEシリーズと同じようなタイプだと思います。Spartan6+DDR2,Spartan3E+DDRなどがあり、それぞれ個性があっておもしろいです。

digilent
http://www.digilentinc.com/Products/Catalog.cfm?Cat=10

Re: FPGAでCPUを作ろう&安いFPGAを探せ!

Posted: 2011年10月25日(火) 00:51
by tana
久しぶりなんで一つFPGAの評価ボードの紹介を。

秋月電子通称で8月末から取り扱いを始めたXilinx社Spartan6の評価ボードです。
http://akizukidenshi.com/catalog/g/gM-05113/
アヴネットジャパンでも同様のものを取り扱っていますが、秋月では2,000円ほど安くなっています。