【正文】
但總體來說,課程設(shè)計還是取得了一定成果。設(shè)計過程中要平心靜氣,戒驕戒躁,有時候可能就是沒有思路,要學(xué)調(diào)整自己。在設(shè)計過程中更應(yīng)該排除雜念,不要抱僥幸心理,要實(shí)事求是腳踏實(shí)地的一步一步做下去,因 為整個工程包含的模塊至少有兩個,哪一個模塊出問題都會導(dǎo)致得不到結(jié)果,所以出現(xiàn)問題,結(jié)果不理想必須要及時解決,不能向后拖,而且在測試的時候盡量接近真實(shí)情況,不能因?yàn)榉抡婊ㄙM(fèi)的時間長,就簡單測試這也會為后來的工作埋下隱患,比如我在設(shè)計分頻器的過程中一味求快,在測試的時候只加了讓他輸出中音“哆”的音,結(jié)果 是正確的,但是后來在組合電路后結(jié)果無論加什么條件只是輸出 “哆” 的音,只能再改程序,一步一步從頭開始;另外設(shè)計最好是自己完成,不要照抄照搬別人的,自己的能力的不到提升也是不尊重別人的勞動成果,更是對課程涉及的褻瀆。 end endmodule ( 2)原理圖及仿真波形 電子琴設(shè)計 原理圖 六、心得體會 雖然只有短短五天的課程設(shè)計 , 但是 在解決各種困難的過程中也有所收獲。 end*/ always(posedge clk_1M) begin if(in==0) out=k2。k2=1。 reg out。 input in,k1,k2,clk_1M。d65:n=0。o9=0。o7=0。o5=0。o3=0。d64:begin o1=0。d63:o1=1。d62:o1=1。d61:o2=1。d60:o3=1。d59:o2=1。d58:o1=1。d57:o1=1。d56:o2=1。d55:o3=1。d54:o4=1。d53:o5=1。d52:o5=1。d51:o4=1。d50:o3=1。d49:o3=1。d48:o1=1。o5=1。 39。 39。 39。 39。 39。 39。 39。 39。 39。 39。 39。 39。 39。 39。end 39。o8=0。o6=0。o4=0。o2=0。 39。 39。 39。 39。 39。 39。 39。 39。 39。 39。 39。 39。 39。 39。 39。end 39。o8=0。o6=0。o4=0。o2=0。 39。 39。 39。 39。 39。 39。 39。 39。 39。 39。 39。 39。 39。 39。 39。end case(n) 39。b0。if(q==39。o9=0。o7=0。o5=0。o3=0。 always(posedge clk_1M) if(in==0) begin o1=0。 reg[18:0]q。 output o1,o2,o3,o4,o5,o6,o7,o8,o9。end endcase end endmodule ( 2)原理圖及仿真波形 自動播放模塊 ( 1)程序設(shè)計 module huanlesong(in,clk_1M,o1,o2,o3,o4,o5,o6,o7,o8,o9)。end end end state22:begin out=0。else begin out=0。end if(in==539。end end else begin begin out=~out。else begin out=0。end if(in==539。end end end state21:begin if(count=1002)begin begin count=count+1239。else begin out=0。end if(in==539。end end else begin begin out=~out。else begin out=0。end if(in==539。end end end state20:begin if(count=1136)begin begin count=count+1239。else begin out=0。end if(in==539。end end else begin begin out=~out。else begin out=0。end if(in==539。end end end state19:begin if(count=1276)begin begin count=count+1239。else begin out=0。end if(in==539。end end else begin begin out=~out。else begin out=0。end if(in==539。end end end state18:begin if(count=1432)begin begin count=count+1239。else begin out=0。end if(in==539。end end else begin begin out=~out。else begin out=0。end if(in==539。end end end state17:begin if(count=1518)begin begin count=count+1239。else begin out=0。end if(in==539。end end else begin begin out=~out。else begin out=0。end if(in==539。end end end state16:begin if(count=1704)begin begin count=count+1239。else begin out=0。end if(in==539。end end else begin begin out=~out。else begin out=0。end if(in==539。end end end state15:begin if(count=1912)begin begin count=count+1239。else begin out=0。end if(in==539。end end else begin begin out=~out。else begin out=0。end if(in==539。end end end state14:begin if(count=251)begin begin count=count+1239。else begin out=0。end if(in==539。end end else begin begin out=~out。els