20Q3.02A高位合成で加速するアクセラレータ開発 (5) ~ 高位合成と C ベース設計 3章 高位合成と Alveo を使い、ビジネスとして成立するレベルのアクセラレータを短期間で開発するために、開発フロー全体の中に C ベース設計をどう位置付ければいいのか、考えていきます。 2020.12.1620Q3.02A
20Q3.07AFPGA で作る暗号は危険? (5) みなさんこんにちは。本シリーズ「FPGA で作る暗号は危険 ?」では、FPGA 内で暗号機能を実現する方法とその危険性を解説しています。今回は前回取り上げた公開鍵暗号に対するサイドチャネル攻撃を解説します。また、本シリーズの最終回になりますので、暗号以外も含めたセキュリティについても少し紹介します。 公開鍵暗号に対するサイドチャネル攻撃 第3回で紹介した AES 暗号に対するサイドチャネル攻撃と異なり、公開鍵暗号に対するサイドチャネル攻撃は簡単かつ短時間で行うことができる危険な攻撃... 2020.12.1520Q3.07A
20Q3.06BFPGA と予測不可能性と乱数 (5) FPGA 向けの真性乱数生成器 (TRNG) の設計法に関するコースも今回が最終回です.今回も、SR ラッチを禁止状態から保持状態へと移行させた時の挙動 (メタスタビリティ) を利用した TRNG を扱います。前回と異なるのは、最終的な出力ではなくメタスタビリティが解消されるまでの時間 (発振の回数) に注目する点です。 なお、この記事で紹介する TC-TERO (Three-path Configurable TERO) 型 TRNG に関する論文 は、FPGA 関連の世界最大級の国... 2020.12.1420Q3.06B
20Q3.05BFPGA を用いた「組合せ問題」の高速計算(5) 前回は、最大クリーク問題専用 Dist アルゴリズムの FPGA 実装について述べました。 今回は、実装と性能評価の結果、および、このハードウェアの改良すべき点について述べ、連載を締めくくりたいと思います。 性能評価 実装結果 実装には、台湾の TUL 社製の XIL-ACCEL-RD-KU115 ボードを使用しました 。このボードには、Xilinx 社の Kintex Ultrascale KU115 が搭載されています。4096頂点、400万 エッジのグラフを処理可... 2020.12.1120Q3.05B
20Q3.04Aそもそも「FPGA」って何なんですか? (5) 前回までの説明で FPGA (小人さん) を動かすための仕組みについて大雑把な話をしてきました。小人さんは流れ作業で仕事をするので、データフローのような記述をするとちゃんと変換できます。しかし、プログラム言語からハードウェア記述言語に変換する高位合成ツールは、少し難しいことをしていました。さらに、配置配線ツールは時間が掛かります。さて、最終回である今回は、これまであいまいにしてきた小人さんの正体に迫っていきたいと思います。 CPU はなぜプログラムを実行できる? 第一回でも説明しま... 2020.12.1020Q3.04A
20Q3.03BFPGA の高速シリアルトランシーバ (5) この連載もついに最終回です。前回は Xilinx の Transceiver Wizard で Aurora 64B/66B から送られてくる初期化シーケンスを受信するところまで見てきました。今回は初期化シーケンスを最後まで進め、データを送受信するところまでシミュレーションしてみます。 今回はデータの送信機能は実装せず、Xilinx のコアからのデータを受信するだけにとどめますが、入出力インタフェイスやクロック周りなどをしっかり実装すれば合成可能な実装に応用することもできます。前回の記事... 2020.12.0920Q3.03B
20Q3.01BAXI でプロセッサとつながる IP コアを作る (5) AXI を使ってプロセッサと連携する回路の設計例について説明するコースも、いよいよ最終回となりました。今回は、前回作成したインタフェース変換回路を使い、専用計算回路 (コプロセッサ) の一例としてステンシル計算コプロセッサを作成し、C 言語によるソフトウェア実装と性能を比較してみます。 なお、第4回~第5回で使用する回路の SystemVerilog 記述は、GitHub からダウンロードできるようにしています。今回は、主に stencil/hdl/stencil_opt.sv を取り上... 2020.12.0720Q3.01B
20Q3.07AFPGA で作る暗号は危険? (4) みなさんこんにちは。本シリーズ「FPGA で作る暗号は危険 ?」では、FPGA 内で暗号機能を実現する方法とその危険性を解説していきます。 前回までは共通鍵暗号 (AES 暗号) を中心に FPGA への実装方法やサイドチャネル攻撃について解説しました。今回からは公開鍵暗号について触れていきます。 ただし、公開鍵暗号については具体的な暗号の実装方法というよりも効率的な処理を行うために欠かせない処理を解説していきます。 今回の記事は数式が多い内容になりますが、決して難しい数学ではない... 2020.12.0120Q3.07A