-
Notifications
You must be signed in to change notification settings - Fork 0
Modules(MBR)
GnicoJP edited this page Sep 25, 2020
·
3 revisions
状態:完了
BitBucketリンク(Mercurial):リンク切れ
MBRからパーティション構成を読み取るモジュール.実は大したことない.
それぞれのパーティションの開始アドレス(セクタサイズ単位)を出力する.
- input io.Buffer [7:0] : MISOのSpiBuffer.io.Buffer
- input io.IsReading : SpiMasterReceiver.io.IsDataReading
- input io.MasterCommandArgument : SpiSlaveReceiver.io.MasterCommandArgument
- input io.DataBlocksCount : SpiController.DataBlockSize
- output io.Partition1Start [31:0] : 1つめのパーティションの開始アドレス
- output io.Partition2Start [31:0] : 2つめのパーティションの開始アドレス
- output io.Partition3Start [31:0] : 3つめのパーティションの開始アドレス
- output io.Partition4Start [31:0] : 4つめのパーティションの開始アドレス
状態:完了
BitBucketリンク(Mercurial):リンク切れ
MBRProcessorの出力するアドレスを,SPIでやり取りするアドレス単位に変換する回路.SDv2ならば,単純な組み合わせ回路.SDHC以上ならば掛け算回路(orシフタで十分?)が必要.
- input io.OutputPartition1Start [31:0] : 1つめのパーティションの開始アドレス(MBRProcessor.io.Partition1Start)
- input io.OutputPartition2Start [31:0] : 2つめのパーティションの開始アドレス(MBRProcessor.io.Partition2Start)
- input io.OutputPartition3Start [31:0] : 3つめのパーティションの開始アドレス(MBRProcessor.io.Partition3Start)
- input io.OutputPartition4Start [31:0] : 4つめのパーティションの開始アドレス(MBRProcessor.io.Partition4Start)
- output io.OutputPartition1Start [31:0] : 1つめのパーティションの開始アドレス
- output io.OutputPartition2Start [31:0] : 2つめのパーティションの開始アドレス
- output io.OutputPartition3Start [31:0] : 3つめのパーティションの開始アドレス
- output io.OutputPartition4Start [31:0] : 4つめのパーティションの開始アドレス
- // input io.IsBlockAddressing : ブロックアドレッシングか?(SDHC以上か?)
- // input io.BlockSize : ブロックサイズは幾らか?(IsBlockAddressingがtrueならば使用する.)
状態:完了
BitBucketリンク(Mercurial):リンク切れ
WRITEコマンドが流れてきたときに,そのコマンドを通して良いか判断するモジュール.
- input io.MasterCommand [5:0] : SpiSlaveReceiver.io.Command
- input io.MasterWritingAddress [31:0] : SpiSlaveReceiver.io.WritingAddress
- input io.MasterCommandReadSuccess : SpiSlaveReceiver.io.CommandReadFinished
- input io.PartitionWriteEnables [4:0] : パーティションが書き込み可能かどうかを入力します.[0]=MBR, [1]=Partition1, [2]=Partition2, [3]=Partition3, [4]=Partition4
- input io.Partition1Start [31:0] : 1つめのパーティションの開始アドレス(普通はAddressConverter.io.OutputPartition1Start)
- input io.Partition2Start [31:0] : 2つめのパーティションの開始アドレス(普通はAddressConverter.io.OutputPartition2Start)
- input io.Partition3Start [31:0] : 3つめのパーティションの開始アドレス(普通はAddressConverter.io.OutputPartition3Start)
- input io.Partition4Start [31:0] : 4つめのパーティションの開始アドレス(普通はAddressConverter.io.OutputPartition4Start)
- output io.IsOk : 通して良いか?
状態:完了
MBRProcessorの出力する値を出力する.
BitBucketリンク(Mercurial):リンク切れ
- input io.Partition1Start [31:0] : 1つめのパーティションの開始アドレス
- input io.Partition2Start [31:0] : 2つめのパーティションの開始アドレス
- input io.Partition3Start [31:0] : 3つめのパーティションの開始アドレス
- input io.Partition4Start [31:0] : 4つめのパーティションの開始アドレス
- inout io.Avalon : Avalon-MMのシグナル.
アドレス空間は1bit. <- MSB LSB ->
base[0] = {Parition2Start, Partition1Start}
base[1] = {Parition4Start, Partition3Start}
COPYRIGHT (C) Go Suzuki 2019-2020