Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Pdp11 on-fpga

4,059 views

Published on

  • Be the first to comment

Pdp11 on-fpga

  1. 1. FPGA で動かすPDP­11  互換プロセッ サ Lions commentary on unix  読書会 2011 秋合宿
  2. 2. PDP­11 DEC が開発販売し ていたミ ニコ ン 16bit で数 100Kbyte から数 Mbyte 程度のメ モリ 当時のメインフレームに比較して安価 命令セッ ト が高級言語向けでエンジニアに好ま れた UNIX の開発プラ ッ ト フ ォ ームと し て有名 てな話をまわりにしても、「無反応」なので、芦ノ湖 畔の秘密結社の集会に持ち込む事にした
  3. 3. FPGA で PDP­11 が動く ? 某コミュニティの飲み会で @himamura さ んと 飲 んだと き に同席し た青年が、 東海大学出身で 学生時代で学生時代に FPGA で動く PDP­11 を作っていた!! 調べてみると東海大学清水研の pop­11 が見つか る
  4. 4. POP­11 http://labo.nshimizu.com/pop11.html PARTHENON SFL 言語 で記述 Design Wave Magazine 2003 July に解説記事あり 論理設計の素人がいき なり SFL と 言われても 、 資料も少ないし 断念
  5. 5. w11  もんもんと調べてみるとフリー IP を公開している OpenCores に w11 見つけた 今日の集会でははこ の w11 の入手、 動作さ せる ために機材、手順をまとめる
  6. 6. OpenCores にアカウ ント を作る OpenCores.org はフリーな IP を集めたサイト アカウントを作ってログインしたら  http://opencores.org/project,w11  へ
  7. 7. w11 の動作環境 FPGA ボード  Digilent S3BOARD  ま たは Digilent Nexys2   今回は S3BOARD を利用 Programmer  Bitstream を書き込むだけなら安価な USB プログ ラ マで可  今回は JTAG­SPI Full Speed を利用 USB­ シリ アル  FTDI コントローラを推奨を使ったもの
  8. 8. 開発環境の準備 Xilinx ISE WebPack のダウ ン ロード Programmer のイ ンスト ール その他以下を Ubuntu にイ ンスト ール  fxload   libusb­dev ghdl    tcl8.4­dev  libboost­all­dev
  9. 9. Xilinx ISE WebPack のダウ ン ロード 論理合成ツ ール Xilinx ISE WebPack WebPack はライセンス無料  http://www.xilinx.com/products/design­tools/ise­ design­suite/ise­webpack.htm Xilinx にアカウ ント を作成後 以下から Full Installer for Linux ダウンロード  今回は version 13.2 を利用  http://www.xilinx.com/support/download/index.htm 
  10. 10. Xilinx ISE WebPack のイ ンスト ール IDE のアーカイ ブを展開し たディ レ ク ト リ で  sudo ./xsetup  標準の /opt 以下へインストール Select Editon to Install の画面で  ISE WebPack を選択 環境設定フ ァ イ ル  .bashrc の最後に以下を追加 (64bit bash の場合 )  .    /opt/Xilinx/13.2/ISE_DS/settings64.sh
  11. 11. Programmer のイ ンスト ール 今回は digilent 社の JTAG­SPI Full Speed を利用  https://www.digilentinc.com/Products/Detail.cfm?NavPath=2,395,707&Prod=JTAG­USB­FS 他に、 次の URL の中から 選択すれば S3Board に 対応しているはず  https://www.digilentinc.com/Products/Catalog.cfm?NavPath=2,395&Cat=5 対応するツールを以下からダウンロード  https://www.digilentinc.com/Products/Detail.cfm?NavPath=2,66,828&Prod=ADEPT2  手順にしたがってインストール
  12. 12. W11 の論理合成 OpenCore から w11 をダウンロード  http://opencores.org/project,w11,installation  今回は w11a_V0.531    2011­09­12  rev 12 を使用  $ mkdir $HOME/w11a  $ cd  $HOME/w11a  $ svn co http://opencores.org/ocsvn/w11/w11/trunk 環境変数を 設定  $  export RETROBASE=$HOME/w11a  $  export PATH=$PATH:$RETROBASE/tools/bin  $  export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$RETROBASE/tools/lib RETOROBASE がプロジェ ク ト のベースデレ ク ト リ
  13. 13. 手順の概略1.ラ イ ブラ リ の調整2.テストベンチを構成3.実機向け bitstream を生成
  14. 14. ラ イ ブラ リ の調整 cd $RETROBASE $ xilinx_ghdl_unisim $ xilinx_ghdl_simprim
  15. 15. テスト ベン チを構成 ラ イ ブリ の不整合、 64bit 環境未対応など でコ ン パイルエラーが出ます テキトーに修正してください テキトーな修正でも欲しい方は @magoroku15 ま でD
  16. 16. 実機向け bitstream を作る bitstream は FPGA 上の構成を 指示する bit 列。 こ れの bitstream を ConfigROM( 最近は Flash ) に書き 込んで置く と 、 PON 時に指定の回路が 構成さ れる $ cd $RETROBASE/rtl/sys_gen/w11a/s3board $ make sys_w11a_s3.bit ./sys_gen/w11a/s3board/sys_w11a_s3.bit $RETROBASE/rtl/sys_gen/w11a/s3board/sys_w11 a_s3.bit  に bitstream ができ る
  17. 17. bitstream を FPGA に書き 込む$ djtgcfg enumFound 1 device(s)Device: JtagUsbFs    Product Name:   Digilent JTAG USB Full Speed    User Name:      JtagUsbFs    Serial Number:  210153238924$ djtgcfg prog  ­d JtagUsbFs ­i 0 ­f                  $RETROBASE/rtl/sys_gen/w11a/s3board/sys_w11a_s3.bitWARNING: startup clock for this file is CCLK instead of JTAG CLK.Problems will likely occur. Associate config file with device anyway (Y or N)? [N] yProgramming device. Do not touch your board. This may take a few minutes...Programming succeeded.
  18. 18. Unix version 5 を動かす disukset をダウンロード $ cd $RETROBASE/rtl/sys_gen/w11a/tb $ wget  http://www­linux.gsi.de/~mueller/retro/oc_w11/data/unix_v5_rkset.tgz $ tar xfovz unix_v5_rkset.tgz USB­232C ケーブルをつないで $ sudo $RETROBASE/tools/bin/set_ftdi_lat USB0 1 // lat 調整 $ telnet_starter ­d DL0 &  //DL を term に接続 $ dorri ­u0,460 @uv5_boot.pcmd
  19. 19. 実行環境  uv5_boot.pcmd   .mode serv11   att TT0 8000   reset   att rk0 unix_v5_rk.dsk  boot rk0  server  dorri       $ dorri ­s3 @uv5_boot.pcmd       (for ghdl sim of tb_w11a_s3)       $ dorri ­n2 @uv5_boot.pcmd       (for ghdl sim of tb_w11a_n2)       $ dorri ­t      @uv5_boot.pcmd   (fpga link via /dev/ttyS0)       $ dorri ­u0,460 @uv5_boot.pcmd  (fpga link via /dev/ttyUSB0)
  20. 20. 他の OS BSD 2.11  http://www­linux.gsi.de/~mueller/retro/oc_w11/data/211bsd_rkset.tgz  W11 は FPP をサポート し ていないので、 パッ チを適用 Version6, Version7  FPU パッ チを充てて、 RK DISK のでカーネルを再構成すれば動くはず  合宿でやり たかっ たけど、 到達でき ず  お詫びに
  21. 21. PDP­11 on FPGA Shoppes guide  2011 年3 月購入時  Spartan­3 Starter Board(1000K) $159.00   JTAG­USB Full Speed Module   $37.99  Subtotal:       $196.99  Shipping (UPS International):  $63.78  TOTAL: $260.77  USB­232 変換  1400 円  秋月 : 通販コード  K­01798 いま すぐ ポチッ

×