999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于UVM 的節能化電梯運行控制系統設計和驗證

2023-04-13 02:02:30梁光勝李朝洋楊松梁兆楷
電子制作 2023年4期
關鍵詞:電梯信號功能

梁光勝,李朝洋,楊松,梁兆楷

(華北電力大學 電氣與電子工程學院,北京,102206)

0 引言

隨著集成電路復雜度增長,驗證工作成為制約集成電路發展的瓶頸,高效的驗證方法不僅能確保設計功能正常,還可以提高設計效率[1~2]。隨著城市化進程日益加快,電梯使用量增加,電梯能耗在建筑總能耗中占比較大,節能化電梯日益受到重視[3~4]。本文從提升驗證效率和可靠性角度,以SystemVerilog 為驗證語言,以電梯運行控制系統為DUT,搭建了基于UVM 的驗證平臺,采用受約束的隨機測試用例,通過收集覆蓋率完成對測試進展的度量,根據仿真結果優化驗證環境,提高UVM 驗證平臺的高重用性、可移植性、可靠性和可擴展性。

1 節能化電梯運行控制系統的設計

1.1 節能化電梯運行控制系統的功能規劃

電梯運行控制系統以FPGA 作為核心控制芯片,通過按鍵模擬外部各種信號的輸入,借助LED 亮滅和數碼管顯示模擬真實電梯的運行過程,系統可實現對電梯多種運行模式的轉換與控制。

節能化電梯運行控制系統的主要功能如下:①響應電梯轎廂內外的按鍵請求指令,按方向優先原則依次響應;②當電梯運行到各個樓層時,相應樓層指示燈亮起,數碼管顯示樓層數;③外部控制開關,一層只有向上按鈕,頂層只有向下按鈕,其余樓層有上下行按鈕;④具有超載報警、預超載和故障報警功能,此時電梯門處于打開狀態,直至故障解除;⑤同一時間既有上行又有下行指令時,電梯會在響應完同一方向指令后再響應另一方向指令;⑥電梯在高峰時段自動切換到分層模式,電梯只響應奇數層呼梯信號;⑦當沒有呼梯指令時,電梯會在指定時間后自行關閉電梯門和轎廂照明,進入低功耗等待狀態。

1.2 FPGA 控制模塊的頂層設計

采用自頂向下的設計方法,電梯運行控制系統中FPGA控制模塊頂層架構設計如圖1 所示,由信號控制、運動判斷、運動狀態機和輸出控制模塊組成。

圖1 FPGA 控制模塊的頂層架構

1.3 運動判斷模塊的設計

運動判斷模塊是電梯運行的主要控制模塊。根據電梯運行方向優先原則和運行警示原則對輸入信號賦予不同的優先級,其中轎廂所處樓層優先級最低。超重信號和預超重信號優先級最高,處于第一優先級,其有效時整個電梯進入等待狀態。上下行脈沖處于第二優先級,在上行脈沖有效時,上行信號優先級高于下行信號;在下行脈沖有效時,下行信號優先級高于上行信號。

1.4 運動狀態機的設計

電梯按照方向優先和就近原則運行,相同用戶指令在不同運行狀態時會執行不同的運行程序。運行狀態有上行態、下行態、空閑態。當處于上行態時,上行指令比下行指令優先級高;當電梯處于空閑態時,與電梯停靠樓層鄰近的用戶指令優先級高。

判斷模塊輸出為狀態機輸入,主要信號包括上行、下行、到達相應樓層、開門、關門、啟動、結束。狀態機有空閑、等待、上行、下行、開關門5 種狀態,如圖2 所示。

圖2 電梯運行控制系統的狀態機

2 UVM 驗證平臺的構建

采用SystemVerilog 構建層次化和模塊化的UVM 驗證平臺,主要目的是確保待測模塊的正確性與完備性,主要任務是模擬待測模塊可能出現的情況,產生相應隨機化激勵信號,驅動待測模塊運行[5~8]。

2.1 UVM 驗證平臺的架構

UVM 驗證平臺的架構如圖3 所示,包括待測模塊DUT、驅動模塊Driver、監測模塊Monitor、激勵產生模塊Sequence、激勵仲裁模塊Sequencer、參考模型Reference Model、比較器Scoreboard、驗證環境Agent和Env、測試頂層Top 等組件。

圖3 UVM 驗證平臺的架構

sequence 產生待測模塊的所有激勵信號,并包裝成transaction 事務包,發送給sequencer,sequencer 進行內部檢查確認后再發送給driver,driver 用這些激勵信號驅動DUT 和參考模型,monitor 對DUT 輸入輸出結果監測,計分板將收集并比對DUT 的輸出和參考模型的結果。

由于driver、sequencer 和monitor 使用同一通信協議且結構相似,因此可集成在一個agent 中。而agent、scoreboard 和參考模型屬于同一層次的模塊,將其集成在一起構成了整個驗證平臺的基本框架,同時也構建了UVM驗證平臺的樹形結構。

2.2 UVM 驗證平臺的通信傳輸機制

UVM 驗證平臺各組件采用TLM 通信方式,成功地將模塊內的計算和模塊之間的通信從時間跨度方面剝離開,通過事務級端口將各組件通信時所需變量和約束條件打包傳輸,采用虛擬接口完成DUT與驗證組件之間的通信和時序同步。

針對DUT 設置虛擬接口信號,通過config_db 實現驗證平臺與DUT 交互;Driver 組件通過模擬傳輸協議驅動DUT 和參考模型;參考模型以新編程語言編寫待測模塊代碼并將運行結果傳給計分板;比較器將待測模塊和參考模型的輸出結果比對分析。

2.3 電梯運行控制系統UVM 驗證平臺實現

按照層次化和模塊化原則構建UVM 驗證平臺,在頂層實例化電梯控制系統,使用config_db 機制通信,首先在頂層完成set 操作:

uvm_config_db#(virtual ele_if)::set(null, "uvm_test_top.env.i_agt.drv", "vif", m_ahb_if);

uvm_config_db#(virtual ele_if)::set(null, "uvm_test_top.env.i_agt.mon", "vif", m_ahb_if);

其中第一個和第二個參數聯合起來組成目標路徑,與此路徑符合的目標才能收信。第一個參數必須是一個uvm_component 實例的指針,第二個參數是相對此實例的路徑。第三個參數表示一個記號,用以說明這個值是傳給目標中的哪個成員,第四個參數是要設置的值。然后利用TLM 通信中get 操作完成對虛擬接口數據的獲取,在底層driver 組件和monitor 組件中完成get 操作,同時判斷底層組件是否接收到虛擬接口中的數據:

if(!uvm_config_db#(virtual ele_if)::get(this, "", "vif", vif))

‘uvm_error("NOVIF",{"virtual interface must be set for: ",get_full_name(),".vif"});

以此完成driver、monitor 與電梯控制系統的互聯通信。

驗證平臺組件和待測模塊通過虛擬接口互聯,避免使用絕對路徑,增強組件的可移植性和可重用性。虛擬接口的主要信號通過rand 語句將所要定義的信號變量設為隨機變量,完成對接口信號字段的定義和隨機化,使信號能取所定義范圍中任何一個隨機數。通過關鍵字constraint 約束隨機信號,從而產生出有效的激勵供測試平臺調用。這種隨機化激勵完善了激勵的完備性,可測試出DUT 更多的邊界條件。虛擬接口主要信號包括各樓層按鍵信號rand bit [16:0] key、電梯使能信號rand bit key_en、電梯超載和預超載以及故障報警信號rand bit key_weight、電梯運行模式控制信號rand bit [1:0] key_ctl、電梯運行顯示信號rand bit [5:0] led、電梯樓層顯示信號rand bit [7:0] seven_tube。

Driver 和Monitor 是驗證平臺與DUT 交互的組件,其功能是收集事務級數據,根據待測模塊功能和時序要求將其轉換成DUT 各輸端口信號。Driver 繼承uvm_component的uvm_driver 類,首先通過宏完成driver 的工廠注冊,將其登記在UVM 內部網表;其次端口例化,build_phase完成與DUT 互聯;最后run_phase 完成所有信號時序描述,將事務級端口數據轉換成信號級驅動DUT。run_phase 包含reset_phase 和do_drive 等任務,reset_phase 完成復位工作,do_drive 完成節能化電梯運行控制系統端口的時序描述和事務級端口數據的轉換。

參考模型繼承uvm_component 類,是針對DUT 的驗證基準,通過算法模仿DUT 的功能需求,并認定所實現的功能是完全正確的。參考模型接入與DUT 相同的激勵,其輸出與DUT 輸出自動比對,結果一致時認為DUT 符合設計需求,不一致時判定DUT 存在錯誤或缺陷。創建參考模型時,需要完成組件繼承、宏的工廠注冊,并定義與DUT 對應的功能模塊;然后定義兩個端口,其中一個端口接受Driver發來的事務級信號作為輸入,另一端口則把輸出的事務級信號發送到Scoreboard 進行數據的自動比對。參考模型在build_phase 中完成初始化。當輸入端口接收到Driver的信號時,判斷電梯控制系統的運行模式,將結果發送到Scoreboard 進行比對。

在底層組件定義完畢后,創建驗證環境Agent 和Env。每個測試的功能點可以使用不同的Agent 進行打包,所有的Agent 統一在Env 中實例化,根據不同的需求調用不同的Agent。所有的env 都派生自uvm_env,與底層組件一樣使用uvm_component_utils宏來實現工廠注冊。在build_phase中使用new 函數完成i_agent、o_agent、參考模型和比較器等底層組件的實例化,并指定各個agent 的工作模式;在connect_phase 中使用uvm_tlm_analysis_fifo 完成各個組件的事務級通信。

3 節能化電梯運行控制系統的驗證

3.1 功能驗證點提取

運行UVM 驗證平臺,檢驗電梯控制系統能否根據外界輸入正常工作,能否完成預期的各項功能,其功能驗證點和方案如表1 所示。

表1 電梯運行控制系統的功能驗證點和驗證方案

3.2 驗證過程數據報告

編寫多個測試用例來驗證不同測試點的完備性,利用VCS 編譯仿真并產生編譯報告、覆蓋率結果。通過make命令對各驗證組件和DUT 編譯,若編譯成功則生成可執行文件和編譯結果信息。通過運行可執行文件,選擇不同的測試項testcase 仿真,利用“'uvm_info”宏打印當前比對的事務信息,比對成功時打印“Compare successfully”等信息,比對失敗則報錯。電梯運行控制系統的部分數據報告如圖4 所示。

圖4 電梯運行控制系統的部分數據報告

3.3 DVE 界面波形

驗證平臺通過虛擬接口與DUT 連接,將ele_slv_if.sv中虛擬接口信號導入DVE 波形分析器,選用不同測試用例就可得到DUT 不同的輸入輸出波形,如圖5 所示。

圖5 電梯運行控制系統的部分運行波形

3.4 覆蓋率

覆蓋率是評估驗證工作進度與驗證是否完備的指標,包括代碼覆蓋率和功能覆蓋率。代碼覆蓋率分為語句覆蓋率、條件覆蓋率、決策覆蓋率、跳轉覆蓋率和狀態機覆蓋率,是衡量待測模塊運行情況的標準。在仿真過程中EDA 軟件自動收集代碼覆蓋率,當參數NUMBER_PACKETS 為5000、TEST_MODE 為1、+ntb_random_SEED 為1651198619 時,其覆蓋率報告如圖6 所示。

圖6 電梯運行控制系統的覆蓋率報告

完成驗證后再下載到FPGA 芯片中,應用開發板中,可觀察到節能化電梯運行控制系統功能已全部實現,UVM 驗證平臺的重用性和完備性良好。

4 結論

本文以電梯運行系統為待測對象,搭建了UVM 通用驗證平臺,以覆蓋率為驗證指標,檢測了UVM 驗證平臺的高重用性、可移植性、可靠性和可擴展性。

猜你喜歡
電梯信號功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
基于FPGA的多功能信號發生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
被困電梯以后
關于非首都功能疏解的幾點思考
電梯不吃人
基于LabVIEW的力加載信號采集與PID控制
乘電梯
小說月刊(2015年4期)2015-04-18 13:55:18
中西醫結合治療甲狀腺功能亢進癥31例
主站蜘蛛池模板: 91亚洲国产视频| 欧美不卡视频在线| 98精品全国免费观看视频| 国产91高清视频| 狠狠色狠狠色综合久久第一次| 免费在线色| 欧美日韩精品一区二区在线线| 亚洲中文字幕无码爆乳| 日韩欧美网址| 国产精品九九视频| 日本AⅤ精品一区二区三区日| 国产啪在线91| 色综合国产| 狠狠色婷婷丁香综合久久韩国| 亚洲人成人无码www| 色综合狠狠操| 欧美激情一区二区三区成人| 九九九九热精品视频| 国产亚洲美日韩AV中文字幕无码成人| 99久久国产综合精品2020| 国产成人精品优优av| 五月天在线网站| 国产成人无码Av在线播放无广告 | 国产极品美女在线播放| 免费又黄又爽又猛大片午夜| 在线观看热码亚洲av每日更新| 精品超清无码视频在线观看| 亚洲AV色香蕉一区二区| 久久黄色免费电影| 日本三区视频| 999精品视频在线| 久久亚洲国产一区二区| 亚洲精品视频免费| 最近最新中文字幕在线第一页| 日本亚洲欧美在线| 一本大道香蕉中文日本不卡高清二区 | 中国精品久久| 999福利激情视频| 国产精品丝袜在线| 欧美另类视频一区二区三区| 国产成人综合亚洲欧美在| 全部无卡免费的毛片在线看| 91麻豆国产在线| 91探花在线观看国产最新| 亚洲综合专区| 久久香蕉国产线看精品| 九九九精品成人免费视频7| 中文字幕在线免费看| 99re精彩视频| 久久久黄色片| 综合色区亚洲熟妇在线| 国内精品小视频福利网址| 一级毛片在线播放免费| 亚洲综合香蕉| 亚洲国产中文在线二区三区免| 日本三区视频| 欧美激情视频一区| 免费看美女自慰的网站| 国产凹凸视频在线观看| 国产人碰人摸人爱免费视频| 精品久久综合1区2区3区激情| 国产欧美日韩在线在线不卡视频| 青青青视频免费一区二区| 手机成人午夜在线视频| 91在线视频福利| 国产一区二区福利| 99热这里只有精品国产99| 国产真实自在自线免费精品| 亚洲美女操| 午夜视频免费一区二区在线看| 国产日本欧美在线观看| 午夜高清国产拍精品| 成人免费网站在线观看| 香蕉在线视频网站| 亚洲男人天堂久久| 国产欧美视频综合二区| 看你懂的巨臀中文字幕一区二区| 国模极品一区二区三区| 欧美a在线看| 日韩一二三区视频精品| 亚洲国产欧美国产综合久久 | 日韩高清一区 |