2017-02-01から1ヶ月間の記事一覧
OpenSPARC T1を動かす話の続き。どうにかしてPLI部のコードをリコンパイルし、ModelSimから読めるように変更してみたが、どうしてもVeraの吐き出すイベントファイルが必要なようで、Vera無しでは動作させることが難しい気がしてきた。 OpenSPARC T2もT1もVer…
OpenSPARC T1のPLI部を動かそうとしているのだが、ModelSim PLIがうまく動作せずに悩んでいる。土日にひたすら試行してたのだが、結局うまく行かなかった。 おそらく、自分でフルスクラッチで作るのだったら簡単に作れるのだろうが、今回はそうも行かず、Ope…
前回に引き続いて、OpenSPARC T1のシミュレーションを走らせていたが、それっぽい動作をしたものの、イマイチ有益なログを出さずにシミュレーションが終了してしまった。 $ tree . . ├── bypass_win:model_core1:core1_mini:0 │ ├── diag.s │ ├── efuse.img …
どうもOpenSPARC T2の調査が芳しくないので、一つ前に戻って、OpenSPARC T1について調査してみよう。 まず、simsコマンドについて調査していたのだが、VCS, NC-Verilog以外のシミュレータを使うための手段として、以下のサイトが参考になった。 abishekramda…
OpenSPARCの調査を引き続き行っている。前回のファイルリストを加工するために、OpenSPARCのシミュレーションスクリプトsimsをどうにかこうにか動かしながら、cmp1(SPARCコア1つ)を動作させるためのファイルリストを作った。 ちなみに、simsはOpenSPARCのシ…
RISC-Vプロセッサの実装もちょっと手詰まりになってきたので、少し気分転換に、他のプロセッサはどのように実装されているんだろう、というのが気になった。 フリーで入手できるそこそこ高性能なプロセッサとしては、OpenSPARCか、RISC-VのBOOMが存在するが…
1/29に受験したTOEIC試験の結果が公開された。結果としては、前回受験よりも10点ダウン。 下がってしまったのはしょうがないけれども、思ったより下がり幅が小さかったので一安心。 TOEICの新形式になり始めての受験だったが、問題形式が変更になったことと…
今までマラソンに出るときは、ソニーのBluetoothを使っていたのだけれど、レシーバが大きくてちょっと不便だった。 www.sonymobile.co.jp そこでマラソン用のイヤホンを購入した。Amazonでたくさん調べて、ヨドバシカメラをぐるぐる回って、結局ヨドバシカメ…
前回に引き続き、Sv32で動作させるときのテストパタンの動作について解析している。 RISC-Vのテストパタンは、基本的なテストを行うxxx.Sのアセンブラリストと、それを囲むプロローグとエピローグから構成されている。 中心となる検証用アセンブラリストは、…
いまいち実装が進んでいないが、Sv32とSv39のISSへの実装しなおしが完了した。 Sv32とSv39については、前回の記事を参考にして欲しい。 msyksphinz.hatenablog.com github.com 実装方法としては、まずはPTEを参照しながら上位の物理アドレスを生成していき、…
テストパタンのチェックをしていて、スーパバイザモードで例外が発生してもスーパバイザモードに留まっているパタンがおり、何が起きているのだろうと調べていると、以下のようなレジスタの仕様を発見した。 目的としては例外が発生した場合のコンテキストス…
前回の続きだが、前回はRedmineとGithubを同期させた。 msyksphinz.hatenablog.com 同じ仕組みで、RedmineとBitbucketを連携させることが出来る。同じように、bitbucketからdaemonアカウントを使ってgitリポジトリをダウンロードし、Redmineにリポジトリを関…
個人の開発を記録するためにRedmineを導入したが、githubとの連携をまだ実現していなかった。 githubとの連携を実現するための情報はたくさんあるが、bitnamiで構築したRedmineとgithubはどのように連携すればよいのだろうか?調査してみた。 実現したいこと…
自作ISSのテストパタンが通らなくなってきた! 特に仮想メモリを使っているパタンが通らなくなった。大昔に自作ISSに仮想アドレスから物理アドレスの変換を実装していたのだが、どうやら仕様がv.1.9.1で変わっているらしい。 もう一度チェックしてみよう。 …
ちょっと話が逸れるが、今回は組み込みシステムにおけるVMAとLMAの考え方についてまとめておく。 例えばリンカスクリプトなどを組み上げるとき、「CPUから見たアドレス」と「外部からデータをRAMに配置するときにみる領域」が違うことがある。 例えば、こん…
Intelがチップ間2.5D通信を採用したFPGAをISSCCで発表した。 www.eetimes.com まだ詳細は出て来ていないが、基本技術はEMIB(Embedded Multi-die Interconnect Bridge)というものらしい。 【後藤弘茂のWeekly海外ニュース】超広帯域メモリの採用を可能にするI…
FOSDEM17 というイベントでRISC-Vについての講演があるらしい。 FOSDEMというイベントはこれまで知らなかったのだが、"FOSDEM is a free event for software developers to meet, share ideas and collaborate"ということで、 主にオープンソースツールにつ…
前回の続きで、ROMにはさらにいくつかの情報を挿入しなければならない。0x1020から挿入しなければならないのが、以下のRISC-Vのコンフィグレーションに関する情報だ。 前回の記事で紹介した以下のものになる。 platform { vendor ucb; arch spike; }; rtc { …
前回の続き。Spike-ISSには通常のDRAM以外に別のメモリが貼り付けられていることが分かった。 今回焦点を当てたいのは0x1000に貼り付けられているROMらしきものだ。sim.ccには、以下のような記述でROMが生成されていた。 uint32_t reset_vec[8] = { 0x297 + …
前回の続きで、どうしても自作ISSとSpike-ISSの動作結果が一致しないところがあり、何が悪いんだろうと調べていた。 まず、spikeにはRISCV_ENABLE_COMMITLOGというログ出力用のフォーマットがある事は紹介した。 これだけでは情報としては不十分で、例えば実…
RISC-VにはUC-Berkeleyの開発した命令セットシミュレータであるSpikeが存在する。 github.com このSpikeというシミュレータ、高速でLinuxもブートできる優れものなのだが、欠点はログがほとんど見れず、プログラムが誤作動を起こしても何が起きているのかさ…