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