[導(dǎo)讀]SystemVerilog引入了面向?qū)ο蟮乃枷?。對象句柄為語言提供了一種安全的、類似于指針的機(jī)制。類提供了繼承和抽象建模的能力,這就將不帶有任何類型安全性問題的C函數(shù)指針的優(yōu)點(diǎn)引入到了SystemVerilog中,因此它為Verilog帶來了真正的多態(tài)性。它包含了數(shù)據(jù)以及對數(shù)據(jù)進(jìn)...
SystemVerilog 引入了面向?qū)ο?/a>的思想。對象句柄為語言提供了一種安全的、類似于指針的機(jī)制。
類提供了繼承和抽象建模的能力,這就將不帶有任何類型安全性問題的 C 函數(shù)指針的優(yōu)點(diǎn)引入到了 SystemVerilog 中,因此它為 Verilog 帶來了真正的多態(tài)性。
它包含了數(shù)據(jù)以及對數(shù)據(jù)進(jìn)行操作的成員函數(shù)(函數(shù)和任務(wù))。類的數(shù)據(jù)被稱為類屬性,它的子程序被稱為方法,無論是類屬性還是方法都是類的成員。類屬性和方法結(jié)合在一起,定義了某種類型的對象的內(nèi)容和能力。
由于其繼承了面向?qū)ο?/a>的思想,因此在 SV 中可以定義類,然后例化,例如下面的代碼。class X_mac_env extends uvm_env; X_mac_agent input_agt;//用于向 DUT 發(fā)送數(shù)據(jù)在實(shí)例化中,配置為 ACTIVE 模式 X_mac_agent output_agt;//用于向 DUT 接收數(shù)據(jù),配置為 PASSIVE 模式 X_mac_reference_model X_mac_model;//實(shí)例化 model 和 scoreboard X_mac_scoreboard X_mac_scb;//定義了三個 fifo,用于連接 scoreboard 的兩個接口和 reference model 的一個接口??uvm_tlm_analysis_fifo?#(X_mac_reg_transaction?) reg_agt_mdl_fifo?;//i_agt<==>ref?model??uvm_tlm_analysis_fifo?#(eth_frame_transaction?) eth_agt_mdl_fifo?;//i_agt<==>ref?model??uvm_tlm_analysis_fifo?#(fec_frame_transaction?) X_mac_agt_mdl_fifo;//i_agt<==>ref?model??uvm_tlm_analysis_fifo?#(X_mac_reg_transaction?) reg_agt_scb_fifo?;//o_agt<==>scb??uvm_tlm_analysis_fifo?#(eth_frame_transaction?) eth_agt_scb_fifo?;//o_agt<==>scb??uvm_tlm_analysis_fifo?#(fec_frame_transaction?) X_mac_agt_scb_fifo;//o_agt<==>scb???uvm_tlm_analysis_fifo?#(X_mac_reg_transaction?)?reg_mdl_scb_fifo?;//ref<==>scb??uvm_tlm_analysis_fifo?#(eth_frame_transaction?)?eth_mdl_scb_fifo?;//ref<==>scb??uvm_tlm_analysis_fifo?#(fec_frame_transaction?)?X_mac_mdl_scb_fifo;//ref?<==>scb extern function new(string name,uvm_component parent); extern virtual function void build_phase(uvm_phase phase); extern virtual function void connect_phase(uvm_phase phase); `uvm_component_utils(X_mac_env)endclass像在 env 這個類中,就例化了兩個 X_mac_agent、 refernence model 和scoreboard,另外例化了 9 個 fifo,使用十分方便。.........................................................................
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
面向?qū)ο蠹夹g(shù) (Object-Oriented Technology)面向?qū)ο蠹夹g(shù)強(qiáng)調(diào)在軟件開發(fā)過程中面向客觀世界或問題域中的事物,采用人類在認(rèn)識客觀世界的過程中普遍運(yùn)用的思維方法,直觀、自然地描述客觀世界中的有關(guān)事物。...
關(guān)鍵字:
面向?qū)ο?/a>
抽象性
封裝性
在基于Verilog或VHDL的驗(yàn)證平臺中,驗(yàn)證平臺和DUT連接在一起,驗(yàn)證平臺中包含激勵發(fā)送和響應(yīng)監(jiān)測模塊,在仿真的開始DUT和驗(yàn)證平臺就被加載到仿真器的內(nèi)存當(dāng)中并在整個仿真期間一直存在。也就是說,驗(yàn)證平臺和DUT都是...
關(guān)鍵字:
System
SV將C語言中的大部分特性包含進(jìn)去,包括了相當(dāng)多的數(shù)據(jù)類型和操作符。1.SystemVerilog支持C語言內(nèi)建的數(shù)據(jù)類型。為了避免int和long數(shù)據(jù)類型的重復(fù)帶來混淆,在SV中,int是32位的,longint是64...
關(guān)鍵字:
C語言
System
將Systemverilog中的數(shù)組和隊(duì)列拿出來單獨(dú)講,是因?yàn)橄鄬τ谄渌臄?shù)據(jù)類型,數(shù)組和隊(duì)列與C語言和Verilog語言的數(shù)組有著不同的特性。這些特性不僅體現(xiàn)在完全迥異于C語言的定義方式,也體現(xiàn)在其成員函數(shù)上。Syst...
關(guān)鍵字:
System
verilog
SV開辟了一條可以將SV和C語言結(jié)合在一起的新途徑,通過使用DPI的導(dǎo)入聲明,SV語言中可以方便地調(diào)用一個C函數(shù)。同樣SV中的數(shù)值可以作為輸入值直接輸入到C函數(shù)中,C函數(shù)的返回值也可以直接傳遞給SV。同樣,使用DPI的導(dǎo)...
關(guān)鍵字:
System
關(guān)注星標(biāo)公眾號,不錯過精彩內(nèi)容來源|果果小師弟在看別人單片機(jī)程序時,你也許是奔潰的,因?yàn)槿肿兞繚M天飛,不知道哪個在哪用了,哪個表示什么,而且編寫極其不規(guī)范。自己寫單片機(jī)程序時,也許你也是奔潰的??偢杏X重新開啟一個項(xiàng)目,...
關(guān)鍵字:
單片機(jī)
面向?qū)ο?/a>
摘要:在看別人單片機(jī)程序時,你也許是奔潰的,因?yàn)槿肿兞繚M天飛,不知道哪個在哪用了,哪個表示什么,而且編寫極其不規(guī)范。自己寫單片機(jī)程序時,也許你也是奔潰的??偢杏X重新開啟一個項(xiàng)目,之前的寫過相似的代碼也無法使用,得重新敲...
關(guān)鍵字:
單片機(jī)
面向?qū)ο?/a>
C和C++的最大區(qū)別便是,C++有類,C沒有類的概念。單單這一個類使得C缺失很多的東西。好在C有結(jié)構(gòu)體,勉強(qiáng)可以當(dāng)0.1個類來使用。
關(guān)鍵字:
C語言
面向?qū)ο?/a>
來源:菜鳥教程、立功科技、百度百科 面向?qū)ο?&面向過程 1、什么是面向過程編程? 比較官方的解釋就是:“面向過程”(Procedure Oriented)是一種以過程為中心的編程思想。這些都是以什么正在發(fā)生為主要目標(biāo)進(jìn)...
關(guān)鍵字:
面向?qū)ο?/a>
筆者能力有限,如果文中出現(xiàn)錯誤的地方,歡迎大家給我指出來,我將不勝感激,謝謝~同時如果各位朋友對于狀態(tài)機(jī)還有不同的想法,筆者也很希望能夠互相交流,微信二維碼在公眾號底部獲取。 狀態(tài)機(jī)的概念 有限狀態(tài)機(jī)又稱有限狀態(tài)自動機(jī),...
關(guān)鍵字:
有限狀態(tài)機(jī)
面向?qū)ο?/a>
來自:冰河技術(shù) 前言 面向?qū)ο笏枷肱c并發(fā)編程有關(guān)系嗎?本來二者是沒有什么鳥關(guān)系的!它們是分屬兩個不同的領(lǐng)域,但是,Java卻將二者融合在一起了!而且融合的效果不錯:我們利用Java的面向?qū)ο蟮乃枷肽軌蜃尣l(fā)編程變得更加簡...
關(guān)鍵字:
面向?qū)ο?/a>
? ? OC和C++對C的擴(kuò)展最重要的當(dāng)然就是“面向?qū)ο蟆绷?,學(xué)習(xí)了C++對面向?qū)ο笞匀粚γ嫦驅(qū)ο笠稽c(diǎn)也不會感到陌生了,可能還覺得有點(diǎn)親切呢,陌生的語言中看到熟悉的詞,你說親不親切啊!面向?qū)ο蟮膸讉€重
關(guān)鍵字:
objective-c
面向?qū)ο?/a>
學(xué)習(xí)了何紅輝、關(guān)愛民寫的《Android設(shè)計模式》,對于面向?qū)ο蟮牧笤瓌t有進(jìn)一步的理解,特此根據(jù)自己的理解記錄總結(jié)一下什么是接口隔離原則
接口隔離的目的就是將龐大的接口拆分成更小的或者說更具體的接
關(guān)鍵字:
接口隔離
面向?qū)ο?/a>
靜態(tài)代碼塊格式:static{狀態(tài)代碼塊的執(zhí)行語句}特點(diǎn):隨著類的加載而執(zhí)行,只執(zhí)行一次,優(yōu)先于主函數(shù)用于給類進(jìn)行初始化重點(diǎn):靜態(tài)的特性,執(zhí)行順序?Person p = new Person();=&
關(guān)鍵字:
程序員
面向?qū)ο?/a>
學(xué)習(xí)了何紅輝、關(guān)愛民寫的《Android設(shè)計模式》,對于面向?qū)ο蟮牧笤瓌t有進(jìn)一步的理解,特此根據(jù)自己的理解記錄總結(jié)一下什么是依賴倒置原則其實(shí)依賴倒置原則就是告訴你,不要讓你的程序耦合度過高在依賴倒置
關(guān)鍵字:
面向?qū)ο?/a>
關(guān)于Java中的封裝封裝(面向?qū)ο蟮奶刭|(zhì)之一);是指隱藏對象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅對外提供公共訪問方式。
好處:將變化隔離;便于使用;提高重用性;安全性
封裝原則,將不需要對外提供的內(nèi)容都隱藏起來,把屬
關(guān)鍵字:
java
封裝
面向?qū)ο?/a>
一、面向?qū)ο笈c面向過程編程的區(qū)別我們以一個實(shí)際例子來說明這兩者的區(qū)別 , 例如:寫一個計算器的軟件。面向過程程序員思考方式:[1]定義變量保存用戶的輸入的數(shù)據(jù)[2]實(shí)現(xiàn)一個加法函數(shù),完成數(shù)據(jù)的加法[3
關(guān)鍵字:
編程
面向?qū)ο?/a>
面向過程
一.需求??銀行內(nèi)有6個業(yè)務(wù)窗口,1?-?4號窗口為普通窗口,5號窗口為快速窗口,6號窗口為VIP窗口。??有三種對應(yīng)類型的客戶:VIP客戶,普通客戶,快速客戶(辦理如交水電費(fèi)、電話費(fèi)之類業(yè)務(wù)的客戶)
關(guān)鍵字:
java
銀行系統(tǒng)
面向?qū)ο?/a>
什么是面向?qū)ο蠹热恢v到面向?qū)ο?。就要了解另一種編程模式,面向過程
面向過程強(qiáng)調(diào)的是do,就是行為,相當(dāng)于函數(shù)
面向?qū)ο髲?qiáng)調(diào)的是this.do.重點(diǎn)在于this上就是將函數(shù)以及相關(guān)聯(lián)的一些屬性內(nèi)容封裝在
關(guān)鍵字:
java
構(gòu)造函數(shù)
面向?qū)ο?/a>
1.什么是異常
程序中遇到的非致命錯誤,而不是編譯時的語法錯誤,如空指針異常,操作數(shù)越界,打開一個不純在的文件、網(wǎng)絡(luò)中斷等等。
由于Java語言面向?qū)ο?,萬物皆對象,異常也被看成是一種對象。
//==
關(guān)鍵字:
java
異常處理
面向?qū)ο?/a>