0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Interface端口的概念介紹

OpenFPGA ? 來源:OpenFPGA ? 2023-04-19 14:48 ? 次閱讀

概述

SystemVerilog Interface是modport的一種,但比簡(jiǎn)單的輸入、輸出或輸入輸出端口的功能更多。在其最簡(jiǎn)單的形式中,Interface端口將相關(guān)的信號(hào)捆綁在一起作為一個(gè)單一的復(fù)合端口。例如,構(gòu)成AMBA AXI總線的所有單個(gè)信號(hào)都可以被歸納為一個(gè)Interface端口。一個(gè)Interface可以做的不僅僅是封裝總線信號(hào)。SystemVerilog Interface為設(shè)計(jì)者提供了一種集中總線功能的方法,而不是將功能分散在設(shè)計(jì)中的幾個(gè)模塊中。這就模擬了設(shè)計(jì)工程師在RTL層面的工作,并讓綜合工作在整個(gè)設(shè)計(jì)中適當(dāng)?shù)胤峙溟T級(jí)總線硬件。

當(dāng)遵循特定的建模準(zhǔn)則和限制時(shí),Interface是可以綜合的。Interface也可以用在不可綜合級(jí)別的建模,并作為驗(yàn)證測(cè)試平臺(tái)的一部分。先進(jìn)的驗(yàn)證方法,如UVM 、OVM和VMM,都使用Interface。

Interface端口的概念

對(duì)于可綜合的RTL建模,Interface的主要目的是將多信號(hào)總線的聲明和一些協(xié)議功能信號(hào)封裝在一個(gè)單獨(dú)的定義中。然后,這個(gè)Interface定義可以在任何的模塊中使用,而不必重復(fù)聲明總線信號(hào)。

一個(gè)Interface是在關(guān)鍵字interface和end interface之間定義的。一個(gè)可綜合的RTL Interface定義可以包含:

帶有數(shù)據(jù)類型和向量寬度的變量(Variable)和wire聲明。

modport定義,給出信號(hào)的方向??梢詾閷⑹褂迷揑nterface的不同模塊指定不同的定義。

用于仿真零延遲、零時(shí)鐘周期總線功能。

Interface也可以包含不可綜合的事務(wù)級(jí)功能和驗(yàn)證代碼,包括初始程序、always程序、任務(wù)和斷言 。本文沒有討論Interface的這些不可綜合的方面。

本章的例子使用AMBAAHB總線的簡(jiǎn)化版本,被稱為"simple AHB",在主模塊和從模塊之間進(jìn)行通信。這個(gè)簡(jiǎn)化版本只使用了構(gòu)成完整AMBA AHB總線的19個(gè)信號(hào)中的8個(gè)。簡(jiǎn)單的AHB信號(hào)是:

表10-1:簡(jiǎn)化的AMBA AHB信號(hào)

信號(hào)名 位寬 備注
hclk 1-bit 總線傳輸時(shí)鐘,外部產(chǎn)生
hresetN 1-bit 有源低電平總線復(fù)位,外部產(chǎn)生
haddr 32-bit 轉(zhuǎn)移地址
hwdata 32-bit 從主機(jī)發(fā)送至從機(jī)的數(shù)據(jù)值(有些例子增加了一個(gè)1位奇偶位)
hrdata 32-bit 從機(jī)發(fā)回給主機(jī)的數(shù)據(jù)值(有些例子增加了一個(gè)1位的奇偶位)
hsize 3-位 指示傳輸規(guī)模的控制信號(hào)
hwrite 1-bit 從主機(jī)向從機(jī)轉(zhuǎn)移方向控制(1為寫,0為讀)
hready 1-bit 從機(jī)的響應(yīng),表明傳輸已經(jīng)完成

這種簡(jiǎn)單的AHB總線在單個(gè)主機(jī)和單個(gè)從機(jī)模塊之間進(jìn)行通信,因此不需要完整的AMBA AHB總線所需要的總線仲裁器和解碼器模塊。

傳統(tǒng)的Verilog總線連接

如果沒有Interface,構(gòu)成通信總線的信號(hào)必須在每個(gè)使用總線的模塊中作為單獨(dú)的端口來聲明。這些端口的聲明必須在每個(gè)使用總線的模塊中重復(fù)進(jìn)行,并在連接總線和其他模塊的網(wǎng)表模塊中作為wire再次重復(fù)進(jìn)行。

圖10-1顯示了將主模塊和從模塊連接在一起的框圖,使用了簡(jiǎn)化版的AMBA AHB總線的8個(gè)信號(hào)。圖中還顯示了四個(gè)與簡(jiǎn)單的AHB總線無關(guān)的額外信號(hào)。使用某種形式的總線協(xié)議進(jìn)行通信的模塊,除了構(gòu)成總線的那些信號(hào)外,通常還有其他的輸入和輸出。

圖10-1:使用獨(dú)立interface連接主機(jī)和從機(jī)的方框圖 4fede1b0-de7b-11ed-bfe3-dac502259ad0.png

例10-1顯示了連接圖10-1中的主模塊和從模塊的代碼。請(qǐng)注意,構(gòu)成簡(jiǎn)單AHB總線的8個(gè)信號(hào)的聲明是重復(fù)的。同樣的信號(hào)必須在主模塊、從模塊、連接主模塊和從模塊以及主模塊和從模塊實(shí)例的連接中聲明。例10-1是用傳統(tǒng)的Verilog-2001風(fēng)格和數(shù)據(jù)類型建模的。

例10-1:使用單獨(dú)的端口連接主模塊和從模塊

///////////////////////////////////////////////////////////
//MasterModulePortList--Verilog-2001style
///////////////////////////////////////////////////////////
//`begin_keywords"1364-2001"
modulemaster(
//simplifiedAHBbussignals
inputwirehclk,//bustransferclk
inputwirehresetN,//busreset,activelow
outputreg[31:0]haddr,//transferstartaddress
outputreg[31:0]hwdata,//datasenttoslave
outputreghwrite,//returndatafromslave
outputreg[2:0]hsize,//transfersize
inputwire[31:0]hrdata,//1forwrite,0forread
inputwirehready,//1fortransferfinished
//othersignals
inputwirem_clk,//masterclock
inputwirerstN,//reset,activelow
inputwire[7:0]thing1,//miscsignal;notpartofbus
outputreg[7:0]thing2//miscsignal;notpartofbus
);
//...//mastermodulefunctionalitynotshown
endmodule:master
//`end_keywords


///////////////////////////////////////////////////////////
//SlaveModulePortList--Verilog-2001style
///////////////////////////////////////////////////////////
//`begin_keywords"1364-2001"
moduleslave(
//simplifiedAHBbussignals
inputwirehclk,//bustransferclk
inputwirehresetN,//busreset,activelow
inputwire[31:0]haddr,//transferstartaddress
inputwire[31:0]hwdata,//datasenttoslave
inputwirehwrite,//returndatafromslave
inputwire[2:0]hsize,//transfersize
outputreg[31:0]hrdata,//1forwrite,0forread
outputreghready,//1fortransferfinished
//othersignals
inputwires_clk,//slaveclock
inputwirerstN,//reset,activelow
outputreg[7:0]thing1,//misc.signal;notpartofbus
inputwire[7:0]thing2//misc.signal;notpartofbus
);
//...//slavemodulefunctionalitynotshown
endmodule:slave
//`end_keywords


///////////////////////////////////////////////////////////
//Top-levelNetlistModule--Verilog-2001style
///////////////////////////////////////////////////////////
//`begin_keywords"1364-2001"
modulechip_top;
//SimplifiedAHBbussignals
wirehclk;//bustransferclk
wirehresetN;//busreset,activelow
wire[31:0]haddr;//transferstartaddress
wire[31:0]hwdata;//datasenttoslave
wirehwrite;//returndatafromslave
wire[2:0]hsize;//transfersize
wire[31:0]hrdata;//1forwrite,0forread
wirehready;//1fortransferfinished
//Othersignals
wirem_clk;//masterclock
wires_clk;//slaveclock
wirechip_rstN;//reset,activelow
wire[7:0]thing1;//miscsignal;notpartofbus
wire[7:0]thing2;//miscsignal;notpartofbus

masterm(//simplifiedAHBbusconnections
.hclk(hclk),
.hresetN(hresetN),
.haddr(haddr),
.hwdata(hwdata),
.hsize(hsize),
.hwrite(hwrite),
.hrdata(hrdata),
.hready(hready),
//0therconnections
.m_clk(m_clk),
.rstN(chip_rstN),
.thing1(thing1),
.thing2(thing2)
);

slaves(//simplifiedAHBbusconnections
.hclk(hclk),
.hresetN(hresetN),
.haddr(haddr),
.hwdata(hwdata),
.hsize(hsize),
.hwrite(hwrite),
.hrdata(hrdata),
.hready(hready),
//0therconnections
.s_clk(s_clk),
.rstN(chip_rstN),
.thing1(thing1),
.thing2(thing2)
);

//...//remainingchip-levelcodenotshown

endmodule:chip_top
//`end_keywords

與主端口的連接必須再次復(fù)制簡(jiǎn)化的AHB信號(hào)(SystemVerilog的點(diǎn)名或如果所有的名字都匹配,點(diǎn)星的快捷方式可以減少這種冗余。正是如此。

「離散的輸入和輸出modport的缺點(diǎn)」。為總線信號(hào)使用單獨(dú)的modport,描述設(shè)計(jì)中各塊之間的互連提供了一種簡(jiǎn)單而直觀的方法。獨(dú)立的端口準(zhǔn)確地模擬了構(gòu)成總線物理實(shí)現(xiàn)的信號(hào)。然而,在大型復(fù)雜的設(shè)計(jì)中,使用單個(gè)modport有幾個(gè)缺點(diǎn)。其中一些缺點(diǎn)是:

聲明必須在多個(gè)模塊中重復(fù)進(jìn)行。

通信協(xié)議,如握手順序,必須在七個(gè)模塊中重復(fù)使用。

在不同的模塊中存在著不匹配聲明的風(fēng)險(xiǎn)。

設(shè)計(jì)規(guī)范的改變可能需要在多個(gè)模塊中同步進(jìn)行修改。

在前面的例子中,構(gòu)成簡(jiǎn)化AHB總線的信號(hào)必須在每個(gè)使用總線的模塊中聲明,以及在將主模塊和從模塊連接在一起的頂層網(wǎng)表中聲明。即使是上面列出的簡(jiǎn)化AHB總線例子--它只使用了19個(gè)AHB總線信號(hào)中的8個(gè),并且只有一個(gè)從屬模塊--名稱的重復(fù)也是很明顯的。每個(gè)AHB信號(hào)總共被命名了7次!

這種重復(fù)不僅需要輸入大量的代碼行,而且很有可能出現(xiàn)編碼錯(cuò)誤。在一個(gè)地方輸入錯(cuò)誤的名稱或不正確的矢量大小可能會(huì)導(dǎo)致設(shè)計(jì)中的功能錯(cuò)誤,直到設(shè)計(jì)過程的后期,當(dāng)模塊被連接在一起進(jìn)行完整的驗(yàn)證時(shí)才會(huì)被發(fā)現(xiàn)。

復(fù)制的端口聲明也意味著,如果在設(shè)計(jì)過程中(或在下一代設(shè)計(jì)中)總線的規(guī)格發(fā)生變化,每一個(gè)共享總線的模塊都必須被改變。用于連接使用該總線的模塊的網(wǎng)表也必須改變。這種大范圍的改變效果是與良好的編碼風(fēng)格相違背的。好的編碼的一個(gè)目標(biāo)是將代碼結(jié)構(gòu)化,使一個(gè)地方的小變化不需要改變代碼的其他區(qū)域。使用離散的輸入和輸出端口的一個(gè)弱點(diǎn)是,一個(gè)模塊中的端口的改變通常需要其他文件的改變。

使用離散的輸入和輸出modport的另一個(gè)缺點(diǎn)是,通信協(xié)議必須在每個(gè)利用模塊之間相互連接的信號(hào)的模塊中重復(fù)進(jìn)行。例如,如果有三個(gè)模塊從一個(gè)共享的存儲(chǔ)器設(shè)備上進(jìn)行讀寫,那么讀寫控制邏輯必須在每個(gè)模塊中重復(fù)進(jìn)行。

SystemVerilog Interface定義

SystemVerilog給Verilog增加了一個(gè)強(qiáng)大的新端口類型,稱為Interface端口。一個(gè)Interface允許一些信號(hào)被組合在一起,并被表示為一個(gè)單一的端口。構(gòu)成Interface的信號(hào)的聲明被封裝在關(guān)鍵字interface和end interface之間。每個(gè)使用這些信號(hào)的模塊都有一個(gè)Interface類型的單一端口,而不是許多不相干的信號(hào)的端口。

圖10-2顯示了一個(gè)Interface如何將幾個(gè)單獨(dú)的端口組綜合成一個(gè)單一的端口,連接到一個(gè)Interface。

例10-3顯示了主模塊和從模塊的定義。主模塊上用于簡(jiǎn)單AHB總線的8個(gè)獨(dú)立端口已經(jīng)被單個(gè)Interface端口所取代。這個(gè)Interface端口沒有被聲明為輸入、輸出或inout,而是被聲明為simple_ahb,也就是例10-2中定義的Interface的名稱。當(dāng)使用傳統(tǒng)的單獨(dú)的輸入和輸出端口時(shí),Interface端口消除了主從模塊內(nèi)多余的簡(jiǎn)單AHB信號(hào)聲明,如例10-1中的情況。

例10-4顯示了連接主模塊和從模塊的高層網(wǎng)表。不再有24行的代碼來聲明8個(gè)獨(dú)立的總線信號(hào)和然后將這8個(gè)信號(hào)連接到例10-1中列出的主模塊和從模塊的端口。相反,simple_ahb Interface的實(shí)例化方式與模塊相同,實(shí)例名稱與主模塊和從模塊實(shí)例的Interface端口相連。

圖10-2:使用Interface端口連接主機(jī)和從機(jī)的方框圖 5071c44e-de7b-11ed-bfe3-dac502259ad0.png

下面的三個(gè)例子顯示了使用Interface如何減少為上面所示的簡(jiǎn)單AHB通信總線建模所需的代碼量。

例10-2顯示了一個(gè)Interface端口的定義,它將構(gòu)成簡(jiǎn)單AHB的信號(hào)封裝為一個(gè)Interface。

例10-2:簡(jiǎn)單AMBA AHB總線的Interface定義

///////////////////////////////////////////////////////////
//SimpleAMBAAHBInterface--SystemVerilog-2012style
///////////////////////////////////////////////////////////
//`begin_keywords"1800-2012"
interfacesimple_ahb(
inputlogichclk,//bustransferclk
inputlogichresetN//busreset,activelow
);
logic[31:0]haddr;//transferstartaddress
logic[31:0]hwdata;//datasenttoslave
logic[31:0]hrdata;//returndatafromslave
logic[2:0]hsize;//transfersize
logichwrite;//1forwrite,0forread
logichready;//1fortransferfinished

//mastermoduleportdirections
modportmaster_ports(
outputhaddr,hwdata,hsize,hwrite,//toAHBslave
inputhrdata,hready,//fromAHBslave
inputhclk,hresetN//fromchiplevel
);

//slavemoduleportdirections
modportslave_ports(
outputhrdata,hready,//toAHBmaster
inputhaddr,hwdata,hsize,hwrite,//fromAHBmaster
inputhclk,hresetN//fromchiplevel
);
endinterface:simple_ahb
//`end_keywords

「Interface上的端口?!?/strong>一個(gè)Interface就像一個(gè)模塊一樣可以有輸入、輸出和inout端口。例10-2中所示的簡(jiǎn)單AHB Interface有兩個(gè)輸入端口,hc1k和hresetN,這些信號(hào)是在Interface之外產(chǎn)生的,通過兩個(gè)輸入端口傳入Interface。Interface上的端口的聲明與模塊上的端口相同。

一個(gè)Interface可以連接到另一個(gè)Interface。例如,一個(gè)設(shè)計(jì)的主總線可能有一個(gè)或多個(gè)子總線。主總線和它的子總線都可以被建模為Interface,而子總線的Interface可以被用作主總線Interface的端口。

上面的Interface定義包括兩個(gè)mod端口的定義,名字分別是master_ports和slave_ports。關(guān)鍵字modport是"模塊的端口"的縮寫,它定義了一個(gè)模塊是否將Interface中的信號(hào)視為模塊的輸入或模塊的輸出。Interface的一個(gè)好處是,總線協(xié)議中使用的信號(hào)的數(shù)據(jù)類型和矢量大小是一次性定義的。modport的定義只是從模塊的角度為Interface中定義的信號(hào)增加一個(gè)方向。

下面是一個(gè)主模塊和從模塊的例子,說明使用simple_ahb Interface作為每個(gè)模塊的端口。觀察一下這個(gè)單一的Interface端口是如何取代主模塊中顯示的8個(gè)離散的輸入和輸出端口,以及從屬模塊中的另外8個(gè)端口.

例10-3:帶有Interface端口的主模塊和從模塊

///////////////////////////////////////////////////////////
//MasterModulePortList--SystemVerilog-2012style
///////////////////////////////////////////////////////////
//`begin_keywords"1800-2012"
modulemaster
(simple_ahb.master_portsahb,//interfaceport&modport
//otherports
inputlogicm_clk,//masterclock
inputlogicrstN,//reset,activelow
inputlogic[7:0]thing1,//miscsignal;notpartofbus
outputlogic[7:0]thing2//miscsignal;notpartofbus
);
//...//mastermodulefunctionalitynotshown
endmodule:master
//`end_keywords

///////////////////////////////////////////////////////////
//SlaveModulePortList--SystemVerilog-2012style
///////////////////////////////////////////////////////////
//`begin_keywords"1800-2012"
moduleslave
(simple_ahb.slave_portsahb,//interfaceport&modport
//otherports
inputlogics_clk,//slaveclock
inputlogicrstN,//reset,activelow
outputlogic[7:0]thing1,//miscsignal;notpartofbus
inputlogic[7:0]thing2//miscsignal;notpartofbus
);
//...//slavemodulefunctionalitynotshown
endmodule:slave

///////versionwithnomodportselection///////
//moduleslave
//(simple_ahbahb,//interfaceportwithoutmodport
////otherports
//inputlogics_clk,//slaveclock
//inputlogicrstN,//reset,activelow
//outputlogic[7:0]thing1,//miscsignal;notpartofbus
//inputlogic[7:0]thing2//miscsignal;notpartofbus
//);
//////...//slavemodulefunctionalitynotshown
//endmodule:slave
//`end_keywords

對(duì)于傳統(tǒng)的modport,頂層模塊必須為總線信號(hào)聲明單獨(dú)的網(wǎng)絡(luò),然后為每個(gè)單獨(dú)的信號(hào)與每個(gè)模塊實(shí)例的端口做單獨(dú)的連接。

當(dāng)一個(gè)帶有Interface端口的模塊被實(shí)例化時(shí),一個(gè)Interface的實(shí)例被連接到Interface端口。

下面的代碼實(shí)例化了simple_ahb Interface并給它一個(gè)實(shí)例名ahbl。然后這個(gè)實(shí)例名被用于主模塊和從模塊實(shí)例的端口連接。

例10-4:連接主Interface和從Interface的網(wǎng)表

///////////////////////////////////////////////////////////
//Top-levelNetlistModule--SystemVerilog-2012style
///////////////////////////////////////////////////////////
//`begin_keywords"1800-2012"
modulechip_top;
logicm_clk;//masterclock
logics_clk;//slaveclock
logichclk;//AHBbusclock
logichresetN;//AHBbusreset,activelow
logicchip_rstN;//reset,activelow
logic[7:0]thing1;//miscsignal;notpartofbus
logic[7:0]thing2;//miscsignal;notpartofbus

//
//instantiatetheinterface
//(usingsamesyntaxasamoduleinstance)
simple_ahbahb1(.hclk(hclk),
.hresetN(hresetN)
);

//instantiatemasterandconnecttheinterfaceinstance
//totheinterfaceport
masterm(.ahb(ahb1),//connectinterfaceport
.rstN(chip_rstN),
.m_clk,//dot-nameconnectionshortcut
.thing1,//fortheotherports
.thing2
);

//instantiateslaveandconnecttheinterfaceinstance
//totheinterfaceport
slaves(.ahb(ahb1),//connectinterfaceport
.rstN(chip_rstN),
.*//wildcardconnectionshortcut
);//fortheotherports

//instantiateslaveandpickmodportintheconnection
//slaves(.ahb(ahb1.slave_ports),//selectslavemodport
//.rstN(chip_rstN),
//.*//wildcardconnectionshortcut
//);

//...//remainingchip-levelcodenotshown

endmodule:chip_top
//`end_keywords

在上面的例子中,構(gòu)成簡(jiǎn)單AHB總線協(xié)議的所有信號(hào)都被封裝在simple_ahbInterface中。主模塊、從模塊和頂層模塊并不重復(fù)聲明這些總線信號(hào)。相反,主模塊和從模塊只是使用該Interface作為模塊之間的連接。該Interface消除了獨(dú)立modport的冗余聲明。

注意事項(xiàng)
一個(gè)模塊的Interface端口不能不連接。
一個(gè)模塊的輸入、輸出或輸入輸出端口可以在一個(gè)模塊實(shí)例上不連接。Interface端口則不是這樣。一個(gè)interface必須連接到一個(gè)模塊上。如果一個(gè)Interface端口沒有被連接,將發(fā)生一個(gè)闡述錯(cuò)誤。

在一個(gè)Interface內(nèi)引用信號(hào)

Interface端口是一個(gè)復(fù)合端口,端口內(nèi)部有信號(hào)。在一個(gè)有Interface端口的模式中,通過使用端口名稱來訪問Interface內(nèi)部的信號(hào),使用的語法如下。

.。

上面的simple_ahbInterface包含一個(gè)叫做hc1k 的信號(hào),master有一個(gè)名為ahb的Interface端口 。主控模塊可以通過使用ahb.hclk訪問hclk。

always_ff@(posedgeahb.hclk)

最佳實(shí)踐指南10-1
在RTL模型中,使用簡(jiǎn)短的名稱作為Interface端口名稱。端口名稱在RTL代碼中需要經(jīng)常被引用。

由于Interface內(nèi)的信號(hào)是通過在信號(hào)名稱前加上Interface端口名稱來訪問的,所以使用短名稱作為Interface端口名稱是很方便的。

模塊和Interface之間的區(qū)別

Interface和模塊之間有三個(gè)基本區(qū)別。首先,一個(gè)Interface不能包含設(shè)計(jì)層次。與模塊不同,Interface不能包含模塊或基元的實(shí)例,這將創(chuàng)造一個(gè)新的實(shí)現(xiàn)層次結(jié)構(gòu)。第二,Interface可以作為modport使用,這就是允許Interface代表模塊之間的通信渠道。在端口列表中使用一個(gè)模塊是非法的。第三,一個(gè)Interface可以包含Interface,它允許連接到該Interface的每個(gè)模塊以不同的方式看到該Interface。

源代碼聲明順序

一個(gè)Interface的名字在兩種情況下被引用:作為一個(gè)模塊的端口,以及作為一個(gè)Interface的實(shí)例。Interface可以作為模塊的端口被實(shí)例化和使用,而不需要考慮文件順序的依賴性。就像模塊一樣,Interface的名稱可以在軟件工具讀入包含Interface定義的源代碼之前被引用。這意味著任何模塊都可以使用一個(gè)Interface作為模塊的端口,而不必?fù)?dān)心源代碼的編譯順序。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • AMBA總線
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    9514
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1333

    瀏覽量

    109749
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    384

    瀏覽量

    59534
  • AHB總線
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    9443

原文標(biāo)題:數(shù)字硬件建模SystemVerilog-通信總線建模 --Interface端口的概念

文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    端口復(fù)用概念

    記錄一下,方便以后翻閱~主要內(nèi)容:1)端口復(fù)用;2)端口重映射;官方資料:《STM32中文參考手冊(cè)V10》第8章 通用和復(fù)用功能IO(GPIO和AFIO)1.端口復(fù)用概念STM32有很
    發(fā)表于 01-11 07:43

    Gowin PSRAM Memory Interface IP快速用戶指南

    Gowin PSRAM Memory Interface IP 用戶指南主要內(nèi)容包括 IP 的結(jié)構(gòu)與功能描述、端口說明、時(shí)序說明、配置調(diào)用、參考設(shè)計(jì)等。主要用于幫助用戶快速了解 Gowin
    發(fā)表于 10-09 06:51

    Gowin HyperRAM Memory Interface IP快速用戶指南

    Gowin HyperRAM Memory Interface IP用戶指南主要內(nèi)容包括 IP 的結(jié)構(gòu)與功能描述、端口說明、時(shí)序說明、配置調(diào)用、參考設(shè)計(jì)等。主要用于幫助用戶快速了解 Gowin
    發(fā)表于 10-10 06:15

    Gowin UHS PSRAM Memory Interface IP快速用戶指南

    Gowin UHS PSRAM Memory Interface & 2CH IP 用戶指南主要內(nèi)容包括 IP 的特征與功能描述、端口說明、時(shí)序說明、配置調(diào)用、參考設(shè)計(jì)等, 旨在幫助用戶快速
    發(fā)表于 10-10 09:18

    Trunk(端口匯聚)的概念與設(shè)置

    Trunk(端口匯聚)的概念與設(shè)置 在二層交換機(jī)的性能參數(shù)中,常常提到一個(gè)重要的指標(biāo):TRUNK,許多 的二層交換機(jī)產(chǎn)品在介紹其性能時(shí),都會(huì)提到能夠支持TRUNK功能,從而可
    發(fā)表于 10-26 16:50 ?20次下載

    模塊和端口介紹

    verilog的相關(guān)學(xué)習(xí)和介紹,主要介紹模塊和端口
    發(fā)表于 11-10 10:21 ?0次下載

    HLS系列 – High Level Synthesis(HLS) 的端口綜合7

    在前幾章里,已經(jīng)分別介紹了BlockLevel Interface,Port Level Interface中的NoI/O Protocol和AXI4。本章里著重介紹下Port Lev
    發(fā)表于 02-08 02:42 ?976次閱讀
    HLS系列 – High Level Synthesis(HLS) 的<b class='flag-5'>端口</b>綜合7

    HLS系列 – High LevelSynthesis(HLS) 的端口綜合1

    在之前HLS的基本概念1里有提及,HLS會(huì)把c的參數(shù)映射成rtl的端口實(shí)現(xiàn)。本章開始總結(jié)下HLS端口綜合的一些知識(shí)。 1.HLS綜合后的rtl端口大體可以分成2類: Clock Res
    發(fā)表于 02-08 03:29 ?795次閱讀
    HLS系列 – High LevelSynthesis(HLS) 的<b class='flag-5'>端口</b>綜合1

    基于AS-Interface工業(yè)通訊介紹

    本文檔內(nèi)容介紹了基于AS-Interface工業(yè)通訊介紹,AS-Interface是一個(gè)比較小的低成本的屬于設(shè)備層的總線技術(shù)。
    發(fā)表于 09-22 17:12 ?9次下載
    基于AS-<b class='flag-5'>Interface</b>工業(yè)通訊<b class='flag-5'>介紹</b>

    端口和接口有什么區(qū)別和聯(lián)系嗎

    本文首先介紹端口概念、分類及作用,其次介紹了接口的概念與顯示器接口的類型,最后介紹
    發(fā)表于 04-23 16:54 ?6.1w次閱讀
    <b class='flag-5'>端口</b>和接口有什么區(qū)別和聯(lián)系嗎

    45W雙端口AC/DC充電方案的介紹

    簡(jiǎn)單介紹USB Type C 和功率傳輸概念、優(yōu)點(diǎn),并且聚焦在單/雙端口AC/DC充電方案介紹
    的頭像 發(fā)表于 05-29 09:17 ?2741次閱讀
    45W雙<b class='flag-5'>端口</b>AC/DC充電方案的<b class='flag-5'>介紹</b>

    51單片機(jī)的IO端口概念知識(shí)點(diǎn)和結(jié)構(gòu)資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)的IO端口概念知識(shí)點(diǎn)和結(jié)構(gòu)資料免費(fèi)下載。
    發(fā)表于 06-14 17:44 ?5次下載
    51單片機(jī)的IO<b class='flag-5'>端口</b><b class='flag-5'>概念</b>知識(shí)點(diǎn)和結(jié)構(gòu)資料免費(fèi)下載

    數(shù)字硬件建模SystemVerilog之Interface方法概述

    SystemVerilog Interface是modport的一種,但比簡(jiǎn)單的輸入、輸出或輸入輸出端口的功能更多。
    的頭像 發(fā)表于 04-28 14:10 ?2257次閱讀
    數(shù)字硬件建模SystemVerilog之<b class='flag-5'>Interface</b>方法概述

    數(shù)字硬件建模SystemVerilog之Interface和modport介紹

    SystemVerilog Interface是modport的一種,但比簡(jiǎn)單的輸入、輸出或輸入輸出端口的功能更多。
    的頭像 發(fā)表于 04-28 14:12 ?3362次閱讀
    數(shù)字硬件建模SystemVerilog之<b class='flag-5'>Interface</b>和modport<b class='flag-5'>介紹</b>

    時(shí)序分析基本概念介紹&lt;ILM&gt;

    今天我們要介紹的時(shí)序分析基本概念是ILM, 全稱Interface Logic Model。是一種block的結(jié)構(gòu)模型。
    的頭像 發(fā)表于 07-07 17:26 ?2589次閱讀
    時(shí)序分析基本<b class='flag-5'>概念</b><b class='flag-5'>介紹</b>&lt;ILM&gt;