采用SystemVerilog進(jìn)行仿真則更容易生成隨機(jī)數(shù),而且對(duì)隨機(jī)數(shù)具有更強(qiáng)的可控性。對(duì)于隨機(jī)變量,在SystemVerilog中可通過(guò)rand或randc加數(shù)據(jù)類型的方式定義。rand表明該變量為隨機(jī)變量,且在指定范圍內(nèi)服從均勻分布;randc是在rand的基礎(chǔ)上要求當(dāng)生成的隨機(jī)數(shù)已經(jīng)在指定范圍內(nèi)完成一次遍歷之后,將重復(fù)遍歷,c為cyclic(循環(huán))。聲明隨機(jī)變量后,需要通過(guò)constraint限定隨機(jī)數(shù)需要滿足的條件。這些都需要在class中聲明。
案例1:用小于號(hào)《 大于號(hào) 》 小于等于號(hào) 《= 大于等于號(hào)》=創(chuàng)建限定條件
代碼如下圖所示。代碼第6行限定了a0必須小于3,第7行限定了a1必須大于2且小于7。注意,這4個(gè)關(guān)系運(yùn)算符不能連寫,如代碼第8行是不合法的。代碼第16行對(duì)class實(shí)例化,代碼第20行為class對(duì)象分配內(nèi)存空間并完成class對(duì)象的初始化。代碼第22行用于判定隨機(jī)數(shù)是否成功生成,若成功則返回1,否則返回0。
編輯:jq
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
原文標(biāo)題:SystemVerilog仿真如何生成隨機(jī)數(shù)
文章出處:【微信號(hào):Lauren_FPGA,微信公眾號(hào):FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
相關(guān)推薦
如下幾個(gè)小節(jié):31.1 隨機(jī)數(shù)發(fā)生器簡(jiǎn)介31.2 硬件設(shè)計(jì)31.3 程序設(shè)計(jì)31.4 下載驗(yàn)證
31.1隨機(jī)數(shù)發(fā)生器簡(jiǎn)介ESP32-S3內(nèi)置一個(gè)真隨機(jī)數(shù)發(fā)生器(RNG),其生成的32
發(fā)表于 12-26 09:31
近日,國(guó)家密碼管理局商用密碼檢測(cè)中心出具報(bào)告,由安徽問(wèn)天量子科技公司自主研發(fā)的WT-QRNG300量子隨機(jī)數(shù)芯片通過(guò)檢測(cè)。這是國(guó)內(nèi)首家官方商密報(bào)告認(rèn)定、且已實(shí)現(xiàn)商用量產(chǎn)及產(chǎn)業(yè)化的“量子隨機(jī)數(shù)芯片
發(fā)表于 12-19 19:06
?310次閱讀
近日,國(guó)家密碼管理局商用密碼檢測(cè)中心出具報(bào)告,問(wèn)天量子和方寸微電子聯(lián)合自主研發(fā)的WT-QRNG300量子隨機(jī)數(shù)芯片通過(guò)檢測(cè),這是國(guó)內(nèi)首家官方商密報(bào)告認(rèn)定、且已實(shí)現(xiàn)商用量產(chǎn)及產(chǎn)業(yè)化的“量子隨機(jī)數(shù)芯片”產(chǎn)品。
發(fā)表于 12-19 16:18
?284次閱讀
對(duì)稱加密技術(shù)在實(shí)際應(yīng)用中可能面臨的安全漏洞主要包括: 實(shí)現(xiàn)不當(dāng): 錯(cuò)誤的加解密實(shí)現(xiàn)、弱隨機(jī)數(shù)生成器或其他邏輯錯(cuò)誤都可能導(dǎo)致安全漏洞。 漏洞利用: 利用已知的弱點(diǎn)或攻擊手段,如理論上可行
發(fā)表于 12-16 13:59
?99次閱讀
本次學(xué)習(xí)的實(shí)戰(zhàn)是關(guān)于4G模組LuatOS開發(fā)的隨機(jī)數(shù)示例指南,希望大家有所收獲。
發(fā)表于 11-30 09:51
?202次閱讀
本文主要解析的是低功耗4G模組Air780E的LuatOS開發(fā)隨機(jī)數(shù)(random)實(shí)例,我以整理成文分享給大家。
發(fā)表于 11-29 20:23
?128次閱讀
引入由隨機(jī)數(shù)生成器產(chǎn)生的隨機(jī)數(shù)作為時(shí)間戳或序列號(hào),系統(tǒng)能夠識(shí)別并拒絕重復(fù)使用的舊消息,從而防止攻擊者利用歷史信息進(jìn)行欺詐。此外,隨機(jī)數(shù)
發(fā)表于 11-08 15:38
概述產(chǎn)品和生態(tài)系統(tǒng)安全性的需求比以往任何時(shí)候都更加重要。真隨機(jī)數(shù)是所有安全系統(tǒng)的核心,其質(zhì)量會(huì)影響設(shè)計(jì)的安全性。因此在沒(méi)有內(nèi)置硬件TRNG的AT32的微控制器系列中,如何提高隨機(jī)數(shù)的有效,來(lái)符合
發(fā)表于 08-30 12:26
?569次閱讀
分享如何在Xilinx Breadboardable Spartan-7 FPGA, CMOD S7中實(shí)現(xiàn)4位偽隨機(jī)數(shù)發(fā)生器(PRNGs)。
發(fā)表于 08-06 11:20
?676次閱讀
labview公式節(jié)點(diǎn)中的rand函數(shù)怎么使用呀,我的目的是生成0-3區(qū)間內(nèi)的4位小數(shù)的隨機(jī)數(shù)
發(fā)表于 04-25 23:54
HAL_TRNG_Extract(uint8_t type, uint32_t random[4]);
參數(shù):
type:隨機(jī)數(shù)生成熵提取模式(0:crc,1:xor)
random:存放生成的
發(fā)表于 04-24 09:42
為了實(shí)現(xiàn)這些目標(biāo),Python 為我們提供了random() 模塊。random() 是一個(gè)內(nèi)置的 Python 模塊,用于生成隨機(jī)數(shù)。
發(fā)表于 04-15 12:47
?668次閱讀
想咨詢一下,TC389芯片上HSM的TRNG真隨機(jī)數(shù)功能,如何判斷其隨機(jī)能力呢?有什么資料或者測(cè)試內(nèi)容嗎?
發(fā)表于 03-05 07:20
指導(dǎo)一下。
經(jīng)過(guò)查詢得知可以使用rt_hw_random_get()函數(shù)來(lái)獲取硬件隨機(jī)數(shù),請(qǐng)文需要做什么配置才能使用rt_hw_random_get()函數(shù)。
發(fā)表于 02-23 08:03
聯(lián)合研究團(tuán)隊(duì)研制出一種基于時(shí)分復(fù)用簡(jiǎn)并點(diǎn)飛秒光學(xué)參量振蕩器,具備高重復(fù)頻率飛秒光纖激光器泵浦,通過(guò)在諧振腔中接入多通單元,能高效拓展光路,實(shí)現(xiàn)5比特全光量子隨機(jī)數(shù)發(fā)生器,并能保持系統(tǒng)高度的緊湊性和穩(wěn)定性。
發(fā)表于 01-09 11:13
?549次閱讀
評(píng)論