ロシアに近い例? 右の写真:25歳のマスコバイトであるイリヤネガノフは、2011年にハリス&ハリスの本(最新バージョンはこちらまたはここからダウンロードできます )を取り、シンプルなプロセッサーを設計し、現在Appleで動作し、GPUベリルで設計し、週末に飛行機に乗っています。 以下は、サンクトペテルブルクの新婚カップルで、頂点とFPGAカメラの画像処理を設計し、Innovate FPGAコンテストで賞を受賞しました。 彼らは新婚旅行をインテルのサンタクララにある本社で過ごしました。 キエフからのさらなる同志。2人はEuropean Innovate FPGAファイナルで銅メダルを獲得しました。 そして最後に、グレード5と9の2人の小学生が、ブレッドボード上の小さな集積度の超小型回路で最初の演習を行い、その後、ベリルとFPGAの演習に進みます。
これらは、学生から3番目のジェラルドウィリアムズまでの軌跡上の5つのポイントです。 デジタルマイクロ回路の設計に入るための最初の障壁はプログラミングに入ることよりも高いため、軌道は非常に重いです。 この投稿では、ロシア人および他の学生の軌道の最初のセクションを容易にする方法について説明します。
この2週間で、RUSNANO、Wave Computing、MIET、IVA Technologies、HSE MIEM、Amperka、Publishing House DMK-Pressの同僚グループが次のイベントを開催します。まず、学生は理論的なオンラインコースを受講します( トランジスタからマイクロサーキットまで 、 回路」 、 「デジタル回路の物理的側面」 )、いわゆるRTL2GDSIIルート(エンジニアが電子会社でチップを設計するために使用する技術のグループ)を知っています。 次に、FPGAの再構成可能なロジックマイクロ回路を使用して実用的なクラスを実施します。 このようにして、例えば、彼はコース6.111でMITを教えていますが、私たちはオリンピアードタイプの学童のために非常に基本的な形でそれを試みます。
理論的なコースは、レジスタ転送のレベルで設計理論を説明するための実践的なコースに時間を無駄にしないために重要ですが、FPGAカードで3時間2時間遊ぶだけで、それを持ち歩くことができます。 また、理論的なコースでは、FPGAの演習をASICチップを使用する大量生産製品にリンクしています。
実践的なコースは、VerilogとFPGAを使った演習を初心者にとって興味深く有用なものにする方法を見つけるための別の実験(以前の実験は、ニジニノヴゴロド、キエフ、アルマアタ、カザフスタン、ミンスク、ノボシビルスク、トムスク、イルクーツクのさまざまな教師によって行われました)。
わずかな集積度の超小型回路を備えたFPGAで演習する価値はありますか? このスコアにはさまざまな意見があります。サマラ大学の学部長であるイリヤ・クドリャフツェフは、それは価値がないと考えています。 IVA Technologiesのニューロチップ設計エンジニアであるスタニスラフ・ゼルニオは、それが価値のあるものだと考えています。 実際、学生または学校の学生は、ベリログがプログラム(一連の命令)ではなくスキームを記述し、CMOS 4000を使用した演習が正しい画像を脳に定着させるのに役立つことを直ちに明確に理解する必要があります。
回路ではなくプログラムであるかのようにVerilogで記述した場合、コードはシミュレータで動作しますが、合成されません。合成されたとしても、(タイミングまたはサイズの点で)クレイジーなスキームになります。
したがって、アプローチの1つは次のようになります:集積度の低い超小型回路(カウンター、シフトレジスタ、加算器、デコーダー)で回路を設計し、それをベリログで繰り返し、FPGAで合成して登録します。
ある人は言う:なぜ、画面上でマウスを使ってFPGAの図を描いて(模式的な入力)、ベリルでのエクササイズを行う前にそれをFPGAに入力しませんか? マウスのアプローチには3つの欠点があります。
- コンポーネントをブレッドボードに貼り付けるよりも時間がかかる学習ソフトウェアが必要です。
- ブレッドボード上のプルアップ抵抗なしでLEDが焼損したり、入力がフローティングになった経験は、回路図エントリでの滅菌経験よりも価値があります。
- デジタルロジック設計者は、1990年代初期から回路図エントリを使用していません;誰もがベリル、時にはVHDLに書き込みます。
はい、CMOS 4000と74XXは1970年代には時代遅れでしたが、PAL、GAL、PLD、そして統合チップに置き換えられました。 したがって、1970年代には子供のマグカップで使用され、1980年代には使用能力に対する賃金の支払いをやめたために流行しなくなりましたが、Dトリガー機能などをより明確に示す方法を誰も思いついていません。 FPGA / FPGAの前編として、それらを適用できます。 MITも同じことを行います 。 ラボ#1を参照してください 。
集積度の低い超小型回路とそれに相当するものをFPGAで検証した後、タスクを複雑にし、数十、数百、または数千の集積度の低い集積回路を1つのFPGAで実行できます。これについては後で説明します。
以下は、わずかな集積度を備えた超小型回路の組み合わせロジック、プライオリティエンコーダの例です。
そして、Verilogハードウェア記述言語でこの優先順位エンコーダがどのように見えるかは次のとおりです。
module priority_encoder ( input [2:0] in, output reg [1:0] out ); always @* begin casez (in) 3'b1?? : out = 2'd1; 3'b01? : out = 2'd2; 3'b001 : out = 2'd3; default : out = 2'd0; endcase end endmodule
, , :
:
-:
, SPI, I2C, UART , , , VGA. FPGA :
, .
VGA , .
— 7- , , 4x4, ( ), ( ).
- c , , Hacker's Delight.
, , . schoolMIPS.
- 17-19 . , — RUSNANO USA. , 3000 Sand Hill Road -. - Apple, Google Amazon.
- . , RTL2GDSII, , , , .