So-net無料ブログ作成
検索選択

チマチマしたものでは、燃えることが出来ない、何かもっと出来ることはないだろうか。 [色々なこと]

FPGAが手元にある、これでは力不足かも知れないが、昔のパソコンを作ってみたい。
NECと富士通は持っていてもときめかなかった。
ときめいた、ベーシックマスターは良かったんだけれど、会社の企画が半ばで転けてしまった。
あれをもう一度やってみたい。あるいはシャープのX68Kの方がよいかも(内容を知りません)
何方か力を貸していただけませんか、
システム構成やハード製作はなんとか自力で出来そうです。
あとは、FPGAのプログラムにまったく自信が有りません。

今持っているFPGAは何種類か有るのですが
大きそうなのは次です。
sWS000378.JPG

これってどれくらいの大きさでしょうか?
6809 か 68k辺りが組めれば、
あるいはCPUは、ほんまものを付けて
外回りをこれでまかなってしまうというのはどうでしょうか?
WS000380.JPG

WS000379.JPG

 
電源配線回りの基板があるので、
放熱板に裏返しに取りつけ、
ユニバーサル基板をこのサイズに切り抜いて、
取りつけようと思っています。

sP1010413.jpg

最外周の1列は捨て穴にしてあり、

これでユニバーサルに裏から引っかけることもできます。

BGAパッケージ用の基板 上手くいくかな?

BUSB-Blasterもどき、少しアレンジしてみた。

WS000410.JPG

 

 


コメント(29) 

コメント 29

shuji009

どうも!
FPGAの規模は、正直良く分りません。申し訳ないです。

昔のパソコン・・・私も色々と作りたいです。
でもX68000は無理だと思います
68k自体はコアはFPGAであるらしいのですけど、
周辺とかメモリーが当時の機種としては凄すぎて、かなり難しいと思うのです。因みに私の持っているFPGAのスターターキットでは、メモリー不足、
ロジック数不足でできないです。

でも日立のS1とかでしたら、もしかしたらDE0だと難しいかもしれませんが
上位機種であればできるかもしれません。

お役に立てないのが歯がゆいですが、興味はありますので。

1日に1回は覗いているつもりだったのですけど、お声をお掛けさせて
しまい申し訳ありませんでしたm(_ _)m。

by shuji009 (2010-09-29 14:00) 

nekonoko

ご覧戴き有り難う。
>68k自体はコアはFPGAであるらしい
68kですとMPUがあるので(用意できる)周辺をそろえたいですが、
X68Kは持ったことがありませんので、詳細が判らないです。
でも何故かソフト(OS9-68K)が有ります、
あとでヤフオクにて買ったのかも知れません。
日立のS1は下から2番目の機種を持っていました。
しかし限界を感じていたので
出来れば68kに出来ないかなと情報を集め始めたところです。

>もしかしたらDE0だと難しいかもしれませんが
>上位機種であればできるかもしれません。
此処が良く判らないので意味を教えて下さい。

なお、RAMはそこそこいると思うので
SRAMを幾つかとと
256K*4/VRAM/Graphics Buffer を用意しました。
by nekonoko (2010-09-29 18:35) 

kuga

そのFPGAは EP1S10ですよね。
内蔵RAMが多いのでAPPLE][なら1chipにすべて入ります。
昔のパソコンを再現するのに問題になるのは。その機種の
回路図や、使用デバイスのデータシートが入手できるかです。
また内蔵ROMのデータは入手できますか?

EP1S10使用上の問題点。
 BGAパッケージのデバイスを扱えますか?
 専用configROMがとても高い。 EPC4 degikeyでも4000円
>256K*4/VRAM/Graphics Buffer を用意しました。
きっと5Vデバイスでしょう EP1SのI/O耐圧は3.3V

by kuga (2010-09-29 18:50) 

nekonoko

>DE0だと難しいかも
DEO 判りました Development and Education board
ですね。
>BGAパッケージのデバイスを扱えますか?
電源関係のパターンは付けてあります。
裏に基板を貼って、アップサイドダウンで放熱板に付け
必要な線だけUEWで取り出します。

>専用configROMがとても高い。
確かに高いですね、ですから他の方法、SDカードとかに出来ないかと考えています。

>きっと5Vデバイスでしょう EP1SのI/O耐圧は3.3V
確かに5VのVRAMです。(upd42274です)
(3.3Vもあるのでしょうか?)
SRAMは3.3vと共用のものを用意しました。
外部に使うディスプレー関連は5Vがよいので途中3.3v→5v
に変換するのは難しいでしょうか?

by nekonoko (2010-09-29 21:19) 

kuga

>電源関係のパターンは付けてあります。
>裏に基板を貼って、アップサイドダウンで放熱板に付け
>必要な線だけUEWで取り出します。
どのような方法なのかよくわかりません。
「昔のパソコン」程度ならFPGAに放熱板は不要です。

>外部に使うディスプレー関連は5Vがよいので途中3.3v→5v
>に変換するのは難しいでしょうか
信号が単方向なら
FPGA->外部5V
 入力レベルがTTLならそのまま、CMOSなら74HCT等のbuffer
FPGA<-外部5V
 74VHC等の3.3V動作5Vトレラントのbufferを入れる
FPGA<-->外部5V(双方向)
 2電源の双方向buffer(3245等)を入れる。

なんにせよ配線が面倒です。
FPGAで遊ぶなら極力chipに詰め込んで外部デバイスを少なく
しないと配線で涙します。

by kuga (2010-09-29 21:49) 

kuga

写真が掲載されたのでなんとなくわかりました。
スルーホール穴から半田を流して、BGAのボールに
半田付けしょうとしてるんですよね。
それを780pin全部やるんですか?? うまくいくのかな

とりあえず付けてみて、最低限の電源・clk・config回路で
LEDチカチカが動作させられるか試してみてはいかが

by kuga (2010-09-29 21:55) 

nekonoko

>「昔のパソコン」程度ならFPGAに放熱板は不要です。
放熱板がないと取り付けできない・・のではと思いました。

>しないと配線で涙します。
涙ですね。
コンフィグは
MAX2 CPLDボードが有るので、
これとSDメモリーでいけますでしょうか?

出来ればもう一度 OS-9で遊んでみたいです。
何種類かのCPLDがあるのでスター配列なども良いのでしょうか?

>スルーホール穴から半田を流して、
ホットプレートに温コンを付けて
フローにしようかと思っています。
この場合い、スルーホール穴は半田埋めをするのでしょうか、
あるいはそのままフラックスを入れて加熱でしょうか、

この辺りのノウハウを取得中です。
by nekonoko (2010-09-29 22:09) 

kuga

>MAX2 CPLDボードが有るので、
>これとSDメモリーでいけますでしょうか?
SDメモリーと組み合わせるならマイコンの方が楽です。
汎用シリアルflash (AT45DB や M25P )とマイコンの組み合わせが一番簡単だと思います。
自力解決が困難なら、手間を考え専用configROMもありです。

>この辺りのノウハウを取得中です。
アブノーマルな方法で実装しようというのですから
色々試すしかありませんね。

by kuga (2010-09-29 22:26) 

shuji009

話しが難しいので、ちょっとついていけませんが、x68000のこと。
これならROMは公開されています。
また、何年か前にJavaでエミュレータが作られた方がおられますので、
もしかしたら、そのソースも現在でも公開されておられるかもしれません。
と、調べたらありました。

http://homepage2.nifty.com/m_kamada/java/x68000/

ただし、更新は止っているようです。

by shuji009 (2010-09-29 23:28) 

iruka

どもです。
古パソコンのレプリカをFPGAで作るのですね。面白そう。
だけど、思い入れのある機種じゃないとモチベーションが
続かないかもです。
(それと、再現させるソフトとかROMも持ってないと。)

ググって見ると、SHARPのものでは

X1 clone
http://members.at.infoseek.co.jp/x1resource/x1clone/x1clone.htm

MZ-700
http://www.retropc.net/ohishi/mzbyfpga/

1chip-msx
http://free.flop.jp/1chipmsx/

あ、これ全部Z80やんけ。

で、
たしかに、X68000なら比較的新しいですし、BIOSとか
Humanがフリーソフト化された(?)んで入手可能な状態
だったような気がしますね。


by iruka (2010-09-29 23:49) 

iruka

>Shuji009さん。
ところでちゃぷにさんのプロジェクト魔玉って、どうなったか知りませんか?

>チマチマしたものでは、燃えることが出来ない、何かもっと出来ることはないだろうか。

こころのつぶやき
(一人で)萌えることは出来るかもしれないけれど、誰も付いてこれないかも(FPGA方面)
だってDRAMの配線とか面倒・・・

by iruka (2010-09-29 23:59) 

kuga

プロジェクト魔玉とは何だ! って検索すると
FPGAによる ワンボードX68000なんですね。

http://hpcgi1.nifty.com/trap/wiki/wiki.cgi?p=Diarys2009
5-10のオリフェス感想 (4) を見ると
そこそこ動作しているようで、いやすごいな~


by kuga (2010-09-30 03:11) 

nekonoko

皆さん有り難うございます。
少しずつ進めてみますね、まず何処まで出来るか調査してます。

>手間を考え専用configROMもありです。
具体的にはどういうものでしょうか?

あそれと、Versaloonは前から注目していてて、
実現できるデバイスをあさっていたのですがまだ見つけられませんでいました。

今回の情報で「STM8Sマイコン評価ボード STM8S-Discovery 」を3ポチッてしまいました。
この改造は「ねむいさん」と「電子工作日記さん」
http://www.koka-in.org/~kensyu/handicraft/diary.html
が見つかり、後の方が政党派のような気がするんですが、詳細が掴みにくいです。
by nekonoko (2010-09-30 11:07) 

kuga

>>手間を考え専用configROMもありです。
>具体的にはどういうものでしょうか?
先のコメントに書いた とても高い EPC4です。

http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=ja&site=JP&WT.z_homepage_link=hp_go_button&KeyWords=EPC4

これがアルテラ指定のEP1S10対応 専用configROMです.

by kuga (2010-09-30 11:21) 

nekonoko

CONFIGUデバイスを調べました。
>M25Pデバイス 512Kbから128Mb 4ワイヤSPIコンパチブル
>AT45DBデバイス 最高128MB  プログラミングと消去アルゴリズムがSPI フラッシュアルゴリズムに準拠せず若干使いにくい
コンフィグROMサイズは次ですから
EP1S10 3,534,640 Raw Binary File (.rbf) Size (Bits)
EP1S20 5,904,832
4MBIT か 6MBIT 有ればよい?
種類としては次のようです。
パッシブ・シリアル (PS)
アクティブ・シリアル (AS)
パッシブ・パラレル 同期(PPS)
ファースト・パッシブ・ パラレル(FPP)
パッシブ・パラレル 非同期(PPA)
パッシブ・シリアル 非同期(PSA)
JTAG(Joint Test Action Group)

by nekonoko (2010-09-30 12:22) 

nekonoko

多彩なコンフィグレーション方法が有るようですが、
まだピンときません。
http://www.altera.co.jp/literature/hb/stx/ch_8_vol_2.pdf

EP1S10780はPIN数は多いんですが、出力と電源バスに分けますと約半分が信号で、それも差動出力になっていて信号で見ますと
8ブロックしか有りません。

もし外部にSRAMを付けるとしますと、
M5M5V108 131072語×8ビット
フラッシュですと
AT49BV040B 512K x 8
A29L160A 2M X 8 Bit / 1M X 16 Bit CMOS 3.3 Volt-only,Boot Sector Flash Memory
が有ります。
by nekonoko (2010-09-30 12:55) 

kuga

configとはその4MbitのデータをFPGAに送り込む行為です。

EPC4はパッシブ・シリアル(PS)のシーケンスを
電源投入時自動的に生成してくれるデバイスです。
パッシブ・パラレルもサポートしていとと思いますが
FPGAとの接続PINが増えるので、よほど高速にconfigを完了
したい場合以外は不要でしょう。
EPC4自身にはJTAGにて書き込むことができます。

専用デバイス以外の場合は、使用するconfigモードにあわせた
データ送り込みの回路を外部に用意する必要があります。
このPSシリアルのシーケンスをマイコンで実施した例が
http://www1.ocn.ne.jp/~oksys/page7.htm
configデータの保持にI2C-EEPROMを使っているので
4Mbitのデータはそのままでは困難ですが・・
(1Mbit品までしかない)

by kuga (2010-09-30 13:16) 

nekonoko

>よほど高速にconfigを完了
FPGAはスタート時毎回コンフィグが必要ですね。
5MBITですと送るのにシリアルでもそれほど掛かりませんか?

データアドレスはシリアルかパラレルで
MPUでハンドシェイクをしながら送る。
パラレルの場合コンフィグポートはフローティングにすれば
ポートとして使え減らないですね。

A29L160Aはブートセクターとなっていますが、
何かでアドレスなどを自動発生するのでしょうか、
(まだ理解できていません)

バスラッチに74ACT374Pが有りますので3stateコントロールが出来ます。
選択肢をもっと絞らないと。

by nekonoko (2010-09-30 14:20) 

kuga

>5MBITですと送るのにシリアルでもそれほど掛かりませんか?
シリアルクロックが10Mとして0.5秒 遅いですか?
(ただしマイコンからconfigしたんではこんな速度出ません)
EP1S20は 無償WebEditionでは開発できませんよ。
stratixは EP1S10のみ。

FLEX8000シリーズでマイコン+FPGAのシステムを作ったとき
このマイコンからパッシブ・パラレルモードでFPGAをconfig
しようとしたのですが、どうしてもうまくいかず,
パッシブ・シリアルモードでのconfigに変更してしまいました。
原因は追究していません。
パラレルモードは配線が多くなるのですが、どうせマイコンと
接続するので、 マイコンのデータバスをconfigの仕様に
会うようにFPGAと接続するように決めました。

できるだけ簡単な構成でとりあえず動作させてみることを
お勧めします。
comfigROMなしでJTAGからFPGAをconfigしてとりあえず
動作させてみる。でもいいじゃないですか。

結局「昔のパソコン」の何をターゲットにするのかわかりませんが
いきなり大規模なものでは、まず間違いなく失敗します。


by kuga (2010-09-30 15:12) 

iruka

kugaさんと同意見です。

突っ込みどころとしては、
>あとは、FPGAのプログラムにまったく自信が有りません。

ここですかね。CPUコアはフリーなIPを拾ってくるとかできますけど
X68000のCPU以外の周辺ロジックは比較的規模が大きいし、Shuji009
さんもご指摘のようにFPGAのセル不足に陥る可能性大です。

というか、X68000の周辺ロジックの仕様をある程度把握されていないと
実現可能かどうか判断することも難しいのでは・・・まずは仕様書読み
からですかね。モチベーションが続くかどうか・・・。


by iruka (2010-09-30 17:40) 

nekonoko

>5MBIT
と書いたのは4MBITの間違いですと言うか端数を切り上げてしまったのです。
(ターゲットはEP1S10)

他にもマイナーなCPLDは何種類か有るのですが、
周辺に使うには勉強が要りすぎ、と言って周辺LSIをそろえても
配線がすごすぎ、結局はEP1S101個に入れてしまうか
もう1個 EP1S10を使ってつなぐかぐらいが限度ですね。

>X68000の周辺ロジック
X68Kは見たことないのですが、
会社ではよく似たLSIを使っていたので、こんなへんてこりんなタイマーなど当時は何処も出ていなかった・・CRTCなど何か数種類が出ていた。

まずはJTAGを揃え・・ちょうどSTM8Sディスカバリー
(付録の方にSTM32が付いている)が来たところです。

by nekonoko (2010-09-30 19:09) 

shuji009

irukaさん、どうもです。

>ちゃぷにさんのプロジェクト魔玉

中村ちゃぷにさんですか?
最近・・・というか15年以上縁がないと思います。
「プロジェクト魔玉」って何なんですか?

昔のniftyのfsharpの人間なら何人が知っていますので、
聞くことは可能だとは思いますけど。

by shuji009 (2010-09-30 22:30) 

shuji009

ノンノさん、どうもです。

FPGAの開発ってやはりソフトウェアに似ていると思います。
結局、ソフトウェアでエミュレータを作れる技量がないと、
VHDLやVerilog HDLは、書けないです。
エミュレータをプログラムで書いて、それをVHDLに移植しやすいように、
複雑な条件式を簡単にして(コードは長くなりますが)、代入文に置き換
える等して、やっとスタート地点に立てる気がします。

X68000レベルになると、やはり安定して動くエミュレータのソフトを
まず入手して調べてみることが重要だと思います。

それと、何種類か機種がありますので(68030を積んだものや、
68060まで積んだものもあるらしい・・・これは不要ですが)、それの
見極めも必要だと思います。個人的には初代~ACE位で充分だと
は思いますが、Expert(16MHz版)とかは、クロックを速くするだけで
充分な気もします。

by shuji009 (2010-09-30 22:39) 

nekonoko

>何種類か機種があります
有り難うございます。
まずこれから勉強しないと・・
X68Kのデータフローッピーを引っぱり出さないと・・
フロッピー?どうして読むんだっけ・
5インチと3インチのドライブがある・・
これはwinに繋げる?のか・・・
by nekonoko (2010-09-30 23:04) 

shuji009

5インチのFD・・・・・OSがhuman68kでしたら、5インチドライブが
あれば、PCでもかつては、読み出せました。ただし、書込を禁止しないと、
悲惨なことになります。

3.5インチは不明ですが、ドライブが昔の1.2Mバイトに対応している
ドライブがあれば、もしかしたら読み出せるかもしれません。

windows2000以上の場合は、不明です。私はwindows98seマシンで
昔5インチのFDからデータを抜いたことがある程度です。

OS9-68Kの場合は、物理フォーマットが違うので、PCだと読み出せないと
思います。
実機があっても、今の私の力だと変換できないですね・・・・昔なら、物理的に
読み出して、それを仮想ディスクにする技術くらいはあったのですけど、
すっかり忘れています・・・・申し訳ありません。

by shuji009 (2010-09-30 23:32) 

kuga

「昔のパソコン」って X68000がターゲットなんですか
 はっきりいいます。 素人には無理です。

 FPGAのプロで
 X68000に強い思い入れがあって
 X68000の回路等の技術資料がそろっている。

 という条件がなければ実現できないと思います。

 どこまでFPGAに入れるかによりますが、
 EP1S10ではサイズも不足です。

 てっきり8bitパソコンクラスだと思ってた。

 
by kuga (2010-09-30 23:55) 

iruka

> FPGAのプロで
> X68000に強い思い入れがあって
> X68000の回路等の技術資料がそろっている。

この3条件満たす人はちゃぷにくらいしか居ませんね。(他にも居られるかもしれませんが)
過去に ぼて2号(X68000 SCSIホスト)とかFPGA(CPLD??)で
作ってたりしてたんでX68000の外部バス(バスマスターモード)
にめっぽう強い人でした。

まずは、x1かmsxあたりのFPGA実装例をトレースされてはいかがでしょうか。昔のROMやらソフトを抜き出して実行させるだけでもかなりスキルを
要すると思います。そのへんからウォーミングアップされるのが良いと思います


by iruka (2010-10-01 00:54) 

nekonoko

さらなる情報有り難う。

human68k と ちゃぷに さんですね。もっと調べてみます。
MB-S1ですともう資料は持っていません。
どちらにするか悩むところですが、
もっと調べてから決めることにします。
by nekonoko (2010-10-01 13:20) 

プー

はじめまして。
X68000 FPGA で検索したところヒットしたため見させていただきました。
DE0では難しいかも、と書かれていますがそのDE0で何とかならないか考えています。
SDRAMをバースト読み出しで一気に読み出せばビデオ表示は
なんとか追いつくので、あとはCPU用もバースト読み出しして
キャッシュに貯めるなりすればそこそこの速度が出るのではないかと
踏んでいます。
OpenCoresのMC68000バイナリ互換coreも
単体コンパイルで20MHz動作出来そうなので20MHz駆動すれば
キャッシュとあわせて初代実機程度の速度が出せないかと
予想しています。

ちなみに、AlteraのConfigデバイスはPSフォーマットであれば
出力ファイルをintel hexで出力し、I2C EEPROMに書いたものを
PICを使ってPSフォーマットに変えて起動に使う、ということを
行ったことがあります。
とても安上がりで書き換え回数も多いので重宝します。
DE0等で使っているCycloneのASデバイス(SPI flash)は
直接quartusからも書き換えできて安価、書き換え回数も多く
高速で便利になりました。
by プー (2013-11-17 14:07) 

コメントを書く

お名前:[必須]
URL:[必須]
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

メッセージを送る

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。