FPGA開発日記

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

2016-01-01から1年間の記事一覧

年末だしブログの情報を回収してワードクラウドを作ろう2016

年末年始だなんて、別に特別なことも無く、特にまとめる必要もない!と思っていたのだけれども、今年の初日に書いたブログの記事を読み直して驚愕した! msyksphinz.hatenablog.com ZedBoardを用いて、ARM & PLDを用いたシステムの構築。要素技術の構築とし…

Zeitgeist 半導体 2016 ~買収で振り返る半導体業界2016~

2016年は、2015年に引き続き半導体業界は買収に揺れた一年であった。2015年程ではないが、2016年の大きな買収のニュースが何件も発表され、業界の再編が進んでいる。 2016年の最後に、2015年、2016年に起きた半導体業界の再編を、買収報道を振り替えりながら…

アウトオブオーダプロセッサの性能解析(アウトオブオーダ命令発行の性能解析)

CPU

自作CPUの性能解析およびリグレッションをしているのだが、アウトオブオーダ発行のところで少し怪しいところを見つけた。 命令発行スロットに格納された命令は、どのように発行されるのだろうか。 一般的に命令発行スロットに複数命令が格納される場合、ここ…

EmacsのExuberant Ctags導入試行(Verilog-HDLで使いものになるか?)

普段の開発には主にEmacsを使っているのだが、良くある事例として現在参照しているモジュールがどこにあるのか分からなかったり、この定数がどこから定義されているのか分からなかったりすることが良くありますよね。 ソフトウェアの世界だと、これらの関数…

「ハードウェア開発、CPUアーキテクチャ」Advent Calendarが終了しました

qiita.com 12/01から始めた「ハードウェア開発、CPUアーキテクチャ」Advent Calendar、全ての日でエントリが埋まり、無事に終了しました。 まずはご協力頂いた皆様、どうもありがとうございました。皆様のご協力がなければ、25日全てを埋めることは不可能で…

128bitまで対応したRISC-VエミュレータでLinuxが動く (しかも超高速)

ダウンロードとビルド riscvemuを動作させる riscvemuの実行方法 risvemuを利用したSimple Linuxの起動 Fedoraのディスクイメージでの起動 シレっとRISC-Vメーリングリストに投稿されたこれ、QEMUの開発者でもあるFabrice BellardがRISC-Vの128bitモードまで…

RISC-Vのテストパタンセット riscv-tests

最近はほとんどテストベンチのメンテナンスを行っていなかったのだが、Privileged Instructions v1.9.1に対応させるために、久し振りにriscv-testsを使ったISSのリグレッションを実行してみた。 しばらくずっと触っていなかったのだけれども、昔メンテナンス…

RocketChip RISC-V実装RTLにてベンチマークを計測する(2. -O3によるCoremarkコンパイル)

前回の続き、-O3によるコンパイルでISSシミュレーション実行できたため、今度は自作RISC-Vプロセッサを使って、Coremarkを計測してみよう。 msyksphinz.hatenablog.com msyksphinz.hatenablog.com 1. 32ビットモードGCCの準備 2. シミュレーション結果 3. IP…

RocketChip RISC-V実装RTLにてベンチマークを計測する(2. -O3によるCoremarkコンパイル)

これは「ハードウェア開発、CPUアーキテクチャ」Advent Calendar... ではありません。 前回中途半端に終わった、Coremarkの測定試行についてもう少し調査したのでそれをまとめたい。 msyksphinz.hatenablog.com msyksphinz.hatenablog.com -O3でコンパイルす…

ハードウェア記述言語Chiselイントロダクション

この記事は ハードウェア開発、CPUアーキテクチャ Advent Calendar 2016 - Qiita の20日目の記事です。 ハードウェア開発、CPUアーキテクチャ Advent Calendarも、25日分ほぼ埋まってきました。あともう少し、各担当者の皆様、頑張りましょう! Chiselをどの…

高位合成言語イントロダクション

この記事は ハードウェア開発、CPUアーキテクチャ Advent Calendar 2016 - Qiita の19日目の記事です。 ハードウェア開発、CPUアーキテクチャ Advent Calendarも、25日分ほぼ埋まってきました。あともう少し、各担当者の皆様、頑張りましょう! 1. そもそも…

「ローグ・ワン スターウォーズ ストーリー」を見てきた

スターウォーズ大好きです。 映画館に入るときに貰ったミニポスター。ちゃんとした袋に入れて渡して欲しかったなあ。帰るまでにちょっと曲がっちゃったよ。。。 去年もEpisode-7は公開初日のレイトショーに行ってしまったし、合計で3~4回は見に行った気がす…

「アジャイルサムライ」買いました。ハードウェア開発がアジャイルになるためには。

以前からずっと気になっていた、「アジャイルサムライ」を買った。 アジャイルサムライ−達人開発者への道−作者: Jonathan Rasmusson,西村直人,角谷信太郎,近藤修平,角掛拓未出版社/メーカー: オーム社発売日: 2011/07/16メディア: 単行本(ソフトカバー)購…

BOOM RISC-V実装RTLにてベンチマークを計測する

この記事は ハードウェア開発、CPUアーキテクチャ Advent Calendar 2016 - Qiita の16日目の記事です。 Advent-Calendarを埋めてくれるかた、今からでも募集中です!是非参加してください! 僕一人では、クオリティのある記事を続けられそうにありません。。…

RISC-V 5th Workshopの発表紹介 (RISC-V Vector Extension)

この記事は ハードウェア開発、CPUアーキテクチャ Advent Calendar 2016 - Qiita の15日目の記事です。 Advent-Calendarを埋めてくれるかた、今からでも募集中です!是非参加してください! 僕一人では、クオリティのある記事を続けられそうにありません。。…

RocketChip RISC-V実装RTLにてベンチマークを計測する

この記事は ハードウェア開発、CPUアーキテクチャ Advent Calendar 2016 - Qiita の14日目の記事です。 Advent-Calendarを埋めてくれるかた、今からでも募集中です!是非参加してください! 僕一人では、クオリティのある記事を続けられそうにありません。。…

RISC-VのOoOプロセッサ、BOOMの性能を読み解く(2)

この記事は ハードウェア開発、CPUアーキテクチャ Advent Calendar 2016 - Qiita の13日目の記事です。 Advent-Calendarを埋めてくれるかた、今からでも募集中です!是非参加してください! 僕一人では、クオリティのある記事を続けられそうにありません。。…

RISC-VのOoOプロセッサ、BOOMの性能を読み解く(1)

この記事は ハードウェア開発、CPUアーキテクチャ Advent Calendar 2016 - Qiita の9日目の記事です。 Advent-Calendarを埋めてくれるかた、今からでも募集中です!是非参加してください! 僕一人では、クオリティのある記事を続けられそうにありません。。…

組み込み向けプロセッサの性能評価指標、ベンチマークを動作させる

この記事は ハードウェア開発、CPUアーキテクチャ Advent Calendar 2016 - Qiita の9日目の記事です。 Advent-Calendarを埋めてくれるかた、今からでも募集中です!是非参加してください! 僕一人では、クオリティのある記事を続けられそうにありません。。…

CPUの性能を測る基準、ベンチマークについて

CPU

この記事は ハードウェア開発、CPUアーキテクチャ Advent Calendar 2016 - Qiita の8日目の記事です。 Advent-Calendarを埋めてくれるかた、今からでも募集中です!是非参加してください! 僕一人では、クオリティのある記事を続けられそうにありません。。…

RISC-V 5th Workshopの発表紹介 (Fast Instruction Set Simulator)

この記事は ハードウェア開発、CPUアーキテクチャ Advent Calendar 2016 - Qiita の7日目の記事です。 Advent-Calendarを埋めてくれるかた、今からでも募集中です!是非参加してください! 僕一人では、クオリティのある記事を続けられそうにありません。。…

RISC-V 5th Workshopの発表紹介 (Time Traveling Coherence Algorithm)

この記事は ハードウェア開発、CPUアーキテクチャ Advent Calendar 2016 - Qiita の6日目の記事です。 Advent-Calendarを埋めてくれるかた、今からでも募集中です!是非参加してください! 僕一人では、クオリティのある記事を続けられそうにありません。。…

個人が趣味で技術書を翻訳するという意義について

この記事は 技術翻訳 Advent Calendar 2016 - Qiita の4日目の記事です。 突然の参加ですが、趣味で技術翻訳を長年続けてきた立場から、思うことやこれから技術翻訳を行う人にアドバイスが出来たらなと思う。 1. これまで翻訳してきた技術書 2011年-2012年 2…

RISC-Vの特権命令まとめ

この記事は ハードウェア開発、CPUアーキテクチャ Advent Calendar 2016 - Qiita の5日目の記事です。 Advent-Calendarを埋めてくれるかた、今からでも募集中です!是非参加してください! 僕一人では、クオリティのある記事を続けられそうにありません。。…

RISC-Vアーキテクチャの実装についてまとめ

この記事は ハードウェア開発、CPUアーキテクチャ Advent Calendar 2016 - Qiita の2日目の記事です。 Advent-Calendarを埋めてくれるかた、今からでも募集中です!是非参加してください! 僕一人では、クオリティのある記事を続けられそうにありません。。…

RISC-Vについて改めて

この記事は ハードウェア開発、CPUアーキテクチャ Advent Calendar 2016 - Qiita の1日目の記事です。 Advent-Calendarを埋めてくれるかた、今からでも募集中です!是非参加してください! 僕一人では、クオリティのある記事を続けられそうにありません。。…

自作プロセッサの性能解析とその対策(7. コンパイラ最適化オプションの調整)

CPU

前回の記事で、-O3付きでコンパイルできないという問題が残っていたのだが、それを何とか回避できないか試行してみた。 そもそも-O3とはどのようなオプションなのだろうか?調査してみると、-O2に対して以下の最適化オプションを追加したものが-O3らしい。 g…

自作プロセッサの性能解析とその対策(6. コンパイラの最適化オプション追加とそれによる性能変化)

CPU

だんだんネタも無くなってきたので、CoremarkをRISC-VのGCCでコンパイルするにあたり、本当に最適なオプションになっていたのかを調査してみようと思う。 以前までのCoremarkは、以下のオプションでコンパイルしていた。 PORT_CFLAGS = -O2 -g $(MACHINE_TAR…

自作プロセッサの性能解析とその対策(5. タグフォワーディング)

CPU

リザベーションステーションを実装していると、連続して同じレジスタを使うような命令が連続する場合、通常の実装ではどうしてもストールが1サイクル入ってしまう問題があった。 上記のような演算器の実装をしていると、どうしても演算器の結果の直後にFFが…

CUIからVivadoを立ち上げて論理合成するためのスクリプト

自作RISC-Vプロセッサの設計もおおよそ完了してきたので、FPGA向けに論理合成する環境を構築している。 GUIを立ち上げてボタンをポチポチ押すのはあまり好きではないので、VivadoをCUIで立ち上げて動作させる環境を構築した。 VivadoのtclはDesign Compiler…