ロケット - regmapper - RegisterCrossing

https://mp.weixin.qq.com/s/82iLT-fmDg9Comp2p9bxKg

 

RegisterCrossingの簡単な実現。

 

1. BusyRegisterCrossing

 

単純な制御状態マシンは、処理中の要求があるか否か、すなわち、か否かを制御するための要求を開始することができます。

 

1)I

 

制御インターフェースは、以下に示すとおり

 

A。master_request_valid / master_request_ready

 

これは、上流の開始要求(有効)は、ダウンストリーム受信機は(準備)準備ができているか否かを示します。

 

B。master_response_valid / master_response_ready

 

か否かの応答情報(有効)を示す、上流(レディ)応答メッセージを受信する準備ができています。

 

C。crossing_request_valid / crossing_request_ready

 

これは、構造体へのクロックを介して送信要求(有効)を表し、そして下流のクロスオーバー構造を通過したクロック信号を受信する(準備)準備ができています。

 

2)忙しいです

 

これは、この時点で新しい要求を受けることができない、要求が処理されているかどうかを示します。

 

3)バイパス

 

ループバックは、バイパスが真であれば、その要求は、クロック構造を横切って転送する、と等価であるが、直接上流に応答メッセージを返します。

 

2. RegisterCrossingAssertion

 

次のような条件によってこの主張

。A io.master_bypass:すなわち上流応答してクロック構造、直接応答メッセージを横切ってバイパス項の、状態は、下流心配する必要はありません。

。!Bアップ:川下ないまで、それはクロスクロック構造を使用することはありません。

。!Cのio.slave_reset:下流リセットされず、通常構造をまたがるその後、クロックを使用することができます。

 

3. RegisterWriteIO

 

インタフェースを登録書きます:

。リクエスト:リクエストに有効なレディ/制御インタフェースを書きます。

。B GEN:データが書き込まれます。

。C応答:書き込み要求応答メッセージ有効/準備完了制御インターフェース。

。Dブール()応答メッセージ。

 

4. RegisterWriteCrossingIO

 

增加了时钟和复位信号的跨时钟写寄存器接口:

a. master是指跨时钟结构上游,slave是指跨时钟结构下游;

b. master_clock/master_reset:主时钟和复位信号;

c. master_bypass:是否绕过跨时钟结构;

d. master_port:写接口,包括valid/ready控制及数据;

e. slave_clock/slave_reset:从时钟和复位信号;

f. slave_register:跨越时钟过来的写的数据;

g. slave_valid:slave_register中的内容是否合法;

 

5. RegisterWriteCrossing

 

跨时钟域写寄存器模块:

分为三个主要部分:

a. io:输入输出接口;

b. control:控制模块;

c. crossing:跨时钟模块;

 

1) 连接时钟和复位信号

 

 

2) 连接control模块

 

 

3) crossing上游连接

 

 

4) crossing下游连接

 

 

5) assert

 

 

6. RegisterReadIO

 

读寄存器接口:

a. request:请求控制接口;

b. response:响应消息控制及数据接口;

 

7. RegisterReadCrossingIO

 

加入时钟和复位信号的跨时钟读寄存器接口:

 

8. RegisterReadCrossing

 

跨时钟域读寄存器模块:

 

9. AsyncRWSlaveRegField

 

用于生成异步读写的逻辑和寄存器域:

 

1) 参数

 

 

2) 异步复位寄存器

 

 

3) 跨时钟写模块

 

 

4) 跨时钟数据写入寄存器

 

 

5) 跨时钟读模块

 

 

6) 从寄存器跨时钟读取

 

 

7) 返回参数

 

a. async_slave_reg.io.q:寄存器中存储的数据;

b. RegField(width, rd_crossing.io.master_port, wr_crossing.io.master_port, desc):使用跨时钟读写模块的寄存器域;

 

 

おすすめ

転載: www.cnblogs.com/wjcdx/p/11605211.html