這是我用Altera公司下集成軟件Quartus II硬件開(kāi)發(fā)板來(lái)實(shí)現(xiàn)的,通過(guò)Verilog HDL硬件描述性語(yǔ)言建模來(lái)分層次分模塊設(shè)計(jì)一個(gè)具有時(shí)分秒的電子鐘并能設(shè)置任意時(shí)刻鬧鐘,在ModelSim上仿真測(cè)試,最后在Cyclone IV E的FPGA實(shí)驗(yàn)平臺(tái)上實(shí)際測(cè)試驗(yàn)證。
本科畢業(yè)論文(設(shè)計(jì)) 題目: 基于FPGA的24小時(shí)數(shù)字鐘的設(shè)計(jì) 姓名: 專(zhuān)業(yè): 學(xué)院: 學(xué)號(hào): 導(dǎo)師: 職稱(chēng):
基于FPGA的24小時(shí)數(shù)字鐘設(shè)計(jì)
【摘要】介紹利用verilogHDL硬件描述語(yǔ)言結(jié)合FPGA(Field Programmable Gate Array)編程器件進(jìn)行數(shù)字鐘的設(shè)計(jì),并通過(guò)數(shù)碼管動(dòng)態(tài)掃描顯示計(jì)時(shí)結(jié)果。本文采用分層次分模塊的方法,用verilog語(yǔ)言進(jìn)行設(shè)計(jì)。在Quartus II 11.0開(kāi)發(fā)平臺(tái)上完成設(shè)計(jì),編譯,管腳分配,在ModelSim上仿真驗(yàn)證,并在FPGA硬件上進(jìn)行測(cè)試。該測(cè)試結(jié)果表明該設(shè)計(jì)方案切實(shí)可行。 【關(guān)鍵詞】FPGA;verilog;Quartus II 11.0;ModelSim;數(shù)字鐘 Design of digital clock 24 hours based on FPGA Medical imaging college of medical engineering professional level 2012 wangling student number: 1063451392 Instructor: he ling li 【abstract】Introducing the design of digital clock combined FPGA with verilogHDL,the time of clock can be displayed with the digital driving circuit.the project adopts the methods of Hierarchical modules to design with verilogHDL.the digital clock is designed,compiled and pin assignment on Quartus II 11.0 ,is simulated on ModelSim and is tested in the experiment box. The simulation waves and test results indicate that the project is feasible. 【key words】 FPGA; verilog; Quartus II 11.0; ModelSim; digital clock
目錄 基于FPGA的24小時(shí)數(shù)字鐘設(shè)計(jì) 引言 1.軟件與verilogHDL介紹 1.1軟件引入 1.2語(yǔ)言介紹 2.數(shù)字鐘的設(shè)計(jì)方案及原理 2.1設(shè)計(jì)方案 2.2設(shè)計(jì)原理 2.2.1數(shù)字鐘組成框圖 2.2.2數(shù)字鐘層次結(jié)構(gòu)圖 3.核心模塊設(shè)計(jì) 3.1頂層模塊 3.2底層模塊 4.管腳分配 5.電路測(cè)試 6.注意事項(xiàng) 7.心得與體會(huì) 【參考文獻(xiàn)】 致謝 附錄
引言 隨著現(xiàn)代電子技術(shù)的發(fā)展,數(shù)字電子時(shí)鐘在家庭,車(chē)站,醫(yī)院,辦公等各個(gè)場(chǎng)所有著廣泛的應(yīng)用,成為人們生活的必需品,由于生產(chǎn)工藝上的進(jìn)步大大降低了現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)的成本,使其成為目前設(shè)計(jì)數(shù)字電路的首選器件之一[1]。電子時(shí)鐘的精度遠(yuǎn)遠(yuǎn)大于老式鐘表,而且在鐘表的報(bào)時(shí)能功能的基礎(chǔ)上不斷發(fā)展,諸如自動(dòng)定時(shí)報(bào)警裝置,定時(shí)廣播,鬧鐘設(shè)置,甚至各種大型醫(yī)療設(shè)備的定時(shí)啟用,智能儀表,機(jī)器人,所有這些都是在數(shù)字鐘表的基礎(chǔ)上實(shí)現(xiàn),為其他電路的設(shè)計(jì)提供一定借鑒作用[1]。因此對(duì)簡(jiǎn)單數(shù)字鐘的研究有極大的意義。 1.軟件與verilogHDL介紹1.1軟件引入 Altera® Quartus® II設(shè)計(jì)軟件是適合單芯片可編程系統(tǒng)(SOPC)的最全面的設(shè)計(jì)環(huán)境[2]。建立工程項(xiàng)目和verilog HDL文件設(shè)計(jì)之后,可以使用 Quartus II 軟件中的 Settings 對(duì)話框、Assignment Editor 和 Floorplan Editor 指定初始設(shè)計(jì)約束條件,例如,引腳分配、器件選項(xiàng)和時(shí)序約束條件[2]。Quartus II還提供Compiler Settings 向?qū)Вˋssignments 菜單)協(xié)助用戶指定初始設(shè)計(jì)的約束條件。 ModelSim仿真工具是Model公司開(kāi)發(fā)的,它支持Verilog、VHDL以及他們的混合仿真,它可以將整個(gè)程序分步執(zhí)行,使設(shè)計(jì)者直接看到程序下一步將要執(zhí)行的語(yǔ)句,而且在程序執(zhí)行的任何步驟任何時(shí)刻都可以查看任意變量的當(dāng)前值?梢栽贒ataflow窗口觀察某一單元或模塊的輸入輸出連續(xù)變化等,比Quartus 自帶的仿真功能強(qiáng)大的多,支持Testbench,是目前業(yè)界最通用的仿真器之一[2]。 1.2語(yǔ)言介紹 Verilog語(yǔ)言形式簡(jiǎn)單,與C語(yǔ)言相近,容易掌握,在門(mén)級(jí)開(kāi)關(guān)電路描述方面比VHDL強(qiáng)的多[3]。相比傳統(tǒng)電路原理圖輸入法,verilogHDL設(shè)計(jì)周期短,無(wú)需專(zhuān)門(mén)的設(shè)計(jì)工具即可很輕松的將完成的設(shè)計(jì)移植到不同廠家的不同芯片中去[3],并在不同規(guī)模應(yīng)用時(shí)比較方便的作修改調(diào)整。由于verilog HDL的信號(hào)位數(shù)是很容易改變的,故可對(duì)它進(jìn)行修改來(lái)適應(yīng)不同的規(guī)模你應(yīng)用[4]。且在仿真驗(yàn)證時(shí),仿真測(cè)試文件可采用同一種描述語(yǔ)言來(lái)對(duì)設(shè)計(jì)電路進(jìn)行測(cè)試。Verilog HDL 程序是由模塊構(gòu)成的,每個(gè)模塊的內(nèi)容都是嵌在module和endmodule兩個(gè)語(yǔ)句之間,每個(gè)verilog程序包括四個(gè)主要部分:端口定義,I/O說(shuō)明,內(nèi)部信號(hào)聲明,功能定義。每個(gè)模塊實(shí)現(xiàn)特定的功能,模塊是可以進(jìn)行層次嵌套的。正因?yàn)槿绱,才可以將大型的?shù)字電路設(shè)計(jì)分割成不同的小模塊來(lái)實(shí)現(xiàn)特定的功能,最后通過(guò)頂層模塊調(diào)用子模塊來(lái)實(shí)現(xiàn)整體功能[4]。
2.數(shù)字鐘的設(shè)計(jì)方案及原理2.1設(shè)計(jì)方案 本文以FPGA為實(shí)驗(yàn)平臺(tái),采用VerilogHDL語(yǔ)言在Quartus II 11.0開(kāi)發(fā)環(huán)境下設(shè)計(jì)數(shù)字時(shí)鐘[5-6],具有計(jì)時(shí),校時(shí),整點(diǎn)報(bào)時(shí)的功能,具體功能為:1)能夠?qū)πr(shí)、分鐘、秒鐘進(jìn)行正常計(jì)時(shí),每日按24小時(shí)計(jì)時(shí)制,能用四個(gè)七段式數(shù)碼管清晰顯示時(shí)和分,八個(gè)LED采用二進(jìn)制形式來(lái)顯示秒鐘。2)具有復(fù)位功能,按下reset鍵可以對(duì)當(dāng)前時(shí)間清零。3)校驗(yàn)功能,能夠?qū)?shù)字鐘進(jìn)行分時(shí)設(shè)置,方便在時(shí)鐘跑錯(cuò)時(shí)進(jìn)行校正。4)整點(diǎn)報(bào)時(shí)功能,當(dāng)為12:00時(shí)和00:00時(shí),蜂鳴器以1Hz的頻率響起12下,報(bào)整點(diǎn)功能實(shí)現(xiàn)。 數(shù)字鐘的硬件框圖如圖1所示。
0.png (7.76 KB, 下載次數(shù): 86)
下載附件
2018-4-2 16:04 上傳
圖1 數(shù)字鐘的硬件框圖 2.2設(shè)計(jì)原理2.2.1數(shù)字鐘組成框圖 數(shù)字時(shí)鐘組成框圖如圖2所示?梢(jiàn),它由2個(gè)60進(jìn)制計(jì)數(shù)器、1個(gè)24進(jìn)制計(jì)數(shù)器和2個(gè)2選1數(shù)據(jù)選擇器共5個(gè)模塊組成。3個(gè)計(jì)數(shù)器共用一個(gè)時(shí)鐘信號(hào)CP,CP是50M系統(tǒng)時(shí)鐘分頻后的1Hz信號(hào)。在時(shí)和分的輸出端接上譯碼電路,用四個(gè)共陽(yáng)極的七段數(shù)碼管顯示出時(shí)間[7] ,秒的輸出用8個(gè)LED的二進(jìn)制形式來(lái)表示。兩個(gè)選擇器分別選擇時(shí)計(jì)數(shù)器和分計(jì)數(shù)器的使能控制信號(hào),對(duì)時(shí)間進(jìn)行校正時(shí),在控制端(Adj_hour和Adj_min)的作用下,使能信號(hào)接高電平,此時(shí)每來(lái)一個(gè)時(shí)鐘信號(hào),計(jì)數(shù)器加1計(jì)數(shù),從而實(shí)現(xiàn)對(duì)小時(shí)和分鐘的校正[8]。正常計(jì)時(shí)時(shí),使能信號(hào)來(lái)自于低位計(jì)數(shù)器的進(jìn)位輸出,即秒計(jì)數(shù)達(dá)到59s時(shí),產(chǎn)生輸出信號(hào)(Sco=1)使分計(jì)數(shù)器加1,分、秒計(jì)數(shù)器同時(shí)計(jì)時(shí)到最大值(59s 59min)時(shí) ,產(chǎn)生輸出信號(hào)(Mco=1)使小時(shí)計(jì)數(shù)器加1。
圖2 數(shù)字鐘組成框圖(見(jiàn)51hei附件)
2.2.2數(shù)字鐘層次結(jié)構(gòu)圖 數(shù)字時(shí)鐘的層次結(jié)構(gòu)圖如圖3所示?梢钥闯,整個(gè)程序分為兩個(gè)層次4個(gè)模塊,其結(jié)構(gòu)層次如圖2所示。底層由3個(gè)模塊組成,6進(jìn)制計(jì)數(shù)器模塊(counter6.v)、10進(jìn)制計(jì)數(shù)模(counter10.v)和24進(jìn)制計(jì)數(shù)模塊(counter24.v),頂層有一個(gè)模塊(top_clock.v),它調(diào)用底層的3個(gè)模塊完成數(shù)字鐘的計(jì)時(shí)功能。
圖3數(shù)字鐘程序的層次結(jié)構(gòu)圖 3.核心模塊設(shè)計(jì)3.1頂層模塊 建立數(shù)字時(shí)鐘工程new project clock,設(shè)計(jì)頂層模塊top_clock.v,頂層模塊包括1Hz分頻電路、整點(diǎn)報(bào)時(shí)電路、數(shù)碼管動(dòng)態(tài)掃描(移位、選擇)、譯碼、顯示電路。其頂層框圖如圖4所示。
圖4 數(shù)字鐘頂層框圖
(1)生成1Hz時(shí)鐘信號(hào)模塊 時(shí)分秒計(jì)數(shù)器的計(jì)時(shí)時(shí)鐘cp為1Hz的信號(hào),而系統(tǒng)時(shí)鐘信號(hào)(sys_clk)為50MHz,因此需要對(duì)50MHz信號(hào)進(jìn)行分頻得到1Hz。具體分頻的代碼為: always@(posedge sys_clk or negedge reset) begin if(~reset)begin cnt<=0;cp<=0; end else begin if(cnt=25’d24999999)begin cp<=~cp;cnt<=0; end else begin cnt<=cnt+1; end end end (2)整點(diǎn)報(bào)時(shí)模塊 正常計(jì)數(shù)時(shí),當(dāng)分秒計(jì)數(shù)達(dá)到59分59秒,下一個(gè)時(shí)鐘信號(hào)cp的上升沿到來(lái)時(shí)蜂鳴器以1Hz的頻率發(fā)出蜂鳴實(shí)現(xiàn)整點(diǎn)報(bào)時(shí),且N整點(diǎn)時(shí),蜂鳴器就發(fā)出N聲“嘀”響,13時(shí)及13時(shí)以后的每個(gè)整點(diǎn),蜂鳴器發(fā)出(N-12)聲“嘀”響。具體整點(diǎn)報(bào)時(shí)代碼為: assign hour_num=hour[7:4]*10+hour[3:0]+1; always@(posedge cp or negedge reset)begin if(~reset) bp_cnt_end<={5{1'b1}}; else if(hour_en) bp_cnt_end<=((hour_num==24)?12:(hour_num>=13)?(hour_num-12):hour_num)-1; end always@(posedge cp or negedge reset)begin if(~reset) bp_cnt<={5{1'b1}}; else if(hour_en) bp_cnt<=5'b0; else if(bp_cnt<bp_cnt_end) bp_cnt<=bp_cnt+1'b1; end always@(posedge cp or negedge reset)begin if(~reset) bp_enable<=1'b0; else if(hour_en) bp_enable<=1'b1; else bp_enable<=(bp_cnt<bp_cnt_end); end assign cp_out=scan_cnt[19] & bp_enable&cp;
(3)掃描信號(hào)模塊 數(shù)字鐘工作于正常時(shí),每來(lái)一個(gè)時(shí)鐘信號(hào)sys_clk,reg [SCAN_CNT_WIDTH-1:0]scan_cnt進(jìn)行動(dòng)態(tài)掃描移位狀態(tài)(00,01,10,11)來(lái)選擇一個(gè)數(shù)碼管,只要掃描速度足夠快,利用發(fā)光二極管的余暉和人眼視覺(jué)的暫留作用,使人感覺(jué)每個(gè)數(shù)碼管都在顯示。具體掃描代碼為: always@(posedge sys_clk or negedge reset) begin if(~reset) scan_cnt<=0; else begin scan_cnt<=scan_cnt+1; end end always@(*) begin case(scan_cnt[SCAN_CNT_WIDTH-1:SCAN_CNT_WIDTH-2]) 2'b00:begin DIG_r<=4'b0001; scan_out<=minute[3:0];end 2'b01:begin DIG_r<=4'b0010; scan_out<=minute[7:4];end 2'b10:begin DIG_r<=4'b0100; scan_out<=hour[3:0];end 2'b11:begin DIG_r<=4'b1000; scan_out<=hour[7:4];end default:begin DIG_r<=4'b0000;scan_out<=4'b0;end endcase end
(4)選擇顯示數(shù)據(jù)及譯碼模塊 掃描信號(hào)決定某一時(shí)刻哪一個(gè)數(shù)碼管被點(diǎn)亮,掃描信號(hào)也是顯示時(shí)間數(shù)據(jù)的選擇信號(hào)。由于時(shí)間數(shù)據(jù)為BCD碼形式,需譯成七段顯示碼。具體代碼為: always@(*) begin case (scan_out) 0: seg7_out_r = 7'b0111111; // 0 1: seg7_out_r = 7'b0000110; // 1 2: seg7_out_r = 7'b1011011; // 2 3: seg7_out_r = 7'b1001111; // 3 4: seg7_out_r = 7'b1100110; // 4 5: seg7_out_r = 7'b1101101; // 5 6: seg7_out_r = 7'b1111101; // 6 7: seg7_out_r = 7'b0100111; // 7 8: seg7_out_r = 7'b1111111; // 8 9: seg7_out_r = 7'b1100111; // 9 10: seg7_out_r = 7'b1110111; // A 11: seg7_out_r = 7'b1111100; // b 12: seg7_out_r = 7'b0111001; // c 13: seg7_out_r = 7'b1011110; // d 14: seg7_out_r = 7'b1111001; // E 15: seg7_out_r = 7'b1110001; // F default: seg7_out_r = 7'b0000000; endcase end
(4)結(jié)果顯示模塊
assign seg7_out={1'b0,(~seg7_out_r[6:0])}; assign DIG=~DIG_r[3:0]; assign second_out=second[3:0]+second[7:4]*10;
(5)分時(shí)校驗(yàn)?zāi)K 使能端(en),復(fù)位(reset)為高電平時(shí)有效且計(jì)數(shù)器正常計(jì)時(shí),分時(shí)校驗(yàn)adj_min,adj_hour 為高電平時(shí)(本實(shí)驗(yàn)開(kāi)發(fā)板將撥碼開(kāi)關(guān)撥到off狀態(tài))停止計(jì)時(shí)此時(shí)數(shù)碼管處于調(diào)表狀態(tài)(每隔一秒數(shù)碼管分和時(shí)的數(shù)字顯示增加1且互不影響),分時(shí)校驗(yàn)為低電平時(shí)計(jì)數(shù)器正常計(jì)時(shí)。具體分時(shí)校驗(yàn)代碼為: assign minL_en=adj_min?vdd:(second==8'h59); assign minH_en=(adj_min&&(minute[3:0]==4'h9))||(minute[3:0]==4'h9)&&(second==8'h59); assign hour_en=adj_hour?vdd:((minute==8'h59)&&(second==8'h59)); 3.2底層模塊 設(shè)計(jì)6進(jìn)制計(jì)數(shù)器模塊(counter6.v)、10進(jìn)制計(jì)數(shù)器模塊(counter10.v)和24進(jìn)制計(jì)數(shù)器模塊(counter24.v)。計(jì)數(shù)結(jié)果為BCD碼形式,通過(guò)調(diào)用這三個(gè)元件可以實(shí)現(xiàn)計(jì)時(shí)(當(dāng)使能端en和ncr為高電平時(shí),每來(lái)一個(gè)脈沖,計(jì)數(shù)器q加1直到計(jì)滿回零)。其各模塊框圖如圖5如下: 圖5 6、10、24進(jìn)制模塊框圖
(1)6進(jìn)制計(jì)數(shù)器模塊仿真波形及代碼實(shí)現(xiàn) 圖6 6進(jìn)制計(jì)數(shù)波形
module counter6 (q,reset,en,cp); input cp,reset,en; output[3:0]q; reg[3:0]q; always@(posedge cp or negedge reset) begin if(~reset)q<=4'b0000; else if (~en)q<=q; else if(q==4'b0101)q<=4'b0000; else q<=q+1'b1; end endmodule (2)10進(jìn)制計(jì)數(shù)器模塊仿真波形及代碼實(shí)現(xiàn) 圖7 10進(jìn)制計(jì)數(shù)波形module counter10 (q,reset,en,cp); input cp,reset,en; output[3:0]q; reg[3:0]q; always@(posedge cp or negedge reset) begin if(~reset)q<=4'b0000; else if(~en)q<=q; else if(q==4'b1001)q<=4'b0000; else q<=q+1'b1; end endmodule (3)24進(jìn)制計(jì)數(shù)器模塊仿真波形及代碼實(shí)現(xiàn) 圖8 24進(jìn)制計(jì)數(shù)波形 module counter24(cntH,cntL,reset,en,cp); input cp,reset,en; output [3:0] cntH,cntL; reg[3:0]cntH,cntL; always@(posedge cp or negedge reset) begin if(~reset){cntH,cntL}<=8'h00; else if(~en) {cntH,cntL}<={cntH,cntL}; else if ((cntH>2)||(cntL>9)||((cntH==2)&&(cntL>=3))) {cntH,cntL}<=8'h00; else if ((cntH==2)&&(cntL<3)) begin cntH<=cntH; cntL<=cntL+1'b1; end else if(cntL==9) begin cntH<=cntH+1'b1; cntL<=4'b0000; end else begin cntH<=cntH; cntL<=cntL+1'b1; end end endmodule 4.管腳分配 選擇目標(biāo)器件并對(duì)相應(yīng)地引腳進(jìn)行鎖定。在這里所選擇的器件為Altera公司Cyclone E系列的EP4C6E22C8芯片,引腳分配方法如表1。 注:在管腳分配時(shí),F(xiàn)PGA的101引腳會(huì)出現(xiàn)出現(xiàn)Error: Can't place multiple pins assigned to pin location Pin_XX (IOC_X28_Y2_N0) 解決方法: Assignments->Device->Device and pin options->(卡)Dual purpose pin將nCE0以及Other Active Parallel Pins(其他復(fù)用的管腳)全部設(shè)置改為: “use as regular IO”默認(rèn)只給FPGA下載使用選擇復(fù)用了就是下載完還可以給普通IO使用。
表1 引腳分配方法 5.電路測(cè)試 為驗(yàn)證設(shè)計(jì)電路,最后將程序下載到FPGA開(kāi)發(fā)板上進(jìn)行硬件測(cè)試。下載目標(biāo)器件選用Alter公司的Cyclone IV E系列的EP4C6E22C8芯片,用Quartus II 11.0 軟件進(jìn)行電路綜合及程序下載。器件管腳設(shè)定后,將程序再編譯一次,最終生成可以下載的目標(biāo)文件。將器件設(shè)定的相應(yīng)管腳和數(shù)碼管驅(qū)動(dòng)電路進(jìn)行連接,最后將目標(biāo)文件下載到器件當(dāng)中,則數(shù)碼管顯示計(jì)時(shí)結(jié)果且能實(shí)現(xiàn)分時(shí)校驗(yàn)。通過(guò)測(cè)試計(jì)時(shí)結(jié)果與分時(shí)校驗(yàn)正確。
6.注意事項(xiàng)(1)實(shí)驗(yàn)過(guò)程中發(fā)現(xiàn)數(shù)碼管部分管子的時(shí)不亮?xí)r微亮導(dǎo)致數(shù)字的顯示不清晰。分析數(shù)碼管的掃描頻率為系統(tǒng)脈沖50MHz,而FPGA數(shù)碼管的掃描頻率不支持太高頻率或者是數(shù)碼管的管腳不支持太高頻,而把掃描頻率降下來(lái)即可(本實(shí)驗(yàn)采用增大掃描頻率的位寬,由于位寬定義的越大,掃描頻率越低)。程序改動(dòng)如下: reg[7:0]scan_out改為reg[19:0]scan_out case(scan_cntt[7:6])改為case(scan_cnt[19:18]) 這樣即可解決數(shù)碼管顯示不清的問(wèn)題。 - 在觀察實(shí)驗(yàn)的過(guò)程中將if(cnt==24999999)改成if((cnt==25000000/k)-1)即可將時(shí)間走快k倍方便觀察實(shí)驗(yàn)結(jié)果。
7.心得與體會(huì) 本次論文從查閱文獻(xiàn),結(jié)合實(shí)際選題,軟件安裝到可實(shí)施方案的設(shè)計(jì),VerilogHDL的編寫(xiě),由于是第一次做電子硬件功能設(shè)計(jì): 首先:在設(shè)計(jì)思路上存在嚴(yán)重模糊,邏輯混亂,尤其在頂層模塊的設(shè)計(jì)時(shí)不能理清模塊之間的相互關(guān)系,對(duì)一些基本概念缺乏準(zhǔn)確的認(rèn)識(shí); 其次:對(duì)軟件的安裝及操作環(huán)境的不熟悉導(dǎo)致實(shí)驗(yàn)進(jìn)行的緩慢; 第三:第一次倉(cāng)促自學(xué)VerilogHDL語(yǔ)言常常犯一些低級(jí)的語(yǔ)法錯(cuò)誤,即使是一個(gè)標(biāo)點(diǎn)、匹配問(wèn)題、數(shù)據(jù)類(lèi)型定義錯(cuò)了都會(huì)導(dǎo)致一連串的錯(cuò)誤,故在編程時(shí)一定要倍加仔細(xì); 第四:在仿真波形的觀察與分析上明顯感到專(zhuān)業(yè)知識(shí)的不夠,尤其在對(duì)分頻,掃描,譯碼,顯示電路這塊由于掃描頻率、延時(shí)單位、時(shí)間精度及運(yùn)行時(shí)間沒(méi)有設(shè)計(jì)好導(dǎo)致無(wú)法觀察實(shí)驗(yàn)意達(dá)到的波形及顯示結(jié)果; 第五:此次論文設(shè)計(jì)時(shí)間倉(cāng)促且基礎(chǔ)不夠沒(méi)有進(jìn)一步做數(shù)字時(shí)鐘的功能擴(kuò)展; 第六:實(shí)驗(yàn)是檢驗(yàn)原理方案的唯一方法,只有通過(guò)不斷的嘗試、觀察、分析才能得到正確的實(shí)驗(yàn)結(jié)果。 最后:此次論文也收獲很多,學(xué)習(xí)了數(shù)字系統(tǒng)自上而下的設(shè)計(jì)方法,進(jìn)一步熟悉層次電路的設(shè)計(jì)方法。自頂而下的電子設(shè)計(jì)方法能使程序之間條理理清晰,分工明確,便于設(shè)計(jì)。同時(shí)也培養(yǎng)了自己動(dòng)手設(shè)計(jì)實(shí)驗(yàn)的能力及對(duì)計(jì)算機(jī)軟件編程應(yīng)用方面的興趣也為今后的學(xué)習(xí)打好基礎(chǔ)。 【參考文獻(xiàn)】[1]康華光,鄒壽彬.《電子技術(shù)基礎(chǔ)數(shù)字部分(第五版)》[M].北京:高等教育出版社,2005144-146,162-163,121-133. [2]陳欣波.Alter FPGA 工程師成長(zhǎng)手冊(cè)[M].北京:清華大學(xué)出版社,2012. [3]夏宇聞.verilog基本知識(shí)(下)[J].電子產(chǎn)品世界,2002,(20):87-90. [4]夏宇聞.《verilog數(shù)字系統(tǒng)設(shè)計(jì)教程》[M].北京:北京航空航天大學(xué),2004年版. [5]紀(jì)欣然,丁一,梁致源.基于FPGA的多功能數(shù)字鐘設(shè)計(jì)[J]. 電子設(shè)計(jì)工程,2012,20(16):177-179. JI Xin-ran,DING Yi,LIANG Zhi-yuan.Design of multifunction digital clock based on FPGA [J].Electronic Design Engineering,2012,20(16):177-179. [6]徐大詔.基于FPGA實(shí)現(xiàn)的數(shù)字鐘設(shè)計(jì)[J].信息技術(shù). [7]楊軍.基于FPGA的SOPC實(shí)踐教程[M].北京:科學(xué)出版社,2010. [8]王琥,任峻.基于FPGA的數(shù)字電子鐘設(shè)計(jì)[J].電子設(shè)計(jì)工程,2014,22(4):127-129
致謝 本次論文得以完成首先要感謝我的指導(dǎo)老師--何伶俐老師,從選題到寫(xiě)作方向與思路再到整個(gè)論文的完成,在此期間不管大大小小的問(wèn)題,只要我問(wèn)到,何老師都會(huì)第一時(shí)間不厭其煩的為我解答。何老師認(rèn)真負(fù)責(zé)的教學(xué)精神與樸實(shí)的品質(zhì)深深的影響了我,告誡我科研來(lái)不得半點(diǎn)虛假,一定要腳踏實(shí)地是什么就是什么。其次,感謝參考文獻(xiàn)作者所提到的方法與觀點(diǎn),正是因?yàn)殚喿x了作者的相關(guān)著作讓我對(duì)層次電路的設(shè)計(jì)有了進(jìn)一步的認(rèn)識(shí)并逐漸熟悉了verilog語(yǔ)言的編程風(fēng)格。然后我要感謝親愛(ài)的同學(xué)們,正是因?yàn)槟銈兊呐惆榕c鼓勵(lì)使我變得堅(jiān)強(qiáng)與勇毅,另外也非常感謝網(wǎng)上熱心論壇好友提供的幫助和解答。最后由于專(zhuān)業(yè)知識(shí)所限,論文中還存在很多瑕疵和需要研究改進(jìn)的地方,望老師和同學(xué)予以指正。再次感謝四年來(lái)老師的諄諄教導(dǎo),感謝同學(xué)的幫助與關(guān)心,祝福我的老師工作愉悅,闔家幸福,我的同學(xué)工作順利,勇攀高峰。
附錄(圖片)
(代碼)
0.jpg (23.66 KB, 下載次數(shù): 117)
下載附件
2018-4-2 16:07 上傳
…………
…………
完整的Word格式文檔51黑下載地址(內(nèi)含清晰圖片與源代碼):
基于FPGA的數(shù)字電子時(shí)鐘設(shè)計(jì)與實(shí)現(xiàn).doc
(6.21 MB, 下載次數(shù): 211)
2018-4-2 13:53 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|