カテゴリ:PCとか( 141 )

Vscale-chip 修正

こんな感じに変更します。もともとHREADYは1サイクル遅れで返して、その場合はXbar内に保持したリクエストに差し替えていました。のつもりがあれ?そんな論理どこにも無いぞ??そうするつもりでまだやっていなかったのか?そりゃ動くはずがない。
f0054075_18471537.png
いやいや、ほかにもいろいろ変だぞ。V-scale は HREADY ネゲートのサイクルで前のリクエストを再送している。こんな感じで普通に動いていました。HREADYの次のサイクルに再送じゃないのか?上の図で合っているよね?
f0054075_18500259.png
そんなわけで、Xbar は HREADY を1サイクル早くして、V-scale の中は HREADY を1サイクル遅らして、プロトコル通りになりました。そして命令フェッチストールが1サイクル余分に出る件は、該当論理を削除しただけで一応動いているみたいです。
これで一応、バス周りの既知バグはなくなりました。わかってみると簡単な話ですが、チップのシミュレータを作ったからこそ発見できたのではないかと思います。また、例外キャンセルもめちゃくちゃですが、こっちは見なかったことにします。
元の論理がかなり混乱しているうえに、さらに適当な修正をしたのでめちゃくちゃになってしまっています。というか、今でも原作者の意図は理解できていません。今の構成はスレーブがHREADYを落とすことがないので、それには対応できないかもしれんせん。もう、他人の物は捨てて、1から作り直そうかなぁ。

[PR]
by tom01h | 2017-07-02 00:41 | PCとか | Trackback | Comments(0)
まだ仮止めですが、大体の完成形です。ひっこめた状態と、最大に引き出した状態。このままで置いておくとテープが剥がれます。ちゃんと固定すれば使いやすいものになるはず… ただ、買った板が薄すぎたか、結構しなって嫌な感じです。
f0054075_11383222.jpgf0054075_11381031.jpg
もう写真は撮りませんが、ちゃんとねじ止めしました。やはり全体的にやわでゆがみますが、まぁ、いい感じにできたと思います。

[PR]
by tom01h | 2017-07-01 19:52 | PCとか | Trackback | Comments(0)

机の加工中

普通これって机の下に付ける物ですよね。でもそれだと低すぎるし、ちょっとだけ引き出して使うことも出来ないので、上に付けることにしました。あまり綺麗にカット出来ないって事もあるし、見た目は格好悪いですが、結構便利なのが出来そうですよ。
f0054075_23212843.jpg

[PR]
by tom01h | 2017-06-29 23:29 | PCとか | Trackback | Comments(0)

スライドレール購入

本棚に置いたPCにスライド式のキーボードテーブルを追加したいと思います。スライドレールと板を買ったのですが、板の方は加工が必要なので、作業は後日かな。送ってきた段ボールで実物合わせの寸法を測ってみました。こんな感じのができるはずです。綺麗にできたらいいな。
f0054075_21210293.jpgf0054075_21210365.jpg

[PR]
by tom01h | 2017-06-28 21:50 | PCとか | Trackback | Comments(0)
V-scale のコア外は Vivado に任せてみようと思った目論見は失敗に終わりました。AHB Xbar を自力で直すしかないみたいです。
AHB Xbar が難しいことになっているのは、無駄にタイミングを気にしているせいだと気づきました。マスタ→バス→スレーブの転送は許しているのに、マスタ→バス→マスタの調停の信号は1サイクル転送を許していません。このせいでXbarの設計が無駄に難しくなっています。設計を簡単にするために、調停の信号も1サイクル転送を許せばよいかと。
がしかし、HREADYは多分受けてから結構いっぱい使っているよなぁ。遅くなるのは必至です。これはV-scaleを直すべきか?うだうだ考えていたら、リクエストホールド用のREADYとリードデータ用のREADYが混ざっているのが悪いのではないかとの考えに至る。AXI Lite にするとARREADY と RVALID に分かれるのでタイミング設計がしやすくなるかも?

[PR]
by tom01h | 2017-06-26 20:57 | PCとか | Trackback | Comments(0)
続きです。
スレーブIPを2個にしてみました。
f0054075_23511737.png
が、シミュレーションに反映されませんよ。Generate Output Products とやらを選ぶのかな?かなり悩んで試行錯誤の結果、やっと出来るようになったけど…
f0054075_22003597.png
おせ~~~~ なんじゃこりゃ?こんなにレイテンシでかいんじゃ、お手軽自動生成のインターコネクトはめったな事じゃ使えませんねぇ。仕様書にもちゃんと、リクエストのレイテンシは2サイクルって書いてありました。使うの諦めましょう。

[PR]
by tom01h | 2017-06-25 00:48 | PCとか | Trackback | Comments(0)
次のPDFファイル Vivado IP インテグレーターへのカスタム AXI IP の組み込み に従って、AXI Lite のマスタとスレーブIPを作ってみます。vivado のバージョンが違うのでいろいろ違うけど、細かいことは気にしないで進みます。
1つのフォルダで複数のIPを作ると上手く行かない?まぁ、普通はそんな事しないと思うので、IP毎にフォルダを分けてみましょう。
vivadoip/ ← IPを使ってみるプロジェクト用のフォルダ
vivadoip/axi_lite_slave/ ← axi_lite_slave IP 用のフォルダ
vivadoip/axi_lite_master/ ← axi_lite_master IP 用のフォルダ
出来ました。
f0054075_13011785.png
最初は自動で連結してもらったんだけど、バスとか、リセット・クロックコントローラとかいっぱい生成されて大変なことになったので、手で繋ぎなおしました。ちなみにリセットの極性を間違えていたのですが、シミュレーションする以前から、これ反対なんじゃない?って指摘してきました。すげーなぁ。
して、シミュレーションもPDF通りに進めて行けば出来ます。Vivado Simulator は使い慣れないんですが…
f0054075_13281717.png

なんか遅い。これ参考にしちゃうと、すごく遅いIP作りそうだ… 勉強するのもめんどいしなぁ。
ひとまず適当にマスターのライトを速くしてみた。IPを修正しても、全体のプロジェクトには簡単には反映されないみたい。いろいろ試した結果、IPのプロジェクトも開いておいて、変更したら Re-Package IP を押す。全体のプロジェクトでシミュレーションを閉じると、Refresh IP Catalog を押せって言ってくるので押す。更新した IP を選択して、Upgrade Selected を押す。そのあと、シミュレーションのやり直し。
2サイクルかかるのは、スレーブのせいだと思います。ラッチが推論されている気がするけどまぁ良いよね。
f0054075_16541149.png
Vivado 17.2 が出てますね。ダウンロード中…

[PR]
by tom01h | 2017-06-24 17:34 | PCとか

GeForce 1030

グラボ買いました。最新のGeForce 1030搭載です。まぁ、廉価版です。ゲームやらないし、グラフィックスの性能なんていらないんだけど、4K60Hzを出すために買いました。待ちに待った、安物4K60Hzが遂に登場したのです。
f0054075_20060541.jpg
刺して電源ONで、いきなり4K60Hz出てますよ。でも音が出ない。しかも、あんま速くない。あぁ、Microsoft基本ディスプレイアダプターだって。こんなんでも4K出るのか。
ドライバが自動でインストールされたら再起動。60Hzは快適ですねぇ。別に4Kじゃなければ60Hzなんて普通なんだけど、改めて60Hzに感動します。
ちなみに18日にアマゾンで注文しました。1~2か月待ちだったんです。正直、本当にこれ欲しいのか自信持てなかったので、気持ちが冷めたらキャンセルつもりでしたが、全然待たずに3日で来ました。買うのを悩んだ理由は他にもあって、デスクトップPCがこれまた安物で、電源も排熱も全然ダメって話なんです。まぁ、それは追々分るでしょう。

[PR]
by tom01h | 2017-06-21 20:52 | PCとか | Trackback | Comments(0)
次のFPGAマガジンはRISC-Vみたいです。
[PR]
by tom01h | 2017-06-16 22:52 | PCとか | Trackback | Comments(0)

git の覚書…

git の覚書…

ファイルパーミッションの違いを無視する
$ git config core.filemode false
ノンベアをベアリポジトリに変更する
$ git config core.bare true
新たにベアリポジトリをクローンするのは
$ git clone --bare nonbare-repository bare-repository.git

[PR]
by tom01h | 2017-06-15 21:23 | PCとか | Trackback | Comments(0)