# 數位邏輯設計實習(作業5) ###### > <font size=5 color="#0080FF" face="微軟正黑體"><b>1410932050 資工2-1 魏庠緯 </b></font> > <font size=5><b>Githuub網址:[Tommywei0628](https://github.com/Tommywei0628/homework5.git)</b></font> # :memo:實驗目的 ><font size=5 face="微軟正黑體"><b>編寫出一個亂數產生器。</b></font> # :memo:實驗內容 :::info :pushpin: <font size=5 face="微軟正黑體"><b>線性反饋移位暫存器</b></font> ::: > ><font size=5 face="微軟正黑體">移位原理構造。</font> # :memo:實驗步驟 ><font size=5 face="微軟正黑體"><b>依照題目內容選寫出以下程式碼</b></font> >>PRPG.v ```verilog= module PRPG (Q,clk,rst); input clk,rst; output [2:0]Q; reg [2:0]Q; always @(posedge clk) begin if (rst) begin Q<=3'b110; end else begin Q[0]<=Q[2]^Q[0]; Q[1]<=Q[0]; Q[2]<=Q[1]; end end endmodule ``` ><font size=4 face="微軟正黑體"><b>透過朋友說明所以這邊根據題目需求使用了普通的移位方式。</b></font> >>PRPG_tb.v ```verilog= module PRPG_tb; reg clk,rst; wire [2:0]Q; parameter PERIOD=20; parameter real DUTY_CYCLE=0.5; parameter OFFSET=0; initial begin #OFFSET; forever begin clk=1'b1; #(PERIOD-(PERIOD*DUTY_CYCLE)) clk=1'b0; #(PERIOD*DUTY_CYCLE); end end initial begin rst=1'b1; #20 rst=1'b0; #200 $finish; end initial begin $dumpfile("PRPG.vcd"); $dumpvars(0, PRPG_tb); end PRPG PRPG_tb( .clk(clk), .rst(rst), .Q(Q) ); endmodule ``` ><font size=4 face="微軟正黑體"><b>簡單的設計</b></font> # :memo: 實驗結果 ><font size=5 face="微軟正黑體"><b>make後出來的波型</b></font>  # :memo: 實驗討論 ><font face="微軟正黑體" size=5><b>這題目是讓我們模擬出一個簡單的亂數產生器,看似難但其實還挺簡單的。</b></font> # :memo: 實驗心得 ><font face="微軟正黑體" size=5><b>這次作業內容我有問別人的意見,並使用了他所提出的想法,這也讓我體驗到跟別人交流並實現也是一個解決問題的好方式。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up