Verilog學習筆記 (二)偽隨機序列產生器

2021-09-25 15:25:37 字數 959 閱讀 8251

下面用兩種方式產生偽隨機序列產生器

只要學習過數電知識的應該都不難理解上圖時序邏輯電路 

module pn_gen(clk,n_rst,y);     //利用verilog編寫,在vivado**實現

input clk,n_rst;

output [7:0] y;

reg [7:0] lfsr,lfsr_next;

reg [7:0] feedback;

always @(posedge clk)

begin

if(!n_rst)

lfsr = 8'b0000_0000;

else

lfsr = lfsr_next;

endalways @(lfsr)

begin

feedback = lfsr[7]^(~|lfsr[6:0]); //根據上圖移位暫存器

lfsr_next[7] = lfsr[6];

lfsr_next[6] = lfsr[5];

lfsr_next[5] = lfsr[4];

lfsr_next[4] = lfsr[3];

lfsr_next[3] = lfsr[2];

lfsr_next[2] = lfsr[1];

lfsr_next[1] = lfsr[0];

lfsr_next[0] = feedback;

endassign y = lfsr;

endmodule

void pn_seq_gen(ap_uint<8> *pn_out_8)    //用c語言編寫,在vivadohls實現生成ip核

線性反饋移位暫存器(lfsr)實

Verilog學習筆記(二) 模組

模組是 verilog 的基本描述單位,用於描述某個設計的功能或結構及其與其他模組通訊的外部埠。乙個設計的結構可使用開關級原語 門級原語和使用者定義的原語方式描述 設計的資料流行為使用連續賦值語句進行描述 時序行為使用過程結構描述。乙個模組可以在另乙個模組中使用。乙個模組的基本語法如下 module...

FPGA學習筆記(二) verilog 語法講解

verilog語法介紹 數位電路中主要有組合邏輯和時序邏輯兩種電路。組合邏輯 多路選擇器 解碼器 加法器 乘法器等 時序邏輯 最基本的是計數器。verilog檔案的基本結構 乙個檔案中可以包含多個模組。方法1 模組宣告 模組名 埠列表 module mux2 a,b,sel,out,io 埠屬性定義...

Verilog學習日誌(二)

1 非阻塞賦值方法 如 b a 塊結束後才完成賦值操作 b的值並不是立刻改變 這是一種常用的賦值方法 2 阻塞賦值方法 如 b a 賦值語句執行完後塊才結束 b的值在賦值語句執行後立刻改變 可能產生意想不到的結果 1 塊內的語句是按順序執行的,上一條語句執行完才能執行下一條語句 2 每條語句的延遲世...