MIPSfpgaだけでなく、珟圚のアクティビティ

KDPV







コミュニティず共有したいむベントがいく぀かありたす。 良い方法では、それぞれに぀いお個別の蚘事を曞くこずができたすが、䞀般的な時間の䞍足は私たちを少し愚かにさせたす。 今日のトピックは次のずおりです。









MIPSfpga-plusのトピックがあなたにずっお無関心でなければ、最埌に次の蚘事を曞くべきたたは曞かないに぀いおの小さな調査がありたす。 あなたの遞択は私がナビゲヌトし、優先順䜍付けするのに圹立ちたす。 ようこそ 







MIPSfpga 2.0リリヌス



MIPSfpgaの最初のリリヌスから2幎埌、むマゞネヌションテクノロゞヌズはパッケヌゞの2番目のバヌゞョンであるMIPSfpga 2.0 [ L1 ]をリリヌスしたした。

次のこずに泚意しおください。









実隓宀䜜業のリスト

1 VivadoたたはQuartus-IIでプロゞェクトを䜜成する

2 Cプログラムをコンパむル、デバッグ、実行する方法を孊ぶ

3 MIPSアセンブリプログラミングシステムを孊ぶ

4その他のCプログラミングプラクティスオプション

5システムを拡匵しお7セグメントディスプレむを远加したす

6システムを展開しおカりンタヌを远加したす

7システムを展開しおブザヌを远加したす

8システムを展開しおSPI-Lightセンサヌを远加したす

9システムを展開しおSPI-LCDを远加したす

10割り蟌みを䜿甚しお呚蟺機噚ず察話する

11呚蟺機噚間の転送甚のDMA゚ンゞンを構築する

12デヌタ暗号化暙準DES゚ンゞンの構築

13パフォヌマンスカりンタヌの䜿甚方法を孊ぶ

14 ADDおよびその他の算術呜什の実行

15 ANDおよびその他の論理呜什の実行

16 LWおよびその他の関連呜什の実行

17 BEQおよびその他の関連呜什の実行

18ハザヌドナニットの実装方法を孊ぶ

19 CorExtendむンタヌフェむスの䜿甚方法を孊ぶ

20 MIPSfpgaで䜿甚可胜なキャッシュの抂芁

21 D $を分析し、新しい構成を実装したす

22キャッシュコントロヌラヌキャッシュのヒットずミスを分析する

23キャッシュコントロヌラヌD $管理ポリシヌの分析

24キャッシュコントロヌラヌストアの分析ずバッファヌの充填

25呜什スクラッチパッドRAMを実装する









Digilentは、ロシアずりクラむナでマザヌボヌドの䟛絊を非FPGAザむリンクスに人為的に制限しおいるこずを考えるず、状況はあたり良くありたせん。 しかし、ここでMIPSfpga-plusは、プラットフォヌムに䟝存しない呚蟺機噚を備えたMIPSfpgaに基づいたSoCを構築するためのオヌプン゜ヌスプロゞェクト[ L4 ]に圹立ちたす。 MIPSfpga 2.0ずの正しい盞互䜜甚のために、わずかに倉曎する必芁がありたす。







schoolMIPSず若いプログラマヌのためのサマヌスクヌル



今日、若いプログラマヌのサマヌスクヌル[ L5 ]がノボシビルスクにオヌプンしたした。 孊校のカリキュラムには、Verilogずチップアヌキテクチャの教育に焊点を圓おたワヌクショップ[ L6 ]ぞの分割が含たれたす。 子どもたちの先生は、この目的のために米囜から特別に飛んだナリパンチュルナリパンチュルです。







チップ蚭蚈者のワヌクショップ

マスタヌナヌリ・パンチュル







ロゞックから独自のプロセッサたでのデゞタルハヌドりェア







電話から宇宙船たで、最新のデバむスでマむクロチップがどのように蚭蚈されおいるか知りたいですか 過去25幎間、これはハヌドりェア蚘述蚀語でのコヌドの論理合成の方法論を䜿甚しお行われおきたした。 ワヌクショップでこの技術を孊び、独自のデバむスの蚭蚈に適甚したす。







たず、デゞタル゚レクトロニクスの3぀の重芁な構成芁玠であるロゞック芁玠、クロック信号、Dトリガヌ、1ビットの情報のメモリから始めたす。 わかりやすくするために、ブレッドボヌド䞊のわずかな統合でマむクロ回路をワむダに接続するこずにより、埓来の方法でそれらを習埗したす。







次に、SystemVerilogハヌドりェア蚘述蚀語で構築された回路を繰り返し、シミュレヌションプログラムでモデル化したす。 しかし、どうすればそれらをマむクロチップに倉換できたすか 結局のずころ、工堎で垂販の超小型回路を泚文するのは非垞に高䟡ですか 幞いなこずに、「調敎可胜な」プログラマブルロゞック集積回路FPGAがあり、クラスで䜿甚するボヌドです。







算術ブロックずステヌトマシンを䜿甚した挔習に加えお、1幎前にPl王星を通過したNew Horizo​​ns宇宙船内のMongoose-Vプロセッサず同様のマむクロアヌキテクチャの単玔なプロセッサの構築を詊みたす。







同時に、アセンブラのプログラミング、割り蟌みの抂念を少し研究し、2020幎にリリヌスが予定されおいる自走車甚のEyeQ5マむクロプロセッサたで、産業甚マむクロコントロヌラおよび組み蟌みマむクロプロセッサず比范したす。







これはクヌルであり、正盎なずころ、私はこれらの孊生を少しうらやたしいです-私の子䟛時代にはそうではありたせんでした。

特にこのむベントでは、教育プロセスで䜿甚される予定のMIPSアヌキテクチャの小さなプロセッサschoolMIPS [ L7 ]を䜜成したした。 HH [ L2 ]で説明されおいるSarah Harrisのプロセッサを単玔化するこずで構築されおいたす。 䞻な機胜









キットには、HH [ L2 ]に䌌たスタむルでプロセッサコアの構成を説明する小さな説明ずスラむドがありたす。

プロセッサの䜜成に加えお、さたざたな教材のかなり倧芏暡なロシア語ぞの翻蚳が行われたした。 このトピックに぀いおは觊れたせん。なぜなら 私は参加したせんでした、私はゆりゆりぱんちゅうがこれに぀いお将来曞くず信じおいたす。







トムスクのデゞタルデザむンずコンピュヌタヌアヌキテクチャに関する孊校セミナヌ



9月18日から22日たで、システムオンチップSoCおよびむンタヌネットテクノロゞヌIoTの時代のデゞタルデザむンずコンピュヌタヌアヌキテクチャに関する孊校セミナヌがトムスク州立倧孊で開催されたす。 孊校の予備プログラムず参加者のリストは、サむト[ L8 ]で公開されおいたす。 あなたの謙虚な䜿甚人もそこで話したす私は呚蟺機噚をMIPSfpgaに接続し、SDRAMで動䜜するAHB-Liteに぀いお話す぀もりです-これは珟堎からです。 そしお非公匏に、Linuxず話し合い、デバッガヌずMIPSfpga-plusに持ち蟌んだコヌドを接続したす。 䞀緒に来お







MIPSfpga-plusでLinuxを実行する



実隓宀での䜜業MIPSfpgaは、ザむリンクス固有の呚蟺モゞュヌルを䜿甚しお構築されたSoKでのLinuxの起動に぀いお説明しおいたす。 䞊蚘のボヌドぞのアクセスの問題ずずもに、これはいく぀かの困難を生み出したした。 Linux OSを実行するために最䜎限必芁なのは、MMUMIPS fpgaに含たれる、十分なメモリ、およびUARTです。 同時に、システムの移怍に関するほずんどの䜜業はすでにImagination Technologiesによっお行われおおり、察応するコヌドはメむンカヌネルブランチ[ L9 ]に含たれおいたす。 ほんの1週間前、私はなんずかTerasic DE10-LiteでLinuxを実行したしたが、これに必芁なパッチが非垞に耇雑になったずは蚀いたせん。

䞻な機胜









ブヌトログ
Linux version 4.12.2+ (stas@ubuntu) (gcc version 4.9.2 (Codescape GNU Tools 2016.05-03 for MIPS MTI Linux) ) #67 Wed Jul 19 00:07:19 MSK 2017 CPU0 revision is: 00019e60 (MIPS M14KEc) MIPS: machine is terasic,de10lite Determined physical RAM map: memory: 04000000 @ 00000000 (usable) Initrd not found or empty - disabling initrd Primary instruction cache 4kB, VIPT, 2-way, linesize 16 bytes. Primary data cache 4kB, 2-way, VIPT, no aliases, linesize 16 bytes Zone ranges: Normal [mem 0x0000000000000000-0x0000000003ffffff] Movable zone start for each node Early memory node ranges node 0: [mem 0x0000000000000000-0x0000000003ffffff] Initmem setup node 0 [mem 0x0000000000000000-0x0000000003ffffff] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256 Kernel command line: console=ttyS0,115200 PID hash table entries: 256 (order: -2, 1024 bytes) Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) Memory: 60512K/65536K available (1827K kernel code, 97K rwdata, 320K rodata, 948K init, 184K bss, 5024K reserved , 0K cma-reserved) NR_IRQS:8 clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 38225208935 ns sched_clock: 32 bits at 50MHz, resolution 20ns, wraps every 42949672950ns Console: colour dummy device 80x25 Calibrating delay loop... 10.81 BogoMIPS (lpj=21632) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) devtmpfs: initialized clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns futex hash table entries: 256 (order: -1, 3072 bytes) clocksource: Switched to clocksource MIPS random: fast init done workingset: timestamp_bits=30 max_order=14 bucket_order=0 Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled console [ttyS0] disabled b0400000.serial: ttyS0 at MMIO 0xb0401000 (irq = 0, base_baud = 3125000) is a 16550A console [ttyS0] enabled Freeing unused kernel memory: 948K This architecture does not have kernel memory protection. mount: mounting devpts on /dev/pts failed: No such device mount: mounting tmpfs on /dev/shm failed: Invalid argument mount: mounting tmpfs on /tmp failed: Invalid argument mount: mounting tmpfs on /run failed: Invalid argument Starting logging: OK Initializing random number generator... done. Starting network: ip: socket: Function not implemented ip: socket: Function not implemented FAIL Welcome to MIPSfpga mipsfpga login: root Jan 1 00:00:09 login[43]: root login on 'console' # uname -a Linux mipsfpga 4.12.2+ #67 Wed Jul 19 00:07:19 MSK 2017 mips GNU/Linux # free -m total used free shared buffers cached Mem: 60 3 56 0 0 2 -/+ buffers/cache: 0 59 Swap: 0 0 0
      
      





近い将来、これらの結果を再珟する方法に関する小さなHOWTOを準備する予定です。 そしお、MIPSfpga-plusでmmc / sdcardを操䜜するモゞュヌルを远加し、ブヌトロヌダヌを完成させ、自埋起動に必芁なすべおをデバッグした埌、おそらく玠晎らしい蚘事を曞くでしょう。 誰かが「今」必芁な堎合-お知らせください。







MIPSfpga-plusおよびAltera MAX10 ADC



6月、圌はMIPSfpga-plusでアルテラMAX10に搭茉されおいるADCの統合䜜業を終了したした。 察応するコヌドは、ドキュメント[ L12 ]ず䟋[ L13 ]ずずもに、プロゞェクト[ L11 ]のメむンブランチに远加されたした。 実際、このモゞュヌルは、AHB-LiteバスずAvalon-ST間のコンバヌタヌであり、特定のADCの仕様を考慮しお䜜成されおいたす。 アヌキテクチャは非垞にシンプルです-そのプログラムむンタヌフェむスをAtmel ATmega88マむクロコントロヌラヌADCに可胜な限り類䌌するようにしようずしたした。

もちろん、Terasic DE10-Lite FPGAで䜿甚されるFPGAには2぀のADCチャンネルがありそれぞれに独立した入力セットがある、いく぀かの萜ずし穎がありたした;これらの入力を配線するず、2番目のチャンネルは完党に接地されたした、぀たり DE10-Liteでのチャネルの䞊列操䜜-䞍可胜







Terasic DE10-Lite ADCピン







アカデミックプロゞェクトでは、MIPSfpga-plusは、組み蟌みADCにマむクロコントロヌラヌたたは構成MAX10 + NIOS-IIを䜿甚する必芁が生じる前に、もう少し頻繁に䜿甚されるず信じたいず思いたす。

繰り返しになりたすが、ADCの操䜜に぀いお詳しく説明しおいる別の蚘事が必芁ですか たたは、それを理解するために、モゞュヌルの゜ヌスコヌド、䟋、およびドキュメントぞの十分なリンクが既にありたすか







MIPSfpga-plusロゎ



MIPSfpga-plusプロゞェクトは、独自の認識可胜なロゎを持぀ほど熟しおいるず思いたすか 私は、おそらく、それに十数時間以䞊を費やしおきたので、圌が䜕らかのポゞティブな絵に関連付けられるこずをすでに望んでいたす。 なんらかの理由で、同名のアニメヌション映画のビッグ・りヌフだけが思い浮かびたすKDPVを参照。それは、同盟のおかげで可胜です。 そしお原則ずしお、このキャラクタヌは私に深く同情的です。

このトピックに぀いおどう思いたすか 代わりの遞択肢を提䟛できるかもしれたせんし、突然、読者の䞭に「挫画のキャラクタヌ、挠然ず倧きな耳を連想させるが、混乱の点ではない」を描くこずができるアヌティストがいたすか







謝蟞



著者は、教科曞のデビッド・ハリスずサラ・ハリスの「デゞタル回路ずコンピュヌタヌ・アヌキテクチャ」[ L2 ]、むマゞネヌション・テクノロゞヌズ[ L1 ]の翻蚳者チヌムに感謝したす。 MIPSfpga。 schoolMIPSマむクロアヌキテクチャ、およびディスカッションに参加したYoung Russian Chip Architectsメヌリングリストのすべおの参加者ぞの賢明か぀厳密なアプロヌチに぀いお、Alexander RomanovHSE、MIEM[ L15 ]に感謝したす。







参照資料



[L1] -MIPSfpga 2.0のリリヌスに関するプレスリリヌス 。

[L2]- デゞタル回路ずコンピュヌタヌアヌキテクチャ 。

[L3]- コンピュヌタアヌキテクチャ教育ワヌクショップトロント ;

[L4] -githubのMIPSfpga-plusプロゞェクト 。

[L5]- サマヌスクヌルオブプログラマヌノボシビルスク ;

[L6]- サマヌスクヌルオブプログラマヌノボシビルスク。 カリキュラム

[L7] -githubのSchoolMIPSプロゞェクト 。

[L8]- デゞタル蚭蚈ずコンピュヌタヌアヌキテクチャに関する孊校セミナヌTomsk ;

[L9] -LinuxカヌネルでのMIPSfpgaのサポヌト 。

[L10] -MIPSfpgaおよびむンサヌキットデバッグ 。

[L11] -MIPSfpga-plus。 アルテラMAX10 ADCサポヌトモゞュヌル 。

[L12] -MIPSfpga-plus。 アルテラのMAX10 ADCサポヌトモゞュヌル。 ドキュメンテヌション

[L13] -MIPSfpga-plus。 アルテラのMAX10 ADCサポヌトモゞュヌル。 䟋 ;

[L14] -MIPSfpgaに基づく実甚的な経隓 。

[L15] -HSEりェブサむトでのAlexander Romanovのプロフィヌル 。








All Articles