SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
FPGA で動かす
PDP­11  互換プロセッ サ

   Lions commentary on unix  読書会
   2011 秋合宿
PDP­11
   DEC が開発販売し ていたミ ニコ ン
   16bit で数 100Kbyte から数 Mbyte 程度のメ モリ
   当時のメインフレームに比較して安価
   命令セッ ト が高級言語向けでエンジニアに好ま
     れた
   UNIX の開発プラ ッ ト フ ォ ームと し て有名
   てな話をまわりにしても、「無反応」なので、芦ノ湖
     畔の秘密結社の集会に持ち込む事にした
FPGA で PDP­11 が動く ?
   某コミュニティの飲み会で @himamura さ んと 飲
     んだと き に同席し た青年が、 東海大学出身で
     学生時代で学生時代に FPGA で動く PDP­11
     を作っていた!!
   調べてみると東海大学清水研の pop­11 が見つか
     る
POP­11
   http://labo.nshimizu.com/pop11.html
   PARTHENON SFL 言語 で記述
   Design Wave Magazine 2003 July に解説記事あり
   論理設計の素人がいき なり SFL と 言われても 、
     資料も少ないし


   断念
w11 
   もんもんと調べてみるとフリー IP を公開している
     OpenCores に w11 見つけた
   今日の集会でははこ の w11 の入手、 動作さ せる
     ために機材、手順をまとめる
OpenCores にアカウ ント を作る
   OpenCores.org はフリーな IP を集めたサイト
   アカウントを作ってログインしたら
         http://opencores.org/project,w11  へ
w11 の動作環境
   FPGA ボード
          Digilent S3BOARD  ま たは Digilent Nexys2 
          今回は S3BOARD を利用
   Programmer
          Bitstream を書き込むだけなら安価な USB プログ
             ラ マで可
          今回は JTAG­SPI Full Speed を利用
   USB­ シリ アル
          FTDI コントローラを推奨を使ったもの
開発環境の準備
   Xilinx ISE WebPack のダウ ン ロード
   Programmer のイ ンスト ール
   その他以下を Ubuntu にイ ンスト ール
         fxload 
         libusb­dev ghdl  
         tcl8.4­dev
         libboost­all­dev
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 
Xilinx ISE WebPack のイ ンスト ール
   IDE のアーカイ ブを展開し たディ レ ク ト リ で
          sudo ./xsetup
          標準の /opt 以下へインストール
   Select Editon to Install の画面で
          ISE WebPack を選択
   環境設定フ ァ イ ル
          .bashrc の最後に以下を追加 (64bit bash の場合 )
          .    /opt/Xilinx/13.2/ISE_DS/settings64.sh
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

         手順にしたがってインストール
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 がプロジェ ク ト のベースデレ ク ト リ
手順の概略
1.ラ イ ブラ リ の調整
2.テストベンチを構成
3.実機向け bitstream を生成
ラ イ ブラ リ の調整
   cd $RETROBASE
   $ xilinx_ghdl_unisim
   $ xilinx_ghdl_simprim
テスト ベン チを構成
   ラ イ ブリ の不整合、 64bit 環境未対応など でコ ン
     パイルエラーが出ます
   テキトーに修正してください
   テキトーな修正でも欲しい方は @magoroku15 ま
     でD
実機向け 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 ができ る
bitstream を FPGA に書き 込む
$ djtgcfg enum

Found 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.bit

WARNING: 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] y

Programming device. Do not touch your board. This may take a few minutes...

Programming succeeded.
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
実行環境
        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)
他の OS
   BSD 2.11
            http://www­linux.gsi.de/~mueller/retro/oc_w11/data/211bsd_rkset.tgz
            W11 は FPP をサポート し ていないので、 パッ チを適用
   Version6, Version7
            FPU パッ チを充てて、 RK DISK のでカーネルを再構成すれば動くはず
            合宿でやり たかっ たけど、 到達でき ず



            お詫びに
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



        いま すぐ ポチッ

Mais conteúdo relacionado

Mais procurados

AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解MITSUNARI Shigeo
 
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料一路 川染
 
冬のLock free祭り safe
冬のLock free祭り safe冬のLock free祭り safe
冬のLock free祭り safeKumazaki Hiroki
 
GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -zgock
 
条件分岐とcmovとmaxps
条件分岐とcmovとmaxps条件分岐とcmovとmaxps
条件分岐とcmovとmaxpsMITSUNARI Shigeo
 
C#や.NET Frameworkがやっていること
C#や.NET FrameworkがやっていることC#や.NET Frameworkがやっていること
C#や.NET Frameworkがやっていること信之 岩永
 
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたIntro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたMITSUNARI Shigeo
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門Fixstars Corporation
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門Fixstars Corporation
 
Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解するKenji Urushima
 
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺Xbyakの紹介とその周辺
Xbyakの紹介とその周辺MITSUNARI Shigeo
 
FPGAアクセラレータの作り方
FPGAアクセラレータの作り方FPGAアクセラレータの作り方
FPGAアクセラレータの作り方Mr. Vengineer
 
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門masayoshi takahashi
 
FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたFPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたTakefumi MIYOSHI
 
PHP の GC の話
PHP の GC の話PHP の GC の話
PHP の GC の話y-uti
 
プログラマ目線から見たRDMAのメリットと その応用例について
プログラマ目線から見たRDMAのメリットとその応用例についてプログラマ目線から見たRDMAのメリットとその応用例について
プログラマ目線から見たRDMAのメリットと その応用例についてMasanori Itoh
 

Mais procurados (20)

AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解
 
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
 
冬のLock free祭り safe
冬のLock free祭り safe冬のLock free祭り safe
冬のLock free祭り safe
 
GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -
 
条件分岐とcmovとmaxps
条件分岐とcmovとmaxps条件分岐とcmovとmaxps
条件分岐とcmovとmaxps
 
C#や.NET Frameworkがやっていること
C#や.NET FrameworkがやっていることC#や.NET Frameworkがやっていること
C#や.NET Frameworkがやっていること
 
llvm入門
llvm入門llvm入門
llvm入門
 
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたIntro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
 
Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解する
 
明日使えないすごいビット演算
明日使えないすごいビット演算明日使えないすごいビット演算
明日使えないすごいビット演算
 
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺Xbyakの紹介とその周辺
Xbyakの紹介とその周辺
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
FPGAアクセラレータの作り方
FPGAアクセラレータの作り方FPGAアクセラレータの作り方
FPGAアクセラレータの作り方
 
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
 
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
 
FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたFPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみた
 
PHP の GC の話
PHP の GC の話PHP の GC の話
PHP の GC の話
 
プログラマ目線から見たRDMAのメリットと その応用例について
プログラマ目線から見たRDMAのメリットとその応用例についてプログラマ目線から見たRDMAのメリットとその応用例について
プログラマ目線から見たRDMAのメリットと その応用例について
 

Semelhante a Pdp11 on-fpga

Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めCell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めYou&I
 
Displaylink : Reloaded
Displaylink : ReloadedDisplaylink : Reloaded
Displaylink : ReloadedMasataka Kondo
 
RでGPU使ってみた
RでGPU使ってみたRでGPU使ってみた
RでGPU使ってみたKazuya Wada
 
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築yaegashi
 
pkgsrc とは何か? - よもやま話
pkgsrc とは何か? - よもやま話pkgsrc とは何か? - よもやま話
pkgsrc とは何か? - よもやま話Akio OBATA
 
Open-FCoE_osc2011tokyofall_20111119
Open-FCoE_osc2011tokyofall_20111119Open-FCoE_osc2011tokyofall_20111119
Open-FCoE_osc2011tokyofall_20111119metamd
 
Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Xilinx SDSoC(2016.2)解体新書ソフトウェア編Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Xilinx SDSoC(2016.2)解体新書ソフトウェア編Mr. Vengineer
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMFAtomu Hidaka
 
45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄Yukio Saito
 
NetBSD/evbarm on Raspberry Pi
NetBSD/evbarm on Raspberry PiNetBSD/evbarm on Raspberry Pi
NetBSD/evbarm on Raspberry Pitokudahiroshi
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825hiro345
 
Xilinx SDSoC(2016.3)解体新書ソフトウェア編
Xilinx SDSoC(2016.3)解体新書ソフトウェア編Xilinx SDSoC(2016.3)解体新書ソフトウェア編
Xilinx SDSoC(2016.3)解体新書ソフトウェア編Mr. Vengineer
 
20110715 osc2011 kyoto
20110715 osc2011 kyoto20110715 osc2011 kyoto
20110715 osc2011 kyotoYamauchi isamu
 
201104016 osc2011 kobe
201104016 osc2011 kobe201104016 osc2011 kobe
201104016 osc2011 kobeYamauchi isamu
 
スタート低レイヤー #0
スタート低レイヤー #0スタート低レイヤー #0
スタート低レイヤー #0Kiwamu Okabe
 
OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)Satoshi Shimazaki
 

Semelhante a Pdp11 on-fpga (20)

Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めCell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始め
 
Displaylink : Reloaded
Displaylink : ReloadedDisplaylink : Reloaded
Displaylink : Reloaded
 
How to run P4 BMv2
How to run P4 BMv2How to run P4 BMv2
How to run P4 BMv2
 
RでGPU使ってみた
RでGPU使ってみたRでGPU使ってみた
RでGPU使ってみた
 
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
 
pkgsrc とは何か? - よもやま話
pkgsrc とは何か? - よもやま話pkgsrc とは何か? - よもやま話
pkgsrc とは何か? - よもやま話
 
Open-FCoE_osc2011tokyofall_20111119
Open-FCoE_osc2011tokyofall_20111119Open-FCoE_osc2011tokyofall_20111119
Open-FCoE_osc2011tokyofall_20111119
 
about DakotagUI
about DakotagUIabout DakotagUI
about DakotagUI
 
Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Xilinx SDSoC(2016.2)解体新書ソフトウェア編Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Xilinx SDSoC(2016.2)解体新書ソフトウェア編
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
 
Riscv+fpga200606
Riscv+fpga200606Riscv+fpga200606
Riscv+fpga200606
 
45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄
 
NetBSD/evbarm on Raspberry Pi
NetBSD/evbarm on Raspberry PiNetBSD/evbarm on Raspberry Pi
NetBSD/evbarm on Raspberry Pi
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825
 
Xilinx SDSoC(2016.3)解体新書ソフトウェア編
Xilinx SDSoC(2016.3)解体新書ソフトウェア編Xilinx SDSoC(2016.3)解体新書ソフトウェア編
Xilinx SDSoC(2016.3)解体新書ソフトウェア編
 
20110715 osc2011 kyoto
20110715 osc2011 kyoto20110715 osc2011 kyoto
20110715 osc2011 kyoto
 
201104016 osc2011 kobe
201104016 osc2011 kobe201104016 osc2011 kobe
201104016 osc2011 kobe
 
スタート低レイヤー #0
スタート低レイヤー #0スタート低レイヤー #0
スタート低レイヤー #0
 
InfiniBand on Debian
InfiniBand on DebianInfiniBand on Debian
InfiniBand on Debian
 
OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)
 

Mais de magoroku Yamamoto

Mais de magoroku Yamamoto (20)

Deep learning入門
Deep learning入門Deep learning入門
Deep learning入門
 
波形で見るBig.little
波形で見るBig.little波形で見るBig.little
波形で見るBig.little
 
自動並列化コンパイラをAndroidに適用してみた
自動並列化コンパイラをAndroidに適用してみた自動並列化コンパイラをAndroidに適用してみた
自動並列化コンパイラをAndroidに適用してみた
 
Oscar compiler for power reduction
Oscar compiler for power reduction Oscar compiler for power reduction
Oscar compiler for power reduction
 
Unix v6 セミナー vol. 5
Unix v6 セミナー vol. 5Unix v6 セミナー vol. 5
Unix v6 セミナー vol. 5
 
仮想記憶入門 BSD-4.3を例題に
仮想記憶入門 BSD-4.3を例題に仮想記憶入門 BSD-4.3を例題に
仮想記憶入門 BSD-4.3を例題に
 
V6 unix vol.2 in okinawa
V6 unix vol.2 in okinawaV6 unix vol.2 in okinawa
V6 unix vol.2 in okinawa
 
Adk2012
Adk2012Adk2012
Adk2012
 
Android binder-ipc
Android binder-ipcAndroid binder-ipc
Android binder-ipc
 
V6 unix in okinawa
V6 unix in okinawaV6 unix in okinawa
V6 unix in okinawa
 
ぐだ生システム#2
ぐだ生システム#2ぐだ生システム#2
ぐだ生システム#2
 
ぐだ生って何
ぐだ生って何ぐだ生って何
ぐだ生って何
 
Android builders summit slide tour
Android builders summit slide tourAndroid builders summit slide tour
Android builders summit slide tour
 
第4回名古屋Android勉強会資料
第4回名古屋Android勉強会資料第4回名古屋Android勉強会資料
第4回名古屋Android勉強会資料
 
Poorman’s adk トレーナ
Poorman’s adk トレーナPoorman’s adk トレーナ
Poorman’s adk トレーナ
 
20分でわかった事にするパワーマネジメント
20分でわかった事にするパワーマネジメント20分でわかった事にするパワーマネジメント
20分でわかった事にするパワーマネジメント
 
Poormans sdk
Poormans sdkPoormans sdk
Poormans sdk
 
Ngk2011 b
Ngk2011 bNgk2011 b
Ngk2011 b
 
オレオレ家電
オレオレ家電オレオレ家電
オレオレ家電
 
V6read#4
V6read#4V6read#4
V6read#4
 

Pdp11 on-fpga

  • 1. FPGA で動かす PDP­11  互換プロセッ サ  Lions commentary on unix  読書会  2011 秋合宿
  • 2. PDP­11  DEC が開発販売し ていたミ ニコ ン  16bit で数 100Kbyte から数 Mbyte 程度のメ モリ  当時のメインフレームに比較して安価  命令セッ ト が高級言語向けでエンジニアに好ま れた  UNIX の開発プラ ッ ト フ ォ ームと し て有名  てな話をまわりにしても、「無反応」なので、芦ノ湖 畔の秘密結社の集会に持ち込む事にした
  • 3. FPGA で PDP­11 が動く ?  某コミュニティの飲み会で @himamura さ んと 飲 んだと き に同席し た青年が、 東海大学出身で 学生時代で学生時代に FPGA で動く PDP­11 を作っていた!!  調べてみると東海大学清水研の pop­11 が見つか る
  • 4. POP­11  http://labo.nshimizu.com/pop11.html  PARTHENON SFL 言語 で記述  Design Wave Magazine 2003 July に解説記事あり  論理設計の素人がいき なり SFL と 言われても 、 資料も少ないし  断念
  • 5. w11   もんもんと調べてみるとフリー IP を公開している OpenCores に w11 見つけた  今日の集会でははこ の w11 の入手、 動作さ せる ために機材、手順をまとめる
  • 6. OpenCores にアカウ ント を作る  OpenCores.org はフリーな IP を集めたサイト  アカウントを作ってログインしたら  http://opencores.org/project,w11  へ
  • 7. w11 の動作環境  FPGA ボード  Digilent S3BOARD  ま たは Digilent Nexys2   今回は S3BOARD を利用  Programmer  Bitstream を書き込むだけなら安価な USB プログ ラ マで可  今回は JTAG­SPI Full Speed を利用  USB­ シリ アル  FTDI コントローラを推奨を使ったもの
  • 8. 開発環境の準備  Xilinx ISE WebPack のダウ ン ロード  Programmer のイ ンスト ール  その他以下を Ubuntu にイ ンスト ール  fxload   libusb­dev ghdl    tcl8.4­dev  libboost­all­dev
  • 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. 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. 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. 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. 手順の概略 1.ラ イ ブラ リ の調整 2.テストベンチを構成 3.実機向け bitstream を生成
  • 14. ラ イ ブラ リ の調整  cd $RETROBASE  $ xilinx_ghdl_unisim  $ xilinx_ghdl_simprim
  • 15. テスト ベン チを構成  ラ イ ブリ の不整合、 64bit 環境未対応など でコ ン パイルエラーが出ます  テキトーに修正してください  テキトーな修正でも欲しい方は @magoroku15 ま でD
  • 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. bitstream を FPGA に書き 込む $ djtgcfg enum Found 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.bit WARNING: 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] y Programming device. Do not touch your board. This may take a few minutes... Programming succeeded.
  • 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. 実行環境  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. 他の 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. 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 いま すぐ ポチッ