国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

如何使用Verilog生成隨機數(shù)

這篇具有很好參考價值的文章主要介紹了如何使用Verilog生成隨機數(shù)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

模塊目的:生成隨機數(shù)。

模塊端口定義

輸入:時鐘信號,復(fù)位信號,重新加載信號,種子

輸出:隨機數(shù)

輸入一個種子32位,輸出16位隨機數(shù);選取時鐘,復(fù)位,重新加載種子。

代碼實現(xiàn)

// 使用32個邏輯單元用于D觸發(fā)器/加法器和8個DSP塊用于32x18=>32位乘法

module c_rand (

? input clk,???????? // 時鐘輸入

? input rst,???????? // 復(fù)位輸入

? input reseed,????? // 重新種子輸入

? input [31:0] seed_val,? // 種子值輸入

? output [15:0] out?? // 16位隨機數(shù)輸出

);

? wire [15:0] out;??? // 輸出端口

?

? reg [31:0] state;?? // 內(nèi)部狀態(tài)寄存器

? always @(posedge clk or posedge rst) begin

??? if (rst)????????? // 如果復(fù)位信號被激活,將狀態(tài)寄存器state重置為0

????? state <= 0;

??? else begin

????? if (reseed)???? // 如果重新種子信號被激活,將狀態(tài)寄存器state更新為輸入的種子值seed_val

??????? state <= seed_val;

????? else begin

??????? // 使用C運行時庫的隨機數(shù)生成算法更新狀態(tài)寄存器state

??????? state <= state * 32'h343fd + 32'h269EC3;

????? end

??? end

? end

? // 輸出隨機數(shù)是狀態(tài)寄存器的高16位,并對結(jié)果進行位與運算,僅保留低15位(15:0)

? assign out = (state >> 16) & 16'h7fff;

endmodule文章來源地址http://www.zghlxwxcb.cn/news/detail-767969.html

測試文件:

Tb文件

`timescale 1ns / 1ps

module rand_test ();

reg clk, rst, reseed;

wire [15:0] out;

reg [31:0] seed_val;

c_rand c (.clk(clk),.rst(rst),.reseed(reseed),.seed_val(seed_val),.out(out));

initial begin

?????? rst = 0;

?????? clk = 0;

?????? seed_val = 32'd1234;

?????? #10 rst = 1;

?????? #10 rst = 0;

?????? #10 reseed = 1;

end

//-----命令行打印生成的隨機數(shù)-----------

always @(negedge clk) begin

? reseed = 0;

? $display ("%x",out);

end

//----時鐘翻轉(zhuǎn)間隔----

always begin

?????? #1000 clk = ~clk;?

end

endmodule

到了這里,關(guān)于如何使用Verilog生成隨機數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【安全密鑰】對基爾霍夫-洛-約翰遜噪聲(KLJN)安全密鑰交換協(xié)議的統(tǒng)計隨機數(shù)生成器攻擊(Matlab代碼實現(xiàn))

    【安全密鑰】對基爾霍夫-洛-約翰遜噪聲(KLJN)安全密鑰交換協(xié)議的統(tǒng)計隨機數(shù)生成器攻擊(Matlab代碼實現(xiàn))

    ???????? 歡迎來到本博客 ???????? ??博主優(yōu)勢: ?????? 博客內(nèi)容盡量做到思維縝密,邏輯清晰,為了方便讀者。 ?? 座右銘: 行百里者,半于九十。 ?????? 本文目錄如下: ?????? 目錄 ??1 概述 ??2 運行結(jié)果 ??3?參考文獻 ??4 Matlab代碼、數(shù)據(jù)、文章

    2024年04月12日
    瀏覽(28)
  • Unity如何生成隨機數(shù)(設(shè)置種子)

    Unity如何生成隨機數(shù)(設(shè)置種子)

    我們可以使用Random類來生成一些隨機數(shù) Random類是用于生成隨機數(shù)的類之一。它可以用于生成不同類型的隨機數(shù),如整數(shù)、浮點數(shù)和向量。 我們可以使用Random.Range來生成指定范圍內(nèi)的隨機整數(shù)或浮點數(shù)。下面舉兩個例子: 運行結(jié)果如下所示: 使用Random.insideUnitCircle來獲取一個

    2024年02月04日
    瀏覽(18)
  • 【Java】Java如何生成隨機數(shù)?

    【Java】Java如何生成隨機數(shù)?

    我們在學(xué)習(xí) Java 基礎(chǔ)時就知道可以生成隨機數(shù),可以為我們枯燥的學(xué)習(xí)增加那么一丟丟的樂趣。本文就來介紹 Java 隨機數(shù)。 在 Java 中使用 Random 工具類來生成隨機數(shù),該類在 java.util 包下,在 JDK1.0 版本就存在了。Random 單詞本身就是隨機、隨意、任意的意思。Random 是一個普通

    2024年02月12日
    瀏覽(23)
  • Java如何生成隨機數(shù)?要不要了解一下!

    Java如何生成隨機數(shù)?要不要了解一下!

    我們在學(xué)習(xí) Java 基礎(chǔ)時就知道可以生成隨機數(shù),可以為我們枯燥的學(xué)習(xí)增加那么一丟丟的樂趣。本文就來介紹 Java 隨機數(shù)。 在 Java 中使用 Random 工具類來生成隨機數(shù),該類在 java.util 包下,在 JDK1.0 版本就存在了。 Random 單詞本身就是隨機、隨意、任意的意思。 Random 是一個普

    2024年02月06日
    瀏覽(25)
  • 你知道如何生成隨機數(shù)嗎?(超詳細附圖)

    你知道如何生成隨機數(shù)嗎?(超詳細附圖)

    目錄 ??前言 ??如何用C語言實現(xiàn)隨機數(shù) ??隨機數(shù)原理 ??rand函數(shù)(生成隨機數(shù)) ??srand(避免每次運行程序產(chǎn)生的隨機數(shù)都相同) ??時間戳 ??time函數(shù) ??來個小小項目 ??代碼實現(xiàn) ??1.漂亮的主頁 ??2.游戲開關(guān) ??3.game()函數(shù)的代碼實現(xiàn)。 ??4.完整代碼 手把手教你

    2024年02月08日
    瀏覽(18)
  • 你知道C語言中隨機數(shù)是如何生成的嗎~?

    你知道C語言中隨機數(shù)是如何生成的嗎~?

    目錄 1.你聽說過函數(shù)rand的嗎? 2.引入srand函數(shù)~ 3.time函數(shù)的使用~ 4.隨機數(shù)的實現(xiàn)! 5. 如何控制隨機數(shù)的范圍呢~ 6.這時候我們就可以寫出一些比較有趣的代碼啦~? 7.對我們說的一些話~ ? ? ? ? ? ? ? ? ? ? ? ? ? ?不是每個人都能做自己想做的事,成為自己想成為的人。 ?

    2024年02月22日
    瀏覽(20)
  • 使用java.security.SecureRandom安全生成隨機數(shù)和隨機字符串工具類

    ????????在Java中,可以使用java.security.SecureRandom和java.util.Random類來生成隨機數(shù),但是它們之間有以下區(qū)別: ? ? ? ? 1、隨機性強度: SecureRandom 類提供了更高的隨機性強度。它使用了更安全的算法和種子生成器,以提供更高質(zhì)量的隨機數(shù)。這對于需要高度安全性的應(yīng)用程

    2024年04月26日
    瀏覽(28)
  • Unity 中的隨機數(shù)的基礎(chǔ)常用的隨機數(shù)生成方法

    在 Unity 中,可以使用 Random 類來生成隨機數(shù)。以下是一些常用的隨機數(shù)生成方法: Random.Range(min, max):生成一個在[min, max)范圍內(nèi)的隨機整數(shù)。 Random.value:生成一個在[0, 1)范圍內(nèi)的隨機浮點數(shù)。 Random.insideUnitCircle:生成一個在單位圓內(nèi)的隨機二維向量。 Random.insideUnitSphere:生成

    2024年02月20日
    瀏覽(43)
  • JS - 生成隨機數(shù)的方法匯總(不同范圍、類型的隨機數(shù))

    (1)使用 random() 方法可以返回一個介于 0 ~ 1 之間的偽隨機數(shù)(包括 0,不包括 1)。 (2)下面是一個測試樣例 (1)這種最簡單,因為和 random 的特點保持一致。只需使用如下公式即可: (2)比如下面生成 [10,15) 范圍內(nèi)的隨機浮點數(shù)。 因為 random 的特點,要取得這幾個區(qū)間

    2023年04月08日
    瀏覽(28)
  • 生成隨機數(shù)

    用于產(chǎn)生隨機數(shù) boolean nextBoolean() : 返回下一個偽隨機數(shù),它是取自此隨機數(shù)生成器序列的均勻分布的 boolean 值。 void nextBytes(byte[] bytes) : 生成隨機字節(jié)并將其置于用戶提供的 byte 數(shù)組中。 double nextDouble() : 返回下一個偽隨機數(shù),它是取自此隨機數(shù)生成器序列的、在 0.0 和 1.0 之

    2024年02月03日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包