欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4189|回復: 0
打印 上一主題 下一主題
收起左側

SOPC中自定義元件的端口設置解析

[復制鏈接]
跳轉到指定樓層
樓主
Nios II 嵌入式系統驅動設計(一)

       最近一直在做SOPC自定義元件的設計及其驅動的編寫,今天先分享一些關于自定義元件端口設置的內容。

       在版本8.0中,SOPC Builder已經集成了七十多個IP,用戶可以非常方便的應用這些元件,不過在實際應用的時候,有些元件并沒有包含在SOPC中,需要用戶自己編寫元件代碼,并集成進SOPC Builder里面,自定義元件的集成過程其實就是將元件通過Avalon總線兼容的端口掛載到Avalon總線上,因此最重要的一步就是設置元件的端口,使其能掛載到Avalon總線上。





       在7.2版本之后,Quartus II在自定義元件端口設置方面做了很大的修改,下面是變更的內容。



Table 1. Current Avalon Interfaces Supported by the Component Editor
Interface Type
Default NameDescriptionNew Interface in v7.2
Master
avalon_master or m0
Defines an Avalon master port interface.
-
Slave
avalon_slave or s0
Defines an Avalon slave port interface.
-
Tri-State Slave
avalon_tristate_slave
Defines an Avalon tri-state port interface.
-
Clock Input
clock or clock_sink
Defines a clock and reset input interface for a component.
Y
Clock Output
clock_source
Defines a clock and reset output interface for components that generate clocks for SOPC Builder systems.
Y
Conduit Output or Input
conduit_start or conduit_end
Used for exporting signals to the top level of SOPC Builder systems. Conduit output and input interfaces are identical and imply no signal direction for the conduit interface. Conduits can contain input, output, and bidirectional signals.
Y
Interrupt Sender
interrupt_sender
Defines an interrupt output signal and the Avalon slave interface that is associated with generating the interrupt signal.
Y
Interrupt Receiver
interrupt_receiver
Defines an interrupt input signal and the Avalon master interface that is associated with receiving interrupt signals.
Y
Streaming Source
avalon_streaming_source
Defines an Avalon streaming source port interface.
Y
Streaming Sink
avalon_streaming_sink
Defines an Avalon streaming sink port interface.
Y


       我們可以發現除了已有的Master,slave以及tri-state slave以外,還新增了流處理端口,中斷收發端口,時鐘及輸出端口。因為在7.2版本以后,除了Avalom-MM總線外,SOPC又新增了Avalon-ST總線,因此端口也相應的增加了。







       下面列出在7.2版本后主端口和從端口所需的端口信號,表中還列出了和以前版本的端口比較。


Table 1. Avalon-MM Slave with Global Clock, Reset, Interrupt Output, and Export Signals
Signal Type
Directionv7.1 and Earlier Interfacev7.2 and Later Interface
clk
Input
Global
Clock Input (1)
reset
Input
Global
Clock Input (1)
address
Input
Avalon Slave
Avalon Slave
read
Input
Avalon Slave
Avalon Slave
readdata
OutputAvalon SlaveAvalon Slave
write
Input
Avalon Slave
Avalon Slave
writedata
InputAvalon SlaveAvalon Slave
waitrequest
OutputAvalon SlaveAvalon Slave
irq
OutputAvalon SlaveInterrupt Sender
my_export_signals
Input, Output, or BidirGlobalConduit




Table 2. Avalon-MM Multi-Port Slave with Global Clock, Reset, and Export Signals
Signal Type
Directionv7.1 and Earlier Interfacev7.2 and Later Interface

clk
InputGlobalClock Input (1)
reset
InputGlobalClock Input (1)
s1_address
InputAvalon S1 SlaveAvalon S1 Slave

s1_read
InputAvalon S1 SlaveAvalon S1 Slave
s1_readdata
OutputAvalon S1 SlaveAvalon S1 Slave
s1_write
InputAvalon S1 SlaveAvalon S1 Slave
s1_writedata
InputAvalon S1 SlaveAvalon S1 Slave
s1_waitrequest
OutputAvalon S1 SlaveAvalon S1 Slave
s1_export_signals
Input, Output, or BidirAvalon S1 SlaveS1 Conduit
s2_address
InputAvalon S2 SlaveAvalon S2 Slave
s2_read
InputAvalon S2 SlaveAvalon S2 Slave
s2_readdata
OutputAvalon S2 SlaveAvalon S2 Slave

s2_write
InputAvalon S2 SlaveAvalon S2 Slave

s2_writedata
InputAvalon S2 SlaveAvalon S2 Slave

s2_waitrequest
OutputAvalon S2 SlaveAvalon S2 Slave

s2_export_signals
Input, Output, or BidirAvalon S2 SlaveS2 Conduit





Table 3. Avalon-MM Master with Global Clock, Reset, Interrupt Input, and Export Signals
Signal Type
Directionv7.1 and Earlier Interfacev7.2 and Later Interface

clk
InputGlobalClock Input (1)

reset
InputGlobalClock Input (1)

address
OutputAvalon MasterAvalon Master

read
OutputAvalon MasterAvalon Master

readdata
InputAvalon MasterAvalon Master

write
OutputAvalon MasterAvalon Master

writedata
OutputAvalon MasterAvalon Master

waitrequest
InputAvalon MasterAvalon Master

irq
InputAvalon MasterInterrupt Receiver

my_export_signals
Input, Output, or BidirGlobalConduit




Table 4. Avalon-MM Multi-Port Slave with Interface-Specific Clocks and Export Signals
Signal Type
Directionv7.1 and Earlier Interfacev7.2 and Later Interface

s1_clk
InputAvalon S1 SlaveS1 Clock Input (1)

s1_reset
InputAvalon S1 SlaveS1 Clock Input (1)

s1_address
InputAvalon S1 SlaveAvalon S1 Slave

s1_read
InputAvalon S1 SlaveAvalon S1 Slave

s1_readdata
OutputAvalon S1 SlaveAvalon S1 Slave

s1_write
InputAvalon S1 SlaveAvalon S1 Slave

s1_writedata
InputAvalon S1 SlaveAvalon S1 Slave

s1_waitrequest
OutputAvalon S1 SlaveAvalon S1 Slave

s1_export_signals
Input, Output, or BidirAvalon S1 SlaveS1 Conduit

s2_clk
InputAvalon S2 SlaveS2 Clock Input (1)

s2_reset
InputAvalon S2 SlaveS2 Clock Input (1)

s2_address
InputAvalon S2 SlaveAvalon S2 Slave

s2_read
InputAvalon S2 SlaveAvalon S2 Slave

s2_readdata
OutputAvalon S2 SlaveAvalon S2 Slave

s2_write
InputAvalon S2 SlaveAvalon S2 Slave

s2_writedata
InputAvalon S2 SlaveAvalon S2 Slave

s2_waitrequest
OutputAvalon S2 SlaveAvalon S2 Slave

s2_export_signals
Input, Output, or BidirAvalon S2 SlaveS2 Conduit





Table 5. Avalon-MM Multi-Port Master and Slave with Interface-Specific Clocks
Signal Type
Directionv7.1 and Earlier Interfacev7.2 and Later Interface

slave_clk
InputAvalon SlaveSlave Clock Input (1)

save_reset
InputAvalon SlaveSlave Clock Input (1)

slave_address
InputAvalon SlaveAvalon Slave

slave_read
InputAvalon SlaveAvalon Slave

slave_readdata
OutputAvalon SlaveAvalon Slave

slave_write
InputAvalon SlaveAvalon Slave

slave_writedata
InputAvalon SlaveAvalon Slave

slave_waitrequest
OutputAvalon SlaveAvalon Slave

master_clk
InputAvalon MasterMaster Clock Input (1)

master_reset
InputAvalon MasterMaster Clock Input (1)

master_address
OutputAvalon MasterAvalon Master

master_read
OutputAvalon MasterAvalon Master

master_readdata
InputAvalon MasterAvalon Master

master_write
OutputAvalon MasterAvalon Master

master_writedata
OutputAvalon MasterAvalon Master

master_waitrequest
InputAvalon MasterAvalon Master








       確定了需要哪些端口后,需要編寫元件代碼(Verilog或VHDL),在端口命名中,Altera推薦用如下命名方式,以便在導入component editor之后能自動識別成相應的interface type。

__[_n]

interface type如下表所示:



比如下面的端口定義:

module my_slave_irq_component (
    // Signals for Avalon-MM slave port “s1” with irq
    csi_clockreset_clk; //clockreset clock interface
    csi_clockreset_reset_n;//clockreset clock interface
    avs_s1_address;//s1 slave interface
    avs_s1_read; //s1 slave interface
    avs_s1_write; //s1 slave interface
    avs_s1_writedata; //s1 slave interface
    avs_s1_readdata; //s1 slave interface
    ins_irq0_irq; //irq0 interrupt sender interface
);
    input csi_clockreset_clk;
    input csi_clockreset_reset_n;
    input [7:0]avs_s1_address;
    input avs_s1_read;
    input avs_s1_write;
    input [31:0]avs_s1_writedata;
    output [31:0]avs_s1_readdata;
    output ins_irq0_irq;
    /* Insert your logic here */
endmodule







       當元件設置好端口,并編寫完相應的Verilog或VHDL代碼之后,并可以通過SOPC Builder中的Component editor集成進SOPC Builder中,用戶并可以非常方便的調用。關于這部分內容請參考SOPC自定義元件的添加及運行。


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表