[{"data":1,"prerenderedAt":11},["Reactive",2],{"cz1CRKCCal":3},{"article":4},{"id":5,"title":6,"content":7,"url":8,"createdAt":9,"updatedAt":9,"publishedAt":9,"contentHash":10},1984,"UVM 又來了！學習 UVM6XU06A6 的步驟與技巧","\u003Cp>上一篇文章我們介紹了 UVM 與 UVM1，現在又有一個新的版本出現了：UVM6XU06A6。這個版本相對於之前的版本新增了許多功能，若想要利用 UVM 優秀的測試功能進行設計及驗證，學會 UVM6XU06A6 是必不可少的。以下是學習 UVM6XU06A6 的步驟與技巧： \u003C/p>\n\n\u003Ch2>瞭解 UVM6XU06A6 的新功能 \u003C/h2>\n\n \u003Cp>UVM6XU06A6 版本融合了之前 UVM 的功能，並增加了如下的新功能： \u003C/p>\n\n \u003Cp>  用於階層式驗證的新消息類型（TLM2.0）。 \u003C/p>\n \u003Cp>  用於內部檢查的新階層式驗證計數器。 \u003C/p>\n \u003Cp>  獨立通用項目的高級測試板模塊。 \u003C/p>\n \u003Cp>  單內容記錄器，使調試更容易並降低區域面積。 \u003C/p>\n \u003Cp>  現場重新配置 UVM 組件。 \u003C/p>\n \u003Cp>  鑽測試網絡/覆蓋分層爪哇源碼。 \u003C/p>\n\n \u003Cp>在瞭解了新功能之後，接下來我們需要學習如何使用這些功能進行設計及驗證。 \u003C/p>\n\n\u003Ch2>學習 UVM6XU06A6 的程序 \u003C/h2>\n\n \u003Cp>學習 UVM6XU06A6 的程序與學習 UVM 的程序基本相同，只需注意以下不同之處： \u003C/p>\n\n\u003Ch2>設置環境 \u003C/h2>\n\n \u003Cp>為了使用 UVM6XU06A6，我們需要為設計配置相應的環境。可以在系統級別、IP 級別或單元級別或更低級別進行配置。 \u003C/p>\n\n \u003Cp>例如，如果您正在編寫一個線性代數 IP，您可以將此 IP 的 UVCs 放入 IP 級別的環境中。 \u003C/p>\n\n\u003Ch2>實現 UVM6XU06A6 類 \u003C/h2>\n\n \u003Cp>和 UVM 一樣，實現 UVM6XU06A6 類是實現整個驗證框架的重點。與 UVM 不同的是，UVM6XU06A6 添加了許多新組件。 \u003C/p>\n\n \u003Cp>例如，以下是使用 UVM6XU06A6 編寫簡單測試用例的示例： \u003C/p>\n\n \u003Cp>    class MyTest extends uvm_test;  `uvm_component_param_utils(MyTest)  function new(string name, uvm_component parent);    super.new(name, parent);  endfunction  virtual task run_phase(uvm_phase phase);    // do Test Case stuff here  endtaskendclass \u003C/p>\n\n \u003Cp>在上述代碼中，`uvm_test` 是 UVM6XU06A6 定義的頂層測試組件，除了硬件設計之外的一切都由該組件控制。通過重寫 `run_phase`，我們可以將自己的代碼添加到測試當中。 \u003C/p>\n\n\u003Ch2>測試結果 \u003C/h2>\n\n \u003Cp>和以往一樣，當我們編寫完測試用例後，需要在 UVM6XU06A6 环境中執行該測試。 \u003C/p>\n\n \u003Cp>下面是使用 QuestaSim 執行 UVM6XU06A6 測試的指令： \u003C/p>\n\n \u003Cp>    vsim -c -do 'run -all' test_name \u003C/p>\n\n \u003Cp>`test_name` 是您想要執行的測試的名稱。 \u003C/p>\n\n \u003Cp>當您以這種方式執行測試時，UVM6XU06A6 將生成與 UVM 類似的報告，但包含 UVM6XU06A6 新增的組件和功能。 \u003C/p>\n\n\u003Ch2>學習 UVM6XU06A6 的技巧 \u003C/h2>\n\n \u003Cp>除了瞭解 UVM6XU06A6 的功能和學習程序之外，還有一些技巧可以幫助您更好地使用 UVM6XU06A6。 \u003C/p>\n\n\u003Ch2>了解更多的消息和計數器 \u003C/h2>\n\n \u003Cp>UVM6XU06A6 添加了許多新的消息和計數器，您可以使用這些消息和計數器跟踪您的設計的各個方面。請務必充分利用這些新功能。 \u003C/p>\n\n\u003Ch2>學習使用新的測試板模塊 \u003C/h2>\n\n \u003Cp>UVM6XU06A6 添加了一個新的高級測試板模塊，而這種新的測試板可以更加容易地構建基於信號的複雜測試。這為設計測試帶來了更大的彈性，請務必學習使用這種新的測試板模塊。 \u003C/p>\n\n\u003Ch2>現場重新配置 \u003C/h2>\n\n \u003Cp>UVM6XU06A6 添加了一個新功能，現場重新配置 UVM 組件，這意味着您可以在測試過程中動態地重新配置測試組件。這使得調試更容易，並且可以降低設備的綜合面積。 \u003C/p>\n\n\u003Ch2>結論 \u003C/h2>\n\n \u003Cp>瞭解 UVM6XU06A6 很容易，只需學習它的新功能和一些技巧即可。這將使您能夠更好地利用 UVM6XU06A6 的潛力進行設計和驗證。遵循上述步驟和技巧，您將成為使用 UVM6XU06A6 的專家！ \u003C/p>","UVM-又來了-學習-UVM6XU06A6-的步驟與技巧","2024-03-13T03:05:33.670Z","bbd81a9cfab5c5ba3c33489aaaa662f5cd15226dca45d71dd977f75a0c871ee5",1793087686383]