Open Design Computer Project

オリジナルCPUから作る本格的自作コンピューター

ユーザ用ツール

サイト用ツール


hardware:download

Downloads - Hardware RTL File

ライセンスについて

ハードウェアは、現状すべて The BSD 2-Clause License の元で公開しています。公開物を利用しておきた事故・問題などは一切当プロジエクト及び開発者には責任がないものとします。

Copyright (c) 2012-2016, Takahiro Ito
All rights reserved.

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

  Redistributions of source code must retain the above copyright notice, this
  list of conditions and the following disclaimer.

  Redistributions in binary form must reproduce the above copyright notice, this
  list of conditions and the following disclaimer in the documentation and/or
  other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

開発言語・公開物について

当プロジェクトで公開しているハードウェア部分のファイルについてはすべて、Verilog HDL 2001で書かれています。しかし、検証効率を向上するために一部SVA(System Verilog Assertion)を導入しています。デバッグにおいてSVAを有効にしたい場合はシミュレータでプロジェクトごと個別に設定が必要です。

すべての公開物はバイナリファイルを含みません。すべてRTLファイルでの公開となり、利用者ご自身で論理合成する必要があります。

MIST1032ISA

  • Single Pipeline Inorder Execution
  • Altera Cyclone IV 13000LE(Processor Only)
  • 32kB Instruction cache(4Way Line:64B LRU)

https://github.com/cpulabs/mist1032isa

キャッシュをEnableで使用するのであれば追加のファイルが必要です。対象デバイスがAlteraのFPGAである場合Mega Wizardでメモリモジュールを作る必要があります。

  • cache_ram_16entry_256bit.v
  • cache_ram_16entry_512bit.v

これらは以下ファイルから参照されます。

  • core/l1_instruction/l1_cache_64entry_4way_line64b.v
  • core/l1_data/l1_data_cache_64entry_4way_line64b.v

なお、キャッシュをDisableにする必要が有る場合

  • include/processor.h

で変更可能です。

SVAについて

SVAを有効にする場合はMIST1032ISA_SVA_ASSERTIONをdefineしてください。

シミュレーションモード

シミュレーションが遅いメモリコントローラ・メモリモデルを使用せず、高速なシミュレーションを行う場合にはMIST1032ISA_SIM_MODEをdefineしてください。

MIST1032SA

  • 2 Issue/ 4 Our of Order Execution

現在のMIST1032SAプロセッサは、コアとバス、デバイスすべてを含め10万LE(Altera Cyclone IV)ほど消費しています。現バージョンではプロセッサ以外にもペリフェラルデバイスをすべて含んだ形で上げています。

https://github.com/cpulabs/mist1032sa

使用するにあたり以下のファイルを編集する必要があります。

  • global_lock
    • システムで使用するクロックを定義しています。利用するプラットフォーム向けのPLLを使用します。
  • mist1032sa / processor / core / l1_cache_512entry_4way_line8b.v
    • 命令キャッシュで使用するブロックメモリを定義しています。

SVAを有効にする場合はMIST1032SA_SVA_ASSERTIONをdefineしてください。

MIST32E10FA

  • MIST32 Type-E for Non - OS Mobile Embedded
  • In order Execution
  • Instruction / Data Cache(L1)
  • Branch Predictor / Branch Address Predictor

https://github.com/cpulabs/mist32e10fa

GCI-Bus

MIST32 Type-SプロセッサはGCI-Busに接続されることを想定して設計しています。

https://github.com/cpulabs/gci-bus

SVAを有効にする場合はGCI_SVA_ASSERTIONをdefineしてください。

GCI-STD-DISPLAY

GCI-Busに接続される標準ディスプレイコントローラ得です。

assertionを行こうにするにはGCI_STD_DISP_SVA_ASSERTIONをdefineしてください。

https://github.com/cpulabs/gci-std-display/

hardware/download.txt · 最終更新: 2016/03/06 16:49 by takahiro