fpga課程設(shè)計(jì)---基于ram的十口8位計(jì)數(shù)器_第1頁(yè)
已閱讀1頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  FPGA課程設(shè)計(jì)報(bào)告</p><p>  題 目: 基于RAM的十口8位計(jì)數(shù)器 </p><p>  院 系: 通信與信息工程學(xué)院 </p><p>  專業(yè)班級(jí): </p><p>  學(xué)生姓名:

2、 </p><p>  導(dǎo)師姓名: </p><p>  起止時(shí)間: 2012-9-10 至 2012-9-21 </p><p><b>  年 月 日</b></p><p>  FPGA課程設(shè)計(jì)報(bào)告提綱</p&g

3、t;<p><b>  任務(wù)</b></p><p>  用一個(gè)10×8的雙口RAM完成10個(gè)8位計(jì)數(shù)器,計(jì)數(shù)器的初值分別為1~10,時(shí)鐘頻率為1MHz,計(jì)數(shù)器計(jì)數(shù)頻率為1Hz。</p><p>  用FPGA開發(fā)板上的按鍵作為計(jì)數(shù)器計(jì)數(shù)值的輸出選擇控制,數(shù)碼管 (或led)作為選擇計(jì)數(shù)器的計(jì)數(shù)值輸出。</p><

4、;p><b>  目的</b></p><p>  采用RAM實(shí)現(xiàn)計(jì)數(shù)器及FPGA功能驗(yàn)證</p><p>  使用環(huán)境 (軟件/硬件環(huán)境,設(shè)備等)</p><p>  前仿 modelsim 6.1f</p><p>  后仿  Quartus II 10.1</p><p

5、>  FPGA課程設(shè)計(jì)詳細(xì)內(nèi)容</p><p><b>  4.1 技術(shù)規(guī)范</b></p><p><b>  功能:</b></p><p>  先由復(fù)位鍵從選定的RAM地址中讀出預(yù)置的8位初值存入計(jì)數(shù)模塊。 </p><p>  2. 由開始鍵開始計(jì)數(shù),暫停鍵暫停計(jì)數(shù)并同時(shí)存入RAM中

6、以選定的存儲(chǔ)單元。</p><p>  3. 雙端口RAM為10×8RAM由一個(gè)地址切換鍵按順序切換1~10個(gè)地址端口。</p><p><b>  4.系統(tǒng)工作流程:</b></p><p>  切換端口讀出數(shù)據(jù)開始計(jì)數(shù) 暫停計(jì)數(shù) 存入數(shù)據(jù)</p><p>&l

7、t;b>  計(jì)數(shù)流程</b></p><p>  5.切換端口讀出數(shù) 七段顯示譯碼器譯碼 輸出到數(shù)碼管顯示</p><p><b>  讀取結(jié)果輸出流程</b></p><p>  分頻:1Hz的秒計(jì)時(shí)頻率,用來(lái)進(jìn)行秒計(jì)時(shí);</p><p><b>  4.2 設(shè)計(jì)方案<

8、;/b></p><p><b>  信號(hào)定義:</b></p><p><b>  Clk_50MHz</b></p><p><b>  clk_1Hz</b></p><p>  reset clk_1MHz</p>

9、<p>  分頻:1Hz的秒計(jì)時(shí)頻率,用來(lái)進(jìn)行秒計(jì)時(shí)</p><p>  分頻:時(shí)鐘信號(hào)clk_50MHz;</p><p>  分頻信號(hào) clk_1Hz;</p><p>  分頻信號(hào) clk_1MHz;</p><p><b>  clk</b></p><p><b>

10、;  clk_1hz</b></p><p>  dout [7:0]din[7:0]</p><p><b>  start</b></p><p>  startreset</p><p>  切換端口 讀出數(shù)據(jù) 開始計(jì)數(shù) 暫停計(jì)數(shù) 存入數(shù)據(jù)&

11、lt;/p><p>  計(jì)數(shù):開始計(jì)數(shù) start</p><p>  計(jì)數(shù)器復(fù)位 reset;</p><p>  計(jì)數(shù)輸出 din[7:0];</p><p><b>  計(jì)數(shù)置數(shù) add;</b></p><p><b>  dout</b></p>&l

12、t;p><b>  顯示模塊</b></p><p>  RAM:10×8的RAM存儲(chǔ)陣列10個(gè)字每個(gè)子8位</p><p>  輸入端 輸入地址 wr_address [3:0];</p><p>  輸入數(shù)據(jù) din[7:0];</p><p>  上升沿有效寫入信號(hào) wr;</p>&

13、lt;p>  輸出端 輸出地址rd_address[3:0];</p><p>  輸出數(shù)據(jù) dout[7:0];</p><p>  上升沿有效讀信號(hào) rd;</p><p><b>  地址劃分:</b></p><p>  4.3 功能驗(yàn)證方案</p><p>  (1)驗(yàn)證對(duì)象及目的

14、</p><p>  本驗(yàn)證方案將描述對(duì)雙端口RAM計(jì)數(shù)器的驗(yàn)證。在本文中驗(yàn)證指使用軟件工具對(duì)其功能進(jìn)行驗(yàn)證。</p><p>  雙端口RAM計(jì)數(shù)器功能和指標(biāo)的詳細(xì)描述請(qǐng)參見《雙端口RAM計(jì)數(shù)器技術(shù)規(guī)范.doc》</p><p>  在本文所描述的驗(yàn)證過(guò)程中側(cè)重對(duì)RAM數(shù)據(jù)的讀取進(jìn)行驗(yàn)證,指標(biāo)主要在硬件驗(yàn)證和測(cè)試過(guò)程中完成。</p><p>

15、;  在本驗(yàn)證過(guò)程中將驗(yàn)證以下內(nèi)容:</p><p>  (2)驗(yàn)證環(huán)境及工具</p><p>  根據(jù)情況驗(yàn)證過(guò)程將使用以下的環(huán)境和工具進(jìn)行:</p><p>  a)windows環(huán)境下使用ModelSim仿真工具;</p><p>  b)windows環(huán)境下使用QuartusII工具。 </p><p>  為

16、進(jìn)行驗(yàn)證還應(yīng)當(dāng)建立仿真激勵(lì)模塊</p><p><b> ?。?)預(yù)確認(rèn)</b></p><p>  a.系統(tǒng)主要技術(shù)參數(shù);</p><p>  經(jīng)分析,系統(tǒng)的的主要參數(shù)包括:引腳數(shù)目,引腳工作電壓,電源電壓,系統(tǒng)的工作頻率。</p><p>  b.系統(tǒng)的模塊數(shù)目及各模塊實(shí)現(xiàn)的功能及如何知道模塊工作正常;</p&

17、gt;<p>  c.總模塊驗(yàn)證,看總系統(tǒng)是否正常工作。</p><p><b>  ( 4)仿真確認(rèn):</b></p><p><b>  a.目的</b></p><p>  初步確認(rèn)系統(tǒng)是否完成預(yù)期設(shè)計(jì)的功能;</p><p>  先分析芯片所有模塊連接關(guān)系,如下圖</p&

18、gt;<p>  b.逐個(gè)完成各個(gè)模塊的驗(yàn)證</p><p> ?、俜诸l模塊:由于系統(tǒng)提供的頻率為50MHz而計(jì)數(shù)時(shí)需要的是每秒那樣計(jì)數(shù),故需要將50MHz分頻為1Hz.可為該程序編寫激勵(lì),得到輸出,用輸出的頻率與想要得到的1Hz的信號(hào)進(jìn)行比較,即可驗(yàn)證。</p><p> ?、谟?jì)數(shù)模塊:編寫完成后可通過(guò)查看仿真圖形確認(rèn)計(jì)數(shù)范圍,位寬等功能的正確。</p>&l

19、t;p>  ③RAM存取模塊:需在仿真中編寫測(cè)試激勵(lì)對(duì)RAM進(jìn)行存取驗(yàn)證,在仿真圖形中確認(rèn)RAM的存取功能的正確性。</p><p> ?、茱@示模塊:把計(jì)數(shù)的結(jié)果通過(guò)七段顯示譯碼器顯示在數(shù)碼管上,觀察數(shù)碼管上的數(shù)字變化規(guī)律即可驗(yàn)證顯示模塊是否正確。</p><p>  c.驗(yàn)證空標(biāo)志產(chǎn)生邏輯:</p><p>  先將復(fù)位信號(hào)置0(有效),在一定時(shí)間內(nèi)看系統(tǒng)是

20、否產(chǎn)生空標(biāo)志;</p><p>  d.驗(yàn)證正常情況下的信號(hào):</p><p>  系統(tǒng)運(yùn)行時(shí),讓復(fù)位信號(hào)為1(即復(fù)位無(wú)效),根據(jù)輸入信號(hào)得出輸出信號(hào),與想要得到的信號(hào)進(jìn)行比較。</p><p>  4.4 電路設(shè)計(jì)源代碼,功能仿真激勵(lì)源代碼及功能仿真結(jié)果報(bào)告</p><p><b>  分頻器模塊:</b></p

21、><p>  module FPQ (clk_50MHz,clk_1MHz,reset,clk_1Hz);</p><p>  input clk_50MHz,reset;</p><p>  output clk_1MHz,clk_1Hz;</p><p>  reg clk_1Hz=0; </p><p>  reg

22、clk_1MH</p><p><b>  z=0;</b></p><p>  reg [31:0] cnt1=32'd0;</p><p>  reg [31:0] cnt2=32'd0;</p><p>  always@(posedge clk_50MHz or negedge reset)<

23、;/p><p><b>  begin</b></p><p>  if(!reset)</p><p>  clk_1Hz<=32'd0;</p><p><b>  else</b></p><p><b>  begin</b></

24、p><p>  if(cnt1==32'd100)</p><p><b>  begin</b></p><p>  cnt1<=32'd0;clk_1Hz<=~clk_1Hz;</p><p><b>  end</b></p><p><b

25、>  else</b></p><p>  cnt1<=cnt1+32'd1;</p><p><b>  end </b></p><p><b>  end </b></p><p>  always@(posedge clk_50MHz or negedge

26、reset)</p><p><b>  begin</b></p><p>  if(!reset)</p><p>  clk_1MHz<=32'd0;</p><p><b>  else</b></p><p><b>  begin</

27、b></p><p>  if(cnt2==32'd255)</p><p><b>  begin</b></p><p>  cnt2<=32'd0;</p><p>  clk_1MHz<=~clk_1MHz;</p><p><b>  end&

28、lt;/b></p><p><b>  else</b></p><p>  cnt2<=cnt2+32'd1;</p><p><b>  end</b></p><p><b>  end </b></p><p><b&

29、gt;  endmodule</b></p><p><b>  分頻器模塊激勵(lì):</b></p><p>  module FPQ_test;</p><p>  reg clk_50MHz,reset;</p><p>  wire clk_1MHz;wire clk_1Hz;</p>&l

30、t;p>  always # 2 clk_50MHz=~clk_50MHz;</p><p>  FPQ fpq(.reset(reset),.clk_50MHz(clk_50MHz),.clk_1MHz(clk_1MHz),.clk_1Hz(clk_1Hz));</p><p><b>  initial</b></p><p><

31、;b>  begin</b></p><p><b>  reset<=0;</b></p><p>  clk_50MHz<=0;</p><p>  #100 reset<=1;</p><p><b>  end</b></p><p&g

32、t;<b>  endmodule</b></p><p><b>  計(jì)數(shù)器模塊:</b></p><p>  module JSQ(start,data,clk_1Hz,add,c_out); </p><p>  input clk_1Hz,add;</p><p>  input start

33、;</p><p>  input [7:0]data;</p><p>  output c_out;</p><p>  reg [7:0] c_out; </p><p>  always@(posedge clk_1Hz or negedge add )</p><p><b>  begin<

34、/b></p><p><b>  if(!add)</b></p><p><b>  begin</b></p><p>  c_out<=data;</p><p><b>  end</b></p><p><b>  el

35、se </b></p><p><b>  begin </b></p><p><b>  if(start)</b></p><p><b>  begin</b></p><p>  c_out<=c_out+8'd1;</p>

36、<p>  if(c_out==8'd255)</p><p><b>  begin </b></p><p><b>  c_out<=0;</b></p><p><b>  end </b></p><p><b>  else<

37、;/b></p><p>  c_out<=c_out+8'd1;</p><p><b>  end</b></p><p><b>  else</b></p><p>  c_out<=c_out;</p><p><b>  end

38、</b></p><p><b>  end</b></p><p><b>  endmodule</b></p><p><b>  計(jì)數(shù)器激勵(lì):</b></p><p>  module JSQ_test; </p><p>  reg

39、 start,add;</p><p>  reg clk_1Hz;</p><p>  reg [7:0]data;</p><p>  wire [7:0] c_out;</p><p>  always #1 clk_1Hz=~clk_1Hz; </p><p>  JSQ jsq(.start(start),

40、.add(add),.clk_1Hz(clk_1Hz),.data(data),.c_out(c_out));</p><p><b>  initial</b></p><p><b>  begin</b></p><p>  clk_1Hz=0;</p><p><b>  add=

41、0;</b></p><p><b>  start=0;</b></p><p>  data=8'd1;</p><p>  #15 add=1;</p><p>  #15 start=1;</p><p>  #600 start=0;</p><

42、p><b>  end </b></p><p>  endmodule </p><p><b>  數(shù)碼管顯示模塊:</b></p><p>  module SMG (clk_1MHz,data,data_g,data_s,data_b);</p><p>  input[7:0] d

43、ata;</p><p>  input clk_1MHz;</p><p>  output data_b;</p><p>  output data_s;</p><p>  output data_g;</p><p>  reg[6:0]data_b; </p><p>  reg[6

44、:0]data_s;</p><p>  reg[6:0]data_g; </p><p>  reg [7:0]mid_b;</p><p>  reg [7:0]mid_s;</p><p>  reg [7:0]mid_g;</p><p>  always@(posedge clk_1MHz)</p>

45、;<p><b>  begin</b></p><p>  mid_b<=data/100;</p><p>  mid_s<=data%100/10;</p><p>  mid_g<=data%10;</p><p><b>  end</b></p>

46、;<p>  always@(mid_b)</p><p><b>  begin</b></p><p>  case(mid_b)</p><p>  7'd0:data_b<=7'hC0;</p><p>  7'd1:data_b<=7'hF9;</

47、p><p>  7'd2:data_b<=7'hA4;</p><p>  7'd3:data_b<=7'hB0;</p><p>  7'd4:data_b<=7'h99;</p><p>  7'd5:data_b<=7'h92;</p>&

48、lt;p>  7'd6:data_b<=7'h82;</p><p>  7'd7:data_b<=7'hf8;</p><p>  7'd8:data_b<=7'h80;</p><p>  7'd9:data_b<=7'h90;</p><p>

49、  default:data_b<=7'hC0;</p><p><b>  endcase</b></p><p><b>  end</b></p><p>  always@(mid_s)</p><p><b>  begin</b></p>

50、<p>  case(mid_s)</p><p>  7'd0:data_s<=7'hC0;</p><p>  7'd1:data_s<=7'hF9;</p><p>  7'd2:data_s<=7'hA4;</p><p>  7'd3:data_s

51、<=7'hB0;</p><p>  7'd4:data_s<=7'h99;</p><p>  7'd5:data_s<=7'h92;</p><p>  7'd6:data_s<=7'h82;</p><p>  7'd7:data_s<=7&#

52、39;hf8;</p><p>  7'd8:data_s<=7'h80;</p><p>  7'd9:data_s<=7'h90;</p><p>  default:data_s<=7'hC0;</p><p><b>  endcase</b></p

53、><p><b>  end</b></p><p>  always@(mid_g)</p><p><b>  begin</b></p><p>  case(mid_g)</p><p>  7'd0:data_g<=7'hC0;</p>

54、<p>  7'd1:data_g<=7'hF9;</p><p>  7'd2:data_g<=7'hA4;</p><p>  7'd3:data_g<=7'hB0;</p><p>  7'd4:data_g<=7'h99;</p><p&

55、gt;  7'd5:data_g<=7'h92;</p><p>  7'd6:data_g<=7'h82;</p><p>  7'd7:data_g<=7'hf8;</p><p>  7'd8:data_g<=7'h80;</p><p>  7&#

56、39;d9:data_g<=7'h90;</p><p>  default:data_g<=7'hC0;</p><p><b>  endcase</b></p><p><b>  end</b></p><p><b>  endmodule</b

57、></p><p>  數(shù)碼管顯示模塊激勵(lì):</p><p>  module SMG_test;</p><p>  reg[7:0] data;</p><p>  reg clk_1MHz; </p><p>  wire [6:0]data_g;</p><p>  wire [6

58、:0]data_s;</p><p>  wire [6:0]data_b;</p><p>  SMG smg(.data(data),.clk_1MHz(clk_1MHz),.data_g(data_g),.data_s(data_s),.data_b(data_b));</p><p>  always # 10 clk_1MHz=~clk_1MHz;<

59、/p><p><b>  initial </b></p><p><b>  begin</b></p><p>  data=0;clk_1MHz=0;</p><p>  #25 data=35;</p><p>  #25 data=15;</p><

60、p>  #25 data=93</p><p><b>  end</b></p><p><b>  endmodule</b></p><p><b>  RAM模塊:</b></p><p>  module RAM(reset,wr,wr_clk,wr_addre

61、ss,din,rd,rd_clk,rd_address,dout);</p><p>  input wr,wr_clk,reset;</p><p>  input [3:0]wr_address;</p><p>  input [7:0]din;</p><p>  input rd,rd_clk;</p><p&g

62、t;  input [3:0]rd_address; </p><p>  output [7:0]dout; </p><p>  reg [7:0]dout=0; </p><p>  reg[7:0] mem [1:10];</p><p>  always@(posedge wr_clk or negedge

63、reset)</p><p><b>  begin</b></p><p>  if(!reset)</p><p><b>  begin</b></p><p>  mem[1]<=8'd1;</p><p>  mem[2]<=8'd2;&

64、lt;/p><p>  mem[3]<=8'd3;</p><p>  mem[4]<=8'd4;</p><p>  mem[5]<=8'd5;</p><p>  mem[6]<=8'd6;</p><p>  mem[7]<=8'd7;</p

65、><p>  mem[8]<=8'd8;</p><p>  mem[9]<=8'd9;</p><p>  mem[10]<=8'd10;</p><p><b>  end</b></p><p><b>  else</b><

66、/p><p><b>  begin</b></p><p><b>  if(wr)</b></p><p><b>  begin</b></p><p>  if(wr_address<=4'd10)</p><p>  mem[wr_a

67、ddress]<=din;</p><p><b>  end</b></p><p><b>  end</b></p><p><b>  end</b></p><p>  always@( posedge rd_clk or negedge reset)</

68、p><p><b>  begin</b></p><p>  if(!reset)</p><p>  dout<=8'd0;</p><p><b>  else</b></p><p><b>  begin</b></p>

69、<p><b>  if(rd)</b></p><p><b>  begin</b></p><p>  dout<=mem[rd_address];</p><p><b>  end </b></p><p><b>  end</b&

70、gt;</p><p><b>  end</b></p><p><b>  endmodule</b></p><p><b>  RAM模塊激勵(lì):</b></p><p>  module RAM_test;</p><p>  reg reset

71、,wr,rd;</p><p>  reg wr_clk,rd_clk;</p><p>  reg [3:0]wr_address,rd_address;</p><p>  reg [7:0] din;</p><p>  wire [7:0] mem [1:10];</p><p>  wire [7:0] do

72、ut;</p><p>  RAM ram(.reset(reset),.wrn(wr),.wr_clk(wr_clk),.wr_address(wr_address),.rd(rd),.rd_clk(rd_clk),.rd_address(rd_address),.din(din),.dout(dout));</p><p>  always #1 wr_clk=~wr_clk;<

73、/p><p>  always #1 rd_clk=~rd_clk;</p><p><b>  initial</b></p><p><b>  begin</b></p><p>  wr_clk<=0;</p><p>  rd_clk<=0;</p&g

74、t;<p><b>  reset=0;</b></p><p><b>  wr<=0;</b></p><p><b>  rd<=0;</b></p><p>  wr_address<=4'd0;</p><p>  rd_add

75、ress<=4'd0;</p><p>  din<=8'd0;</p><p>  #15 reset<=1</p><p>  #15 rd<=1; </p><p>  #25 rd_address<=4'd4;wr<=1;</p><p>  #35

76、din<=8'd5;wr_address<=4'd1;rd_address<=4'd1;</p><p>  #15 din<=8'd8;wr_address<=4'd6;rd_address<=4'd6;</p><p>  #15 reset<=0;rd_address<=4'd4;

77、 </p><p><b>  end </b></p><p><b>  endmodule</b></p><p><b>  頂層模塊:</b></p><p>  module RAM_count (reset,add,start,clk_50MHz,wr,wr_ad

78、dress,din,rd,rd_address,data_g,data_s,data_b);</p><p>  input reset,add,start,wr,rd,clk_50MHz;</p><p>  input [3:0]wr_address,rd_address;</p><p>  input[7:0] din;</p><p&g

79、t;  output [6:0]data_g,data_s,data_b;</p><p>  wire [6:0] data_g,data_s,data_b;</p><p>  wire [7:0] dout;</p><p>  wire [7:0] mid_data;</p><p>  wire mid_clk_1Hz;</p

80、><p>  wire mid_clk_1MHz; </p><p>  FPQ fpq(.reset(reset),.clk_50MHz(clk_50MHz),.clk_1MHz(mid_clk_1MHz),.clk_1Hz(mid_clk_1Hz));</p><p>  RAM ram(.reset(reset),.wr(wr),.wr_clk(mid_clk_

81、1MHz),.wr_address(wr_address),.din(din),.rd(rd),.rd_clk(mid_clk_1MHz),.rd_address(rd_address),.dout(mid_data));</p><p>  JSQ jsq(.add(add),.data(mid_data),.clk_1Hz(mid_clk_1Hz),.start(start),.c_out(dout));&l

82、t;/p><p>  SMG smg(.clk_1MHz(mid_clk_1Hz),.data(dout),.data_g(data_g),.data_s(data_s),.data_b(data_b));</p><p><b>  Endmodule</b></p><p><b>  頂層模塊激勵(lì):</b></p&

83、gt;<p>  module RAM_count_test; </p><p>  reg reset,add,start,wr,rd;</p><p>  reg clk_50MHz;</p><p>  reg [3:0]wr_address,rd_address; </p><p>  reg [7:0] din;<

84、;/p><p>  wire [6:0] data_g,data_s,data_b; </p><p>  RAM_count ram( .reset(reset),.add(add),.start(start),.wr(wr),.rd(rd),.clk_50MHz(clk_50MHz),</p><p>  .wr_address(wr_address), .rd_a

85、ddress(rd_address),.din(din),.data_g(data_g),.data_s(data_s),.data_b(data_b)); </p><p>  always #1 clk_50MHz=~clk_50MHz;</p><p><b>  initial</b></p><p><b>  begin&

86、lt;/b></p><p>  reset=1;start=1;din=1;wr=0;rd=1;</p><p>  wr_address=4'd1;rd_address=4'd1;clk_50MHz=0;</p><p><b>  add=1;</b></p><p>  # 125 rese

87、t=0; # 250 reset=1; #250 add=0; # 250 add=1;</p><p>  # 250 wr=0;rd=1; </p><p>  # 10000 start=0;</p><p>  # 250 wr=1;rd=0;</p><p><b>  end </b></p>

88、<p><b>  endmodule</b></p><p>  4.5 綜合及布局布線報(bào)告和引腳分布報(bào)告</p><p><b>  綜合圖:</b></p><p><b>  管腳分配圖:</b></p><p><b>  時(shí)鐘分配圖:</

89、b></p><p>  4.6 后仿真結(jié)果報(bào)告</p><p>  4.7 硬件測(cè)試結(jié)果報(bào)告</p><p>  測(cè)試結(jié)果符合設(shè)計(jì)初衷,實(shí)現(xiàn)了將一個(gè)10×8的RAM變成十個(gè)8位的加法器,設(shè)置初始值為1~10,可以寫入和讀出數(shù)據(jù)進(jìn)行加法操作。</p><p>  4.8 對(duì)結(jié)果和結(jié)論的問(wèn)題討論</p><p

90、>  實(shí)驗(yàn)結(jié)果基本上符合設(shè)計(jì)要求和初衷,主體功能可以很好的實(shí)現(xiàn),但是在一些細(xì)節(jié)上沒有做到很好的規(guī)劃,比如在后仿真時(shí)出現(xiàn)了部分高阻狀態(tài),后檢查發(fā)現(xiàn)是由于在RAM模塊中的復(fù)位有問(wèn)題。</p><p>  5.課程設(shè)計(jì)的心得體會(huì)</p><p>  經(jīng)過(guò)兩周的FPGA課程設(shè)計(jì),使我對(duì)這門課程有了一個(gè)更加深刻地認(rèn)識(shí)和感受,更加深入的了解了自己在課程學(xué)習(xí)上的不足以及理論學(xué)習(xí)和實(shí)踐相互結(jié)合的重要

91、性。在電路的設(shè)計(jì)初始時(shí)刻,我沒有按照設(shè)計(jì)電路時(shí)從上到下的設(shè)計(jì)方法,而是盲目的對(duì)電路的模塊進(jìn)行設(shè)計(jì)。結(jié)果在最后的設(shè)計(jì)綜合的時(shí)候,設(shè)計(jì)的各個(gè)模塊不能進(jìn)行順利的綜合和仿真。尤其是在數(shù)碼管和RAM模塊中出現(xiàn)了較大的問(wèn)題,單個(gè)模塊測(cè)試時(shí),都是正確的,但是綜合在一起時(shí),就出現(xiàn)了問(wèn)題。后來(lái)在老師和同學(xué)的幫助下,我發(fā)現(xiàn)原來(lái)是時(shí)鐘不匹配的問(wèn)題。經(jīng)過(guò)一系列的修改,終于得到了正確的結(jié)果,在以后的電路設(shè)計(jì)和描述中,我會(huì)深刻吸取這次的教訓(xùn)。</p>

92、<p>  在后仿真時(shí),進(jìn)行的非常順利。后來(lái)我總結(jié)出了良好的編碼習(xí)慣對(duì)于最后電路的綜合和差錯(cuò)都是有很大的影響,便于自己及時(shí)處理問(wèn)題,做出改進(jìn)方案,這對(duì)于處理邏輯錯(cuò)誤非常有用,同時(shí)這也提醒我們?cè)敿?xì)的規(guī)范和電路之間邏輯關(guān)系的合理安排的重要性。除此之外,不同模塊之間的時(shí)序電路的合理協(xié)調(diào),對(duì)于電路初始狀態(tài)的設(shè)定都是至關(guān)重要的。</p><p>  總的來(lái)說(shuō),這兩周的課程設(shè)計(jì)讓我受益匪淺,在以后的學(xué)習(xí)中我會(huì)吸取

93、這次的經(jīng)驗(yàn),幫助自己在以后的學(xué)習(xí)和生活中取得更大的進(jìn)步。</p><p><b>  6.參考資料等</b></p><p>  《基于Verilog的FPGA設(shè)計(jì)基礎(chǔ)》杜慧敏、李宥謀、趙全良著 西安電子科技大出版社學(xué)</p><p>  《Verilog HDL數(shù)字設(shè)計(jì)與綜合》(第二版) [美] Samir Palnitkar 著 夏宇聞、

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論