ARMプロセッサとFPGAを搭載したzedboard(ザイリンクスZynq-7020)で乱数を生成する最速の方法は何でしょうか。私の理解では、どちらもこれを実行できます。
ありがとう、
FPGAのみ、またはベアメタルアプリケーション+ FPGAプロジェクトを開発している場合は、FPGAで(疑似)乱数を生成します。Linuxを使用していて、組み込みアプリケーションとFPGAを構築している場合は、ソフトウェアで数値を生成します。
FPGAで番号を生成すると、ザイリンクスISEに組み込まれているコードテンプレートを使用できます。まだZynqをサポートしているものは他にないと思うので、ISEを使用している可能性があります。
ISEで次のようにLFSRを生成します。上部のメニューから:[編集]->[言語テンプレート]。言語テンプレートのツリービュー:(VHDLまたはVerilog)->合成コンストラクト->コーディング例->カウンター->LFSR。4つのテンプレートの1つは32ビットです。シード番号とクロックラインを提供する必要があります。
Linuxアプリから乱数を生成する場合、これを行うにはさまざまな方法が必要です。Cアプリケーションから、cstdlibにrand関数があります。
あなたはおそらく「線形フィードバックシフトレジスタ」またはLFSRを探しています。簡単なインターネット検索で詳細を確認できます。
線形フィードバックシフトレジスタは、間違いなく乱数を生成する最も簡単な方法です。次のドキュメントを確認してください。http ://www.xilinx.com/support/documentation/application_notes/xapp052.pdf 必要なものはすべて揃っています。