吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Cocotb驗證平臺時鐘的產生代碼

星星科技指導員 ? 來源:eetop ? 作者:eetop ? 2024-01-08 16:26 ? 次閱讀

時鐘芯片驗證過程中最基本也是最重要的決定因素,一個精確的時鐘產生對時鐘敏感的電路來說至關重要。

Cocotb平臺中內建了時鐘產生的函數Clock()。Clock函數在官網上的描述如下:

1611928209387594.png

Clock函數一共有三個形參,分別為:

signal:驅動的時鐘信號,如dut.clk

period:時鐘周期,必須為偶數個時間單位

units:時間單位,可以為“飛秒”、“皮秒”、“納秒”、“微秒”、“毫秒”、“秒”等時間單位;同時支持“時間步”,此時則協同“COCOTB_HDL_TIMEPRECISION”來決定具體的時間單位。

Clock的構造實例如下:

方式一:c = Clock(dut.clk, 10, 'ns')

cocotb.fork(c.start())

方式二:cocotb.fork(Clock(dut.clk, 10, units='ns').start())

產生的效果如下:

1611929705388769.png

當時鐘周期為奇數時則會報相關系統錯誤

1611929848478897.png

當希望產生一個520.13MHz頻率的時鐘時,時鐘周期為1.922596274008421ns,為了產生精度較高的520.13MHz時鐘時,可以采用不同的時間單位來構造該時鐘。

1、采用時間單位為“ns”,時鐘周期四舍五入取值為2ns

1611930874942098.png

1611930499664154.png

2、采用時間單位為“ps”,時鐘周期四舍五入取值為1923ps,周期要求偶數則取值為1924ps

1611930846826794.png

1611930642571052.png

3、采用時間單位為“fs”,時鐘周期四舍五入取值為1922596fs

1611930801909873.png

1611930754168102.png

Clock函數采用不同的時間單位時需要確保與代碼的timescale匹配,也就是說Clock函數的時間單位應大于等于timescale的時間單位。

以上產生的時鐘均為占空比1:1的時鐘,當用戶需要產生占空比非1:1的時鐘時,可以參考如下代碼的實現:

1611931447585104.png

當用戶需要做時鐘的動態調整時,可以參考如下的代碼實現:

1611931502467345.png


審核編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    456

    文章

    51192

    瀏覽量

    427336
  • 時鐘
    +關注

    關注

    11

    文章

    1747

    瀏覽量

    131804
  • 函數
    +關注

    關注

    3

    文章

    4346

    瀏覽量

    62979
  • 時鐘信號
    +關注

    關注

    4

    文章

    453

    瀏覽量

    28666
收藏 人收藏

    評論

    相關推薦

    SoC驗證平臺的FPGA綜合怎么實現?

    先進的設計與仿真驗證方法成為SoC設計成功的關鍵。一個簡單可行的SoC驗證平臺,可以加快SoC系統的開發與驗證過程。FPGA器件的主要開發供應商都針對自己的產品推出了SoC系統的開發
    發表于 10-11 07:07

    驗證方法簡介

    使用,使其成為現有的唯一適合追求高質量代碼和低錯誤率的設計和驗證工程師的 SystemVerilog 測試框架。 用于驗證工程師的 SVUnit 在用于子系統或芯片/產品級測試平臺之前
    發表于 02-13 17:03

    Python硬件驗證——摘要

    - 為什么選擇 Python?如何使用 Python 進行驗證(測試平臺)? Cocotb -(CO-routine 和 CO-simulation 的Testbench)可能是事實上的 標準Python
    發表于 11-03 13:07

    基于FPGA的NoC驗證平臺的構建

    針對基于軟件仿真片上網絡NoC(Network on Chip)效率低的問題,提出基于FPGA的NoC驗證平臺構建方案。該平臺集成可重用的流量產生器TG(Traffic Generat
    發表于 01-04 16:24 ?12次下載

    基于PCI接口的IP驗證平臺

    IP核驗證平臺采用6層板PCB設計,使用獨立的外部時鐘同步芯片,可以為PCI及其它接口提供穩定的零延遲時鐘系統電路,滿足PCI總線的時鐘要求
    發表于 01-17 14:02 ?1862次閱讀
    基于PCI接口的IP<b class='flag-5'>驗證</b><b class='flag-5'>平臺</b>

    基于System Verilog的可重用驗證平臺設計及驗證結果分析

    采用System Verilog語言設計了一種具有層次化結構的可重用驗證平臺,該平臺能夠產生各種隨機、定向、錯誤測試向量,并提供功能覆蓋率計算。將
    發表于 01-12 11:28 ?2726次閱讀
    基于System Verilog的可重用<b class='flag-5'>驗證</b><b class='flag-5'>平臺</b>設計及<b class='flag-5'>驗證</b>結果分析

    超低抖動時鐘產生與分配

    超低抖動時鐘產生與分配
    發表于 04-18 14:13 ?8次下載
    超低抖動<b class='flag-5'>時鐘</b>的<b class='flag-5'>產生</b>與分配

    PLL設計和時鐘頻率產生

    PLL設計和時鐘頻率產生機理免費下載。
    發表于 06-07 14:36 ?22次下載

    基于python的用于構建仿真及測試用例的lib庫cocotb

    ?? ????對于從事ASIC行業及FPGA行業的小伙伴來說,仿真是一件必不可少的事情。或許有人是驗證大拿,UVM高手,但相較于軟件豐富的驗證框架,對于各種各樣的場景單純的SV構建測試用例是否便捷
    的頭像 發表于 10-13 17:01 ?6893次閱讀
    基于python的用于構建仿真及測試用例的lib庫<b class='flag-5'>cocotb</b>

    cocotb中的基礎語法

    cocotb的出現使得我們能夠在做RTL仿真驗證時依托Python來進行測試用例的構建,當我們習慣了用Verilog、SystemVerilog來構建測試用例時,切換到cocotb后最直觀的方式便是我們能夠建立
    的頭像 發表于 07-21 09:18 ?2530次閱讀

    cocotb的安裝、python tb文件的寫法

    設置默認仿真器為cadence xcellium,RTL語言選verilog,指定RTL頂層模塊名字(就是dut的名字),testbench的名字為tb,最后include一個cocotb共用的makefile。
    的頭像 發表于 09-21 11:33 ?3622次閱讀

    基于Simulink代碼生成的FPGA信號處理系統仿真驗證平臺

    時,仍然需要手動編寫代碼搭建仿真平臺[2],生成仿真激勵,效率較低。信號處理系統往往包含大量復雜的算法[3],對于驗證人員編寫代碼的經驗及技能要求較高。
    的頭像 發表于 11-04 16:24 ?2396次閱讀

    移動SoC的時鐘驗證

    些更低的幾何尺寸下設計和驗證時鐘帶來了越來越多的復雜性和驗證挑戰。在這種快速發展的形勢下,必須重新評估當前的時鐘驗證方法,以確保最佳的
    的頭像 發表于 07-17 10:12 ?822次閱讀
    移動SoC的<b class='flag-5'>時鐘</b><b class='flag-5'>驗證</b>

    時鐘信號怎么產生

    時鐘信號怎么產生時鐘信號是一種重要的信號,它在電子設備中廣泛應用。時鐘信號的產生與傳輸是現代電子設備中不可或缺的基礎技術之一。
    的頭像 發表于 09-15 16:28 ?2672次閱讀

    用python寫驗證環境cocotb

    本文介紹了cocotb的安裝、python tb文件的寫法、用xrun仿真cocotb的腳本等,我們來看看體驗如何。
    的頭像 發表于 07-24 09:38 ?623次閱讀
    用python寫<b class='flag-5'>驗證</b>環境<b class='flag-5'>cocotb</b>
    百家乐官网游戏网上投注| 金凤凰平台| 大发888代充值| 大发888信誉平台| 金宝博娱乐场| 通海县| 百家乐官网破解视频| 百家乐官网如何写路| 澳门百家乐官网怎么| 百家乐官网真人博彩的玩法技巧和规则 | 线上百家乐官网的玩法技巧和规则| 布加迪百家乐官网的玩法技巧和规则 | 24山辅星水法分阴阳| 电子百家乐博彩正网| 百家乐赌场导航| 盛大百家乐的玩法技巧和规则| 赌球者| 沙龙国际| 百家乐官网视频游戏掉线| 百家乐官网任你博娱乐网| 24山阴宅评凶吉| 百家乐单打| 大发888下载客户端| 余庆县| 百家乐官网计划| 虚拟百家乐游戏下载| 百家乐又称为什么| 棋牌类游戏| 网上百家乐官网看牌器| 百家乐官网保单机解码| 澳门百家乐怎赌才能赚钱| 大发888娱乐城下载lm0| 百家乐15人桌| 新金润娱乐城| 乐九线上娱乐| 百家乐官网扑克片礼服| 百家乐神仙道礼包| 全讯网hg33.com| 百家乐官网投注方式| 杨筠松 24山 图| 威尼斯人娱乐城不打烊|