各ボードの詳細はこちらをご参照下さい。 この他にも、スイッチとLEDがそれぞれ4個以上搭載されているFPGAボードなら、ほぼ確実に動くと思われます。 いろいろな方への紹介文 本書の主な想定読者は、電気や回路や CPU について何も知らない方です。 しかし回路に詳しい方々からも、「こんな考え方があるのか!」という驚きの声を多数いただいております。 筆者として、本当に嬉しい限りです。 様々なバックグラウンドの方に楽しんでいただくために、以下に10通りの紹介文をひねり出したので、興味のある項目に目を通してもらえると幸いです。 電気や回路を全然知らない方へ プログラマーの方へ 情報学科の学生さんへ 論理回路を教えておられる先生方へ FPGAに挫折した経験のある方へ ハードウェア記述言語に詳しい方へ アナログ回路に詳しい方へ 物理に詳しい方へ 数学に詳しい方へ 人間の欲望を重視する方へ 電気や回路を
Googleがオープンソースで公開した高位合成処理系XLSをためしてみました。サンプルは https://github.com/google/xls/tree/main/xls/examples にあるのですが、Goっぽい感じでハードウェアが設計できる処理系のようです。XLS Tools Quick Startがあるのですが、何ができるのかよくわからなかったので試してみました。 手元の Ubuntu 20.04で動作確認をしました。ちなみに Ubuntu 20.04でもVivadoは普通につかえています。 ビルド リポジトリのREADME.md通りにビルドします。まずはInstalling Bazel on Ubuntuに従ってBazelのインストール。 $ sudo apt install curl gnupg $ curl -fsSL https://bazel.build/bazel
これまでのあらすじ : https://twitter.com/tanakmura/status/1280152564898557952 FPGAでHello World以上のものが書きたいという気持ちは前からあったので、この機会に少し実用的はHDLを書くことにした。 なにをやっているかの解説を書いておこう。 ソースは、 https://github.com/tanakamura/jisaku_pc_8088 ここにある(上のツイートでは、タイミング問題があってLED点灯しないことがあると書いてるが、これは多分改善してあるはず。) こういう昔のCPUは、CPU側の命令実行とバスが直結していて、ポインタ0x80 を読むと、CPUの足に、そのまま0x80が出てくる。それを正しくハンドリングして、有効な命令バイト列を返せば、8088を動かすことが可能だ。 この実装では、この足から出てくる信号をデ
We always marvel at how open-source tools can often outstrip their commercial counterparts. Yosys, the open-source tool for Verilog synthesis, is a good example. Although the Xilinx ISE design suite is something close to abandonware, a lot of people still use it because it supports older FPGAs the newer tools don’t. Its Verilog parser is somewhat slow to catch up to new standards, and according to
ChiselはScalaをベースにしたハードウェア記述言語で、より高位な記法を使ってハードウェアを設計しようという考え方を持っている。 しかし、どうしてもVerilogを使いたい場合、あるいはある部品は既存のVerilogで記述されたものを使いたいと思うときがある。 例えば、Chiselを使えばメモリも記述することができるが、実際にはSRAMに置き換えたい場合であったり、FPGAで推論しやすくするためにVerilogで書いたモジュールに置き換えたい場合がある。このような場合に、どのようにChiselを記述するのかについて調査した。 ChiselにVerilogを埋め込むためのBlackBoxモジュール ChiselにVerilogを埋め込むための方法は2つ存在する。 ブラックボックスのモジュールを作成し、モジュール内にインラインでVerilogを記述する。 ブラックボックスのモジュールを作
SNES on FPGAスーファミ開発のメモランダム DE2-115 FPGA board (1 chip SNES) スーファミは遊ぶためのもので、開発するためのものではありません。 SFC、つまりスーファミをFPGAで自作した、というお話。 ファミコンの時代、当時としては高い性能だったがそれ以上に実現できなかったクリエイターたちの世界が、 スーファミの時代になり少しずつ実現しつつあった(それはもうICが火を噴かんがごとく)。 デザイナー、バトルプログラマ、ドッター、サウンドプログラマ… 彼らの歴史の中で紡がれてきたものはなんだったのか。 スーファミ互換機の製作。それはスーファミにおいて最後のゲームとなる。 ▼ 開発環境 ハードウェア記述言語 SFL+、VerilogHDL、VHDL 使用FPGAボード Terasic DE1 2005~ Altera CycloneII 約18,000
A-Z80 A conceptual implementation of the Z80 CPU ------------------------------------------ for Altera, Xilinx and Lattice FPGAs This project is described in more details at https://baltazarstudios.com For additional information, read 'Quick Start' and 'Users Guide' documents in the 'docs' folder. Also read a 'readme.txt' file in each of the folders. Prerequisites ============= * Altera Quartus an
・Z80命令表 ・命令セットの説明 < 不完全版です、多分未だ「沢山の」間違いがあるでしょう。(w 欲しいという物好きな方は、右クリックで保存して下さい。 Z80の基礎となっている8080のコード一覧は以下の通り。 ・8080命令表 よく見ると、Z80が8080に色々と付け足したCPUであることが解ります。 上の命令表は検索エンジンで色々なサイトをごそごそと検索して出てきた資料を再編集した物です。 なんだがゴチャゴチャとしていて解りにくいですね。(w ・1.MSX.MS このサイトにあったコード一覧が非常に役立ちました。(CPUコード) CPU コード一覧(コード索引) CPU コード一覧(ニーモニック索引) ・2.復刻・懐古庵 Z80の系譜について書かれたページがあります。(μPD780余多話) 特に以下のCPU別命令セット表がZ80の動作を理解する上で非常に役立ちました。 ・μPD78
DE0で8bit CPUのデコーダを動かす1を見てなんとなく思ったことを書いてみます。 単に僕だったらこう書くなぁというだけで、こうした方が良いという話では無いです。 デコーダから信号を切りだそう。 ぱっとみて思ったのがalways @(code) begin〜endまでが長くて、最初は良いんだけど、途中で命令入れ替えたり、追加したりしていったら、僕なら間違えるだろうなと感じました。 まずは、独立してそうな信号op_dwに注目し切り出してみました。Verilogのソースを追いながら、命令とop_dwの関係をExcelにまとめるとこんな感じに。 オレンジが1、青が0です。色が不健康に見えるのは僕が今時のExcelの使い方をよく分かって無いからです。 この表を見ながらop_dwの部分だけmoduleにしました。 module decoder_dw( input [7:0] code, outp
A modern, functional, hardware description language Clash is a functional hardware description language that borrows both its syntax and semantics from the functional programming language Haskell. It provides a familiar structural design approach to both combinational and synchronous sequential circuits. The Clash compiler transforms these high-level descriptions to low-level synthesizable VHDL, V
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く