FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

2015-09-01から1ヶ月間の記事一覧

GeForce 780 Ti でのcudaGetDeviceProperties の結果

GPU

CUDA by Example 汎用GPUプログラミング入門作者: Jason Sanders,Edward Kandrot,株式会社クイープ出版社/メーカー: インプレスジャパン発売日: 2011/02/14メディア: 単行本(ソフトカバー)購入: 1人 クリック: 36回この商品を含むブログ (11件) を見る も…

EmacsのVerilogモードで、AutoConnectビット幅を制御する(Lispと繋げるときの注意)

自分でも時々悩むのだが、Verilog-modeでAUTO_TEMPLATEを使って、さらにLispで信号名を制御したいときは、どこまでをLispとして取り合つかうかに注意しよう。 例えば、ポートに接続される信号名を正規表現で生成して、それをさらに全てdowncaseにしたいとす…

「自作エミュレータで学ぶx86アーキテクチャ」を(とりあえず)読了

「自作エミュレータで学ぶx86アーキテクチャ」を買った - FPGA開発日記msyksphinz.hatenablog.com 自作エミュレータで学ぶx86アーキテクチャ-コンピュータが動く仕組みを徹底理解!作者: 内田公太,上川大介出版社/メーカー: マイナビ発売日: 2015/08/28メディ…

EmacsのVerilogモードで、AutoConnectビット幅を制御する(基本編)

Emacsには標準でVerliog-modeというものが付いており、Verilog-HDLのいろんな部分を自動生成してくれる。 僕が最も気に入っている機能は、サブモジュールを自動的にインスタンス化してくれる機能だ。 pulsar2_top #(/*AUTOINSTPARAM*/) pulsar2_top_0 (/*AUT…

ISSのバイナリロードが遅い問題を解決する (stl::vector, stl::set, stl::mapを試す)

ISSでxv6のバイナリをロードすると、ロードだけで現在1分近く掛っている。 現在、バイナリをロードするためのメモリには、0x1000バイト分のメモリブロックを、STLのvectorを使って連結している。 msyksphinz/swimmer_riscvgithub.com class Memory { private…

ISSにUARTのモジュールを追加する

xv6

UARTのモジュールを追加して、xv6の実行時の動作を観察できるようにしよう。 xv6のスタートアップルーチンを見てみると、UARTの初期化をしている。 さらに、uart.cを見てみると、Intel 8250というUARTのモジュールを想定していることが分かった。 mit-pdos/x…

CPUのランダムテスト生成について調査

CPU

せっかくISSが良い感じに仕上がってきたので、RTLを検証するためのツールの一つであるランダムテスト生成について調査してみた。 ランダムテスト生成として僕が知っているのは Obsidianくらいだが、これは確かARMに買収されてしまった。 ARM、将来のARMプロ…

バイナリのロードがすごく遅いので何が起きているのか調査(解析編)

ISS

xv6のバイナリをISSで実行しているが、最初のバイナリのロードでもの凄く時間がかかっている。 ロードだけで1分くらいはかかっているように感じる。 msyksphinz/xv6-mipsgithub.com msyksphinz/swimmer_riscvgithub.com まずは、Google Perftoolsを使って、…

中国製MIPS64 CPU "龍芯3号"

CPU

MIPSの動きが最近ちょっと面白い。 ARMとx86のコードが走る中国製の高性能MIPS64 CPU「龍芯3号」 - PC Watchpc.watch.impress.co.jp New MIPS64-based Loongson processors break performance barrier - Imagination Blogblog.imgtec.com 中国製のMIPS64対応…

「自作エミュレータで学ぶx86アーキテクチャ」を買った

自作エミュレータで学ぶx86アーキテクチャ-コンピュータが動く仕組みを徹底理解!作者: 内田公太,上川大介出版社/メーカー: マイナビ発売日: 2015/08/28メディア: 単行本(ソフトカバー)この商品を含むブログを見る ちょうどISSを実装している最中だし、ナイ…

MIPSのシステムレジスタをISSに実装する(1)

という訳で、MIPSのシステムレジスタをISSに実装し始めた。といっても、中身は空っぽで、読み出しと書き込みの機構を接続する。 msyksphinz/swimmer_riscvgithub.com MIPSでは、MFC0/MTC0という命令を使ってシステムレジスタ(コプロセッサ0)にアクセスする。…

MIPSのシステムレジスタを実装するための環境変更

前回、xv6の実装を確認するためにISSをバイナリで実行させたが、システムレジスタを実装していないことや、いくつかの命令を実装していないことが問題になった。 (そのときは緊急回避したが)。 xv6の起動プロセスを追い掛けるためのシミュレータの準備 - FPG…

xv6の起動プロセスを追い掛けるためのシミュレータの準備

xv6

xv6の起動方法を追い掛ける - FPGA開発日記msyksphinz.hatenablog.com 前の記事ではあまりにも中身が無かったが、今回も作業ログで中身が無い。 xv6のコンパイル結果のバイナリ 調べてみると、xv6でコンパイルしたコードの中で、オブジェクトとして残ってい…

HotChipsで発表されたRISC-V実装

CPU

HotChipsでRISC-Vのバリエーションについて発表されたそうな。 RISC-V at HotChips | RISC-V BLOG 内容については、RISC-V Workshopで発表されたものとほぼ同一なのだと思う。 2nd RISC-V Workshop http://riscv.org/workshop-jun2015/riscv-raven-workshop-…