htkymtksのブックマーク (408)

  • Tang Nano 9K: Creating a Text Engine

  • Tang Nano 9K: Getting Setup

    In this article we will be going over how to get started developing for the Tang Nano FPGA using a fully open source toolchain. We will start with an overview of FPGAs and the toolchain required to develop them, we will then go through setting up your development environment and finish off with a simple example so we can test and verify that everything is working. What's an FPGA ?An FPGA is a type

    Tang Nano 9K: Getting Setup
  • Tang Nano 9K: Reading the External Flash

  • Tang Nano 9K: Our First CPU

  • FPGA Sipeed Tang Nano 9Kを使ってPSRAMへアクセス - かずの不定期便ブログ

    リーズナブルFPGAシリーズのTang Nano 9Kを使ってPSRAMへアクセスしました TERM表示 リーズナブルFPGAシリーズのTang Nano 9Kを使ってPSRAMへアクセスしました 1. PSRAMについて 2. コントローラの実装について PSRAMメモリーインターフェースIPの選択 チャネルインターフェースの仕様の確認 残念ポイント PSRAM体はどこに? 3. FPGA DesignerでPSRAMメモリーインターフェースIPの呼び出し 4. サンプル 4.1 Wishboneバス → PSRAM インターフェース ブリッジモジュール”brd_wb2ps.v" 4.2 picotiny.vの改造 4.3 PSRAMのメモリクロックをPLLで作成 4.4 PICORV32で実行させるファームウェアの作成 4.5 実行結果(TERM出力のコピーペースト。HDMI画像とし

    FPGA Sipeed Tang Nano 9Kを使ってPSRAMへアクセス - かずの不定期便ブログ
  • GitHub - zf3/psram-tang-nano-9k: An open source PSRAM/HyperRAM controller for Sipeed Tang Nano 9K / Gowin GW1NR-LV9QN88PC6/15 FPGA

  • RISC-V Platform-Level Interrupt Controller (PLIC)の制御方法について - Qiita

    FUJITSU アドベントカレンダー7日目の記事です 掲載内容は私個人の見解であり, 富士通グループを代表するものではありません。 また, 稿執筆にあたり, 細心の注意を払っておりますが, これらの情報の正確性, 十分性, 有用性, 確実性, 完全性等について一切保証いたしません。 稿に記載された情報の誤り, 不完全性またはその使用・不使用等によって生ずるいかなる損害, ダウンロード等によって生じたいかなる障害等についても, 賠償その他一切の責任を負いません。 元組込みエンジニアです。 今回は, RISC-Vの外部割込みコントローラの制御方法について紹介させていただきます。 RISC-Vとは RISC-Vとは, 米国カリフォルニア大学バークレイ校発祥のオープン標準の命令セット・アーキテクチャ (Instruction Set Architecture - ISA コンピュータに命令を与

    RISC-V Platform-Level Interrupt Controller (PLIC)の制御方法について - Qiita
  • RISC-VのPlatform Level Interrupt Controller (PLIC)について (1. 動作概要とレジスタ定義) - FPGA開発日記

    Platform Level Interrupt Controllerといい、コア外部から挿入される割り込みを処理するためのモジュールと考えてよい。当初PLICの仕様はRISC-Vの命令仕様と同様のグループで定義されていたが、命令仕様とは関係ないので分離して別ページで管理されている。 もう一つに多様な概念として、CLINT (Core Local Interrupt Controller)というものある。PLICとは異なり、コアのより近い場所で発生する割込みを処理するために使用する。 CLINTはタイマ割り込みとソフトウェア割り込み(コア間割り込みのようなもの)を制御するが、PLICは外部デバイスからの割り込みなど、もう少しシステムよりの割り込み処理を行う。 PLICが定義するレジスタ PLICは割り込みを処理するための単なる配線群ではない。システムからは複数の割り込みがCPUに対して挿入

    RISC-VのPlatform Level Interrupt Controller (PLIC)について (1. 動作概要とレジスタ定義) - FPGA開発日記
  • RISC-V OSを作ろう (3) ~ 割り込み - VA Linux エンジニアブログ

    はじめに RISC-Vの割り込み機能 割り込み発生時の動作 割り込み禁止 タイマ割り込み機能を実装する RISC-Vのタイマ割り込み トラップベクタの登録 割り込みスタック タイマハンドラの用意 タイマ割り込みを発生させてみよう タスクをゆっくり動かしてみる 最後に おまけ 執筆者 : 高橋 浩和 はじめに 今回は、RISC-V OSに割り込み機能を追加します。今回は割り込みハンドラを動作させるところまで実装します。 割り込みは、CPU上でタスク等が実行している命令とは関係なく非同期に発生します。 割り込みが発生すると、OSは発生した割り込みの種別に対応した割り込みハンドラを呼び出します。 割り込みとよく似たものに、CPU上でタスク等が実行している命令が要因となって発生する例外があります。 例外の扱いについては別の機会に説明したいと思います。 RISC-Vの割り込み機能 今回実装するOSで

    RISC-V OSを作ろう (3) ~ 割り込み - VA Linux エンジニアブログ
  • 2019 年度 CPU 実験 余興: Linux が動く RISC-V CPUを作る

    2019 年度 CPU 実験の最終発表会で使用したスライドです。 詳しくは https://diary.shift-js.info/building-a-riscv-CPU-for-linux をご覧ください。

    2019 年度 CPU 実験 余興: Linux が動く RISC-V CPUを作る
  • 音無もみじ緑地(松橋弁財天跡) | 東京とりっぷ

    東京都北区、JR王子駅近くを流れる石神井川の蛇行部分を利用した園地が、音無もみじ緑地。江戸時代、一帯は音無渓谷と呼ばれる景勝地で、石神井川の崖下にあった洞窟には松橋弁財天が祀られていましたが、今では護岸工事が施され、洞窟は壁のなかに隠れ、松橋弁財天跡となっています。 石神井川に面してワンド(川の入り江)が設けられ、川から入ってきた魚が繁殖できるようになっています。 石神井川の増水時と夜間は立入禁止。 深山幽谷の趣を有した石神井川には松橋弁財天のほか、弁天の滝もあり、江戸時代、江戸近郊の景勝地、紅葉の名所として知られ、断崖の上の金剛寺も「紅葉寺」として有名でした。 松橋弁財天には、空海(弘法大師)作と伝えられる弁財天像が祀られ、『新編武蔵風土記稿』に、安房(現在の南房総)で再起を図り、鎌倉を目指した源頼朝が太刀一振を奉納したとありますが、残念ながら、弁財天像も太刀も失われています。 松橋は当

    音無もみじ緑地(松橋弁財天跡) | 東京とりっぷ
    htkymtks
    htkymtks 2025/01/18
  • GitHub - amane-uehara/riscv-tests-description

  • 理情3Sの所感 - 犬小屋

    もう8月も終わりですが、いくつか成績が出てようやく3Sが終わった気持ちになってきたので備忘録として3Sをまとめておきます。理情ってどんなことをやってるのかなと参考になれば幸いです。 全体を通して 新型コロナウィルスの影響ですべての講義がオンラインとなりましたが、情報科学科は学科として先陣を切る思いで(?)4月の初週からオンライン講義を行いました。教員の方々もパソコンに弱いということはなく、滞りなくオンライン授業が行われました。 ほとんどの授業がスライドの画面を配信してそれの説明を行う形で、適宜別資料を写したり、画面に書き込んだりして説明をされていました。スライドは講義資料として配布されており、学生の要望もあってか、セメスターの後半には全ての座学の講義録画がITC-LMSから視聴可能になりました。講義の復習がしやすくとても快適でした。 3Sの時間割は2限に座学、(水曜を除いて)3, 4限に実

    理情3Sの所感 - 犬小屋
  • CPU実験: レイトレ画像デバッグ Ver.2 - Rho's works

    この記事は理情 Advent Calendar 2024 20日目の記事として書かれました。 前日の記事とともRhoがお送りします。 これは何? CPU実験の説明は省略します。ググればたくさん体験記が出てくるので CPU実験には様々なバグが付き物です。折角プログラムをコンパイルできたと思ったのに何かがおかしい、だとかシミュレーター上の実行命令が明後日の方向に飛んでいく、というのは日常茶飯事です(;;) 実験中盤以降ではレイトレのプログラムをコンパイルし動かすことが多いと思われます。その過程で集まった正しくない画像を紹介し、将来レイトレをデバッグする24+n erの一助となれば幸いです。 leptont.hatenablog.jp レイトレ画像デバッグは過去に記事があるので、この記事は(多分)第2弾です。過去のものは上をご参照ください。 正しい画像 正しい まごうことなき正解の画像です。10

    CPU実験: レイトレ画像デバッグ Ver.2 - Rho's works
  • RustでRISC-Vエミュレータを書いてNOMMU Linuxをブラウザで動かした | MaybeUnInit

    RustRISC-Vエミュレータを書いてNOMMU Linuxをブラウザで動かした #2023-05-23 以前からRISC-Vエミュレータを書いてみようと思っていたのだが、書いては飽きてを繰り返して全然進められずにいた。そんな中、以下のRepositoryで、rv32ima,Zifencei,Zicsr、あとはCLINTを実装すればLinuxが動くと知り、飽きずに進められそうな気がしてきたので今度こそ、と実装してみることにした。 https://github.com/cnlohr/mini-rv32ima目次成果物 #Repositoryは以下。記事では実装の概要の記載もあるが、簡略化していたり抜粋だったりするので適宜参照いただきたい。基的にはcoreというcrateが実装の中枢となっている。appはcoreにcliの皮を被せただけだ。 また以下にPlaygroundも用意した。

  • Horner法 - いまさらC言語

    例えば多項式 の値を求めるのに a*x*x*x + b*x*x * c*x + d とするよりも ((a*x + b)*x + c)*x + d とするほうが楽である。次の多項式であれば前者は ,後者は の計算量である。後者のような方法をHorner法という。これは組立除法という名前で高校でも習ったかもしれない。 の値と,多項式の次数 と, 個の係数の列とを与えて,Horner法で多項式の値を求めるプログラムを作れ。 (例えば 2 3 1 1 1 1 を与えると 15 を出力する。) (例えば 2 0 7 を与えると 7 を出力する。)

    Horner法 - いまさらC言語
  • Arctanのマクローリン展開の3通りの方法 | 高校数学の美しい物語

    ∣x∣≤1|x|\leq 1∣x∣≤1 なる実数 xxx について, Arctan x=x−x33+x55−x77+⋯\mathrm{Arctan}\:x=x-\dfrac{x^3}{3}+\dfrac{x^5}{5}-\dfrac{x^7}{7}+\cdotsArctanx=x−3x3​+5x5​−7x7​+⋯ 冒頭の公式をシグマを使って書くと, Arctan x=∑n=1∞(−1)n−12n−1x2n−1=x−x33+x55−x77+⋯\begin{aligned} \mathrm{Arctan}\:x &= \sum_{n=1}^{\infty}\dfrac{(-1)^{n-1}}{2n-1}x^{2n-1}\\ &= x-\dfrac{x^3}{3}+\dfrac{x^5}{5}-\dfrac{x^7}{7}+\cdots \end{aligned}Arctanx​=n=1∑∞​2

    Arctanのマクローリン展開の3通りの方法 | 高校数学の美しい物語
  • 2 アークタンジェントの展開式

    まず、アークタンジェントのマクローリン展開式を紹介する。 なお、タンジェントの逆関数であるアークタンジェントは、 や と書かれることもあるが、 稿では統一して と書くことにする。 またマクローリン展開式も、 定義通りの微分による計算では規則性を見出すのが難しいので、 ここでは別な方法で求めることにする。 無限等比数列の和の公式 で () とすると が成り立つ。これを、 である に対し から まで積分すると、

    2 アークタンジェントの展開式
  • 平方根のアルゴリズム

    平方根である。sqrtである。私の数学知識は非常に乏しく、かろうじて平方根の何たるかを解するばかりであるが、ふと、平方根を計算するアルゴリズムが知りたくなった。理由は、constexprなsqrtを実装してみたくなったからだ。 日語では、いい情報がWeb上に存在しないので、ここに書いておく次第。この説明は、私のように数学の知識を持たない人間にも理解できるはずである。 ここで使うのは、バビロニア人の方法(Babylonian method)と呼ばれている、歴史あるアルゴリズムである。この方法は、手動でも、プログラミングでも、非常に簡単に計算できる、大変便利で汎用的なアルゴリズムである。しかも、速度もそれほど遅くない。 √Sに対して、 任意の正の整数を初期値X0と定める(できるだけ平方根に近い値が望ましい) Xn+1を、Xnと S / Xnの平均値とする(平均値は相加平均で求める) 必要な精

  • 平方根の高速化とマジックナンバー - Qiita

    平方根の高速化とマジックナンバー この記事はアドカレに参加しています。 平方根 $\sqrt{a}$という形が平方根ですね。$a^{\frac{1}{2}}$と書くこともできます。この平方根、グラフィック系のプログラムなんかでめちゃくちゃ見かけますし、それだけ使います。AIの分野でも頻繁に使用するみたいです。 数回程度sqrt関数を呼び出す程度ならあまり気になりませんが、何千回、何万回、何億回もsqrt関数を呼び出すと、その計算速度の遅さに辟易します。 そこで、多少の精度を捨ててでもsqrt関数を高速化しようとしたのがfast sqrt algorithmと呼ばれるアルゴリズムです。この記事はそんなアルゴリズムの紹介です。 fast sqrt algorithmは精度面でも速度面でも最良ではないです。基的に低レベルな命令セットの方が精度を保ちつつも高速な場合が多いです。(僕の環境では、c

    平方根の高速化とマジックナンバー - Qiita