版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 《EDA技術(shù)綜合設(shè)計(jì)》</p><p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 報(bào)告題目: 樂曲演奏電路的設(shè)計(jì) </p><p> 作者所在系部: </p><p> 作者所在專業(yè): </p><p>
2、; 作者所在班級: </p><p> 作 者 姓 名 : </p><p> 指導(dǎo)教師姓名: </p><p> 完 成 時(shí) 間 : </p><p><b> 內(nèi) 容 摘 要</b>&l
3、t;/p><p> 在EDA開發(fā)工具Quartus II 6.0平臺(tái)上,采用VHDL語言層次化和模塊化的設(shè)計(jì)方法,通過音符編碼的設(shè)計(jì)思想,預(yù)先定制樂曲,實(shí)現(xiàn)動(dòng)態(tài)顯示樂曲演奏電路的設(shè)計(jì),并在此基礎(chǔ)上,基于同一原理,使此電路同時(shí)具備了簡易電子琴的功能,使基于CPLD/FPGA芯片的樂曲播放數(shù)字電路得到了更好的優(yōu)化,提高了設(shè)計(jì)的靈活性和可擴(kuò)展性。</p><p> 關(guān)鍵字:EDA;Quartus
4、 II;VHDL;CPLD/FPGA;樂曲演奏電路;簡易電子琴</p><p><b> 課程設(shè)計(jì)任務(wù)書</b></p><p><b> 二、設(shè)計(jì)原理</b></p><p><b> 音調(diào)的控制</b></p><p> 頻率的高低決定了音調(diào)的高低。音樂的十二平均率
5、規(guī)定:每兩個(gè)八度音(如簡譜中的中音1和高音1)之間的頻率相差一倍。在兩個(gè)八度音之間又分為十二個(gè)半音。另外,音名A(簡譜中的低音6)的頻率為440Hz,音名B到C之間、E到F之間為半音,其余為全音。由此可以計(jì)算出簡譜中從低音1到高音1之間每個(gè)音名對應(yīng)的頻率,所有不同頻率的信號(hào)都是從同一個(gè)基準(zhǔn)頻率分頻得到的。由于音階頻率多為非整數(shù),而分頻系數(shù)又不能為小數(shù),因此必須將計(jì)算得到的分頻數(shù)四舍五入取整。若基準(zhǔn)頻率過低,則由于分頻比太小,四舍五入取整
6、后的誤差較大;若基準(zhǔn)頻率過高,雖然誤差較小,但分頻數(shù)將變大。實(shí)際的設(shè)計(jì)應(yīng)綜合考慮這兩方面的因素,在盡量減小頻率誤差的前提下取合適的基準(zhǔn)頻率。因此,要想FPGA發(fā)出不同音符的音調(diào),實(shí)際上只要控制它輸出相應(yīng)音符的頻率即可。綜合考慮各因素,本文中選取12MHZ作為CLK的分頻計(jì)數(shù)器的輸入分頻信號(hào)。樂曲都是由一連串的音符組成,因此按照樂曲的樂譜依次輸出這些音符所對應(yīng)的頻率,就可以在揚(yáng)聲器上連續(xù)地發(fā)出各個(gè)音符的音調(diào)。</p><
7、;p> 表3-1 簡譜中的音名與頻率的關(guān)系</p><p> 資料來源:EPM7128實(shí)驗(yàn)板說明書</p><p><b> 音長的控制</b></p><p> 音符的持續(xù)時(shí)間須根據(jù)樂曲的速度及每個(gè)音符的節(jié)拍數(shù)來確定。因此,在想控制音符的音長,就必須知道樂曲的速度和每個(gè)音符所對應(yīng)的節(jié)拍數(shù),在這個(gè)設(shè)計(jì)中所演奏的樂曲的最短的音符為四
8、分音符,如果將全音符的持續(xù)時(shí)間設(shè)為1s的話,那么一拍所應(yīng)該持續(xù)的時(shí)間為0.25秒,則只需要再提供一個(gè)4HZ的時(shí)鐘頻率即可產(chǎn)生四分音符的時(shí)長。要想讓系統(tǒng)知道現(xiàn)在應(yīng)該演奏哪個(gè)音符,而這個(gè)音符持續(xù)的時(shí)間應(yīng)該是多少,就必須編寫樂曲文件,在樂曲文件中音符是按地址存放的,當(dāng)系統(tǒng)工作時(shí)就按4Hz的頻率依次讀取簡譜,當(dāng)系統(tǒng)讀到某個(gè)音符的簡譜時(shí)就對應(yīng)發(fā)這個(gè)音符的音調(diào),持續(xù)時(shí)間為0.25秒,而如果在曲譜文件中這個(gè)音符為三拍音長,那又該如何控制呢?其實(shí)只要將
9、該音符連續(xù)書寫三遍,這時(shí)系統(tǒng)讀樂曲文件的時(shí)候就會(huì)連續(xù)讀到三次,也就會(huì)發(fā)三個(gè)0.25秒的音長,這時(shí)我們聽上去就會(huì)持續(xù)了三拍的時(shí)間,通過這樣一個(gè)簡單的操作就可以控制音樂的音長了。</p><p><b> 三.源程序</b></p><p><b> 1、編碼器。</b></p><p> library ieee;&l
10、t;/p><p> use ieee.std_logic_1164.all;</p><p> entity bianma is port(</p><p> din:in std_logic_vector(3 downto 0);</p><p> view:out std_logic_vector(2 downto 0);</p
11、><p> dout:out std_logic_vector(10 downto 0));</p><p> end bianma;</p><p> architecture made_bianma of bianma is</p><p><b> begin</b></p><p>
12、 process(din)</p><p><b> begin</b></p><p> case din is</p><p><b> --gao_yin</b></p><p> --when ""=>dout<="11100000011&
13、quot;;--1795</p><p> --when ""=>dout<="11011100100";--1764</p><p> --when ""=>dout<="11011000001";--1729</p><p> when "11
14、00"=>dout<="11010011010";view<="110";--1690--12</p><p> when "1011"=>dout<="11010000101";view<="110";--1669--11</p><p>
15、 when "1010"=>dout<="11001010110";view<="110";--1622--10</p><p> when "1001"=>dout<="11000100010";view<="110";--1570--9</p>
16、;<p> --zhong_yin</p><p> --when ""=>dout<="11000000110";--1542</p><p> --when ""=>dout<="10111001000";--1480</p><p>
17、--when ""=>dout<="10110000010";--1410</p><p> when "1000"=>dout<="10100110100";view<="101";--1332--8</p><p> when "0111&qu
18、ot;=>dout<="10100001010";view<="101";--1290--7</p><p> when "0110"=>dout<="10010101101";view<="101";--1197--6</p><p> when &
19、quot;0101"=>dout<="10001000100";view<="101";--1092--5</p><p><b> --di_yin</b></p><p> --when ""=>dout<="10000001100";--1
20、036</p><p> --when ""=>dout<="01110010000";--912</p><p> --when ""=>dout<="01100001101";--781</p><p> when "0100"=&g
21、t;dout<="01001101000";view<="011";--616--4</p><p> when "0011"=>dout<="01000010000";view<="011";--528--3</p><p> when "001
22、0"=>dout<="00101011001";view<="011";--345--2</p><p> when "0001"=>dout<="00010001001";view<="011";--137--1</p><p> when
23、 others => dout<="11111111111"; --2047</p><p><b> end case;</b></p><p> end process;</p><p> end made_bianma;</p><p><b> 2、三選一<
24、/b></p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> entity change is port(</p><p> din1,din2,din3,din4:in std_logic_vector(3 downto 0);</p&
25、gt;<p> cs:in std_logic_vector(1 downto 0);</p><p> dout:out std_logic_vector(3 downto 0));</p><p> end change;</p><p> architecture made_change of change is</p>&
26、lt;p><b> begin</b></p><p> process(cs)</p><p><b> begin</b></p><p> case cs is</p><p> when "00" =>dout<=din1;</p>
27、<p> when "01" =>dout<=din2;</p><p> when "10" =>dout<=din3;</p><p> when "11" =>dout<=din4;</p><p> when others =>dout
28、<=din1;</p><p><b> end case;</b></p><p> end process;</p><p> end made_change;</p><p><b> 3、分頻器</b></p><p> library ieee;&l
29、t;/p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity fenpin is port(</p><p> din: in std_logic_vector(10 downto 0);</p>
30、<p> clk: in std_logic;</p><p> dout: out std_logic);</p><p> end fenpin;</p><p> architecture made of fenpin is</p><p> signal temp:std_logic_vector(10 dow
31、nto 0);</p><p><b> begin</b></p><p> process(din,clk)</p><p><b> begin</b></p><p> if(clk'event and clk='1')then</p><
32、p> if(temp=2047)then</p><p> temp<=din;</p><p><b> else</b></p><p> temp<=temp+1;</p><p><b> end if;</b></p><p><
33、;b> end if;</b></p><p> end process;</p><p> dout<='1' when temp=2046</p><p><b> else '0';</b></p><p><b> end made;&l
34、t;/b></p><p><b> 4、音樂模塊1</b></p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p>
35、 entity made_music is</p><p><b> port(</b></p><p> clk_2hz:in std_logic;</p><p> dout:out std_logic_vector(3 downto 0));</p><p> end made_music;</p&
36、gt;<p> architecture make_music of made_music is</p><p> signal temp:std_logic_vector(5 downto 0);</p><p><b> begin</b></p><p> process(clk_2hz)</p>&l
37、t;p><b> begin</b></p><p> if(clk_2hz'event and clk_2hz='1') then</p><p> if(temp=48) then </p><p> temp<="000000";</p><p>&l
38、t;b> else </b></p><p> temp<=temp+1;</p><p><b> end if;</b></p><p><b> end if;</b></p><p> end process;</p><p> p
39、rocess(temp)</p><p><b> begin</b></p><p> case temp is</p><p> when "000000" =>dout<="0001"; --1</p><p> when "000001&quo
40、t; =>dout<="0001"; --1</p><p> when "000010" =>dout<="0011"; --3</p><p> when "000011" =>dout<="0011"; --3</p><p&
41、gt; when "000100" =>dout<="0010"; --2</p><p> when "000101" =>dout<="0010"; --2</p><p> when "000110" =>dout<="0100&qu
42、ot;; --4</p><p> when "000111" =>dout<="0100"; --4</p><p> when "001000" =>dout<="0101"; --5</p><p> when "001001" =
43、>dout<="0101"; --5</p><p> when "001010" =>dout<="0111"; --7</p><p> when "001011" =>dout<="0111"; --7</p><p>
44、 when "001100" =>dout<="0110"; --6</p><p> when "001101" =>dout<="0110"; --6</p><p> when "001110" =>dout<="1000";
45、 --8</p><p> when "001111" =>dout<="1000"; --8</p><p> when "010000" =>dout<="1001"; --9</p><p> when "010001" =>
46、dout<="1001"; --9</p><p> when "010010" =>dout<="1011"; --11</p><p> when "010011" =>dout<="1011"; --11</p><p> w
47、hen "010100" =>dout<="1100"; --12</p><p> when "010101" =>dout<="1100"; --12</p><p> when "010110" =>dout<="1011";
48、 --11</p><p> when "010111" =>dout<="1011"; --11</p><p> when "011000" =>dout<="1010"; --10</p><p> when "011001" =&
49、gt;dout<="1010"; --10</p><p> when "011010" =>dout<="0101"; --5</p><p> when "011011" =>dout<="0101"; --5</p><p>
50、 when "011100" =>dout<="1000"; --8</p><p> when "011101" =>dout<="1000"; --8</p><p> when "011110" =>dout<="0110";
51、 --6</p><p> when "011111" =>dout<="0110"; --6</p><p> when "100000" =>dout<="0111"; --7</p><p> when "100001" =>
52、dout<="0111"; --7</p><p> when "100010" =>dout<="0100"; --4</p><p> when "100011" =>dout<="0100"; --4</p><p> whe
53、n "100100" =>dout<="0011"; --3</p><p> when "100101" =>dout<="0011"; --3</p><p> when "100110" =>dout<="0001"; --1
54、</p><p> when "100111" =>dout<="0001"; --1</p><p> when "101000" =>dout<="0010"; --2</p><p> when "101001" =>dout
55、<="0010"; --2</p><p> when "101010" =>dout<="0001"; --1</p><p> when "101011" =>dout<="0001"; --1</p><p> when ot
56、hers=>dout<="0000"; --0</p><p><b> end case;</b></p><p> end process;</p><p> end make_music;</p><p><b> 音樂模塊2</b></p>
57、<p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity made_music1 is</p><p><b> port(</b&
58、gt;</p><p> clk_2hz:in std_logic;</p><p> dout:out std_logic_vector(3 downto 0));</p><p> end made_music1;</p><p> architecture make_music of made_music1 is</p&g
59、t;<p> signal temp:std_logic_vector(6 downto 0);</p><p><b> begin</b></p><p> process(clk_2hz)</p><p><b> begin</b></p><p> if(clk_2
60、hz'event and clk_2hz='1') then</p><p> if(temp=72) then </p><p> temp<="0000000";</p><p><b> else </b></p><p> temp<=temp+1;
61、</p><p><b> end if;</b></p><p><b> end if;</b></p><p> end process;</p><p> process(temp)</p><p><b> begin</b><
62、/p><p> case temp is</p><p> when "0000000" =>dout<="0001"; --1</p><p> when "0000001" =>dout<="0001"; --1</p><p>
63、when "0000010" =>dout<="0010"; --2</p><p> when "0000011" =>dout<="0010"; --2</p><p> when "0000100" =>dout<="0011"
64、;; --3</p><p> when "0000101" =>dout<="0011"; --3</p><p> when "0000110" =>dout<="0011"; --3</p><p> when "0000111"
65、=>dout<="0011"; --3</p><p> when "0001000" =>dout<="0010"; --2</p><p> when "0001001" =>dout<="0010"; --2</p><p&g
66、t; when "0001010" =>dout<="0001"; --1</p><p> when "0001011" =>dout<="0001"; --1</p><p> when "0001100" =>dout<="0010&
67、quot;; --2</p><p> when "0001101" =>dout<="0010"; --2</p><p> when "0001110" =>dout<="0011"; --3</p><p> when "0001111&qu
68、ot; =>dout<="0011"; --3</p><p> when "0010000" =>dout<="0100"; --4</p><p> when "0010001" =>dout<="0100"; --4</p><
69、;p> when "0010010" =>dout<="0100"; --4</p><p> when "0010011" =>dout<="0100"; --4</p><p> when "0010100" =>dout<="0
70、011"; --3</p><p> when "0010101" =>dout<="0011"; --3</p><p> when "0010110" =>dout<="0010"; --2</p><p> when "001011
71、1" =>dout<="0010"; --2</p><p> when "0011000" =>dout<="0101"; --5</p><p> when "0011001" =>dout<="0101"; --5</p>
72、<p> when "0011010" =>dout<="0110"; --6</p><p> when "0011011" =>dout<="0110"; --6</p><p> when "0011100" =>dout<=&qu
73、ot;0111"; --7</p><p> when "0011101" =>dout<="0111"; --7</p><p> when "0011110" =>dout<="0111"; --7</p><p> when "00
74、11111" =>dout<="0111"; --7</p><p> when "0100000" =>dout<="0101"; --5</p><p> when "0100001" =>dout<="0101"; --5</p&
75、gt;<p> when "0100010" =>dout<="0110"; --6</p><p> when "0100011" =>dout<="0110"; --6</p><p> when "0100100" =>dout<
76、="0110"; --6</p><p> when "0100101" =>dout<="0110"; --6</p><p> when "0100110" =>dout<="0111"; --7</p><p> when &quo
77、t;0100111" =>dout<="0111"; --7</p><p> when "0101000" =>dout<="1000"; --8</p><p> when "0101001" =>dout<="1000"; --8<
78、;/p><p> when "0101010" =>dout<="1000"; --8</p><p> when "0101011" =>dout<="1000"; --8</p><p> when "0101100" =>dout
79、<="0111"; --7</p><p> when "0101101" =>dout<="0111"; --7</p><p> when "0101110" =>dout<="0110"; --6</p><p> when
80、"0101111" =>dout<="0110"; --6</p><p> when "0110000" =>dout<="1001"; --9</p><p> when "0110001" =>dout<="1001"; --
81、9</p><p> when "0110010" =>dout<="1010"; --10</p><p> when "0110011" =>dout<="1010"; --10</p><p> when "0110100" =&g
82、t;dout<="1011"; --11</p><p> when "0110101" =>dout<="1011"; --11</p><p> when "0110110" =>dout<="1011"; --11</p><p&g
83、t; when "0110111" =>dout<="1011"; --11</p><p> when "0111000" =>dout<="1010"; --10</p><p> when "0111001" =>dout<="101
84、0"; --10</p><p> when "0111010" =>dout<="1001"; --9</p><p> when "0111011" =>dout<="1001"; --9</p><p> when "0111
85、100" =>dout<="1010"; --10</p><p> when "0111101" =>dout<="1010"; --10</p><p> when "0111110" =>dout<="1011"; --11</p
86、><p> when "0111111" =>dout<="1011"; --11</p><p> when "1000000" =>dout<="1100"; --12</p><p> when "1000001" =>dout&
87、lt;="1100"; --12</p><p> when "1000010" =>dout<="1100"; --12</p><p> when "1000011" =>dout<="1100"; --12</p><p> whe
88、n "1000100" =>dout<="1011"; --11</p><p> when "1000101" =>dout<="1011"; --11</p><p> when "1000110" =>dout<="1010"
89、; --10</p><p> when "1000111" =>dout<="1010"; --10</p><p> when others=>dout<="0000"; --0</p><p><b> end case;</b></p&
90、gt;<p> end process;</p><p> end make_music;</p><p><b> 音樂模塊3</b></p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p>
91、; use ieee.std_logic_unsigned.all;</p><p> entity made_music2 is</p><p><b> port(</b></p><p> clk_2hz:in std_logic;</p><p> dout:out std_logic_vector(3
92、 downto 0));</p><p> end made_music2;</p><p> architecture make_music of made_music2 is</p><p> signal temp:std_logic_vector(6 downto 0);</p><p><b> begin<
93、/b></p><p> process(clk_2hz)</p><p><b> begin</b></p><p> if(clk_2hz'event and clk_2hz='1') then</p><p> if(temp=45) then </p><
94、;p> temp<="0000000";</p><p><b> else </b></p><p> temp<=temp+1;</p><p><b> end if;</b></p><p><b> end if;</b>
95、;</p><p> end process;</p><p> process(temp)</p><p><b> begin</b></p><p> case temp is</p><p> when "0000000" =>dout<=&quo
96、t;0001"; --1</p><p> when "0000001" =>dout<="0001"; --1</p><p> when "0000010" =>dout<="0010"; --2</p><p> when "000
97、0011" =>dout<="0010"; --2</p><p> when "0000100" =>dout<="0011"; --3</p><p> when "0000101" =>dout<="0011"; --3</p&g
98、t;<p> when "0000110" =>dout<="0100"; --4</p><p> when "0000111" =>dout<="0100"; --4</p><p> when "0001000" =>dout<=
99、"0101"; --5</p><p> when "0001001" =>dout<="0101"; --5</p><p> when "0001010" =>dout<="0110"; --6</p><p> when "
100、;0001011" =>dout<="0110"; --6</p><p> when "0001100" =>dout<="0111"; --7</p><p> when "0001101" =>dout<="0111"; --7<
101、/p><p> when "0001110" =>dout<="1000"; --8</p><p> when "0001111" =>dout<="1000"; --8</p><p> when "0010000" =>dout&
102、lt;="1001"; --9</p><p> when "0010001" =>dout<="1001"; --9</p><p> when "0010010" =>dout<="1010"; --10</p><p> when
103、"0010011" =>dout<="1010"; --10</p><p> when "0010100" =>dout<="1011"; --11</p><p> when "0010101" =>dout<="1011";
104、--11</p><p> when "0010110" =>dout<="1100"; --12</p><p> when "0010111" =>dout<="1100"; --12</p><p> when "0011000"
105、=>dout<="1011"; --11</p><p> when "0011001" =>dout<="1011"; --11</p><p> when "0011010" =>dout<="1010"; --10</p><
106、p> when "0011011" =>dout<="1010"; --10</p><p> when "0011100" =>dout<="1001"; --9</p><p> when "0011101" =>dout<="1
107、001"; --9</p><p> when "0011110" =>dout<="1000"; --8</p><p> when "0011111" =>dout<="1000"; --8</p><p> when "010000
108、0" =>dout<="0111"; --7</p><p> when "0100001" =>dout<="0111"; --7</p><p> when "0100010" =>dout<="0110"; --6</p>
109、<p> when "0100011" =>dout<="0110"; --6</p><p> when "0100100" =>dout<="0101"; --5</p><p> when "0100101" =>dout<=&qu
110、ot;0101"; --5</p><p> when "0100110" =>dout<="0100"; --4</p><p> when "0100111" =>dout<="0100"; --4</p><p> when "01
111、01000" =>dout<="0011"; --3</p><p> when "0101001" =>dout<="0011"; --3</p><p> when "0101010" =>dout<="0010"; --2</p&
112、gt;<p> when "0101011" =>dout<="0010"; --2</p><p> when "0101100" =>dout<="0001"; --1</p><p> when "0101101" =>dout<
113、="0001"; --1</p><p> when others=>dout<="0000"; --0</p><p><b> end case;</b></p><p> end process;</p><p> end make_music;</
114、p><p><b> 總原理圖</b></p><p><b> 五、實(shí)驗(yàn)?zāi)康?lt;/b></p><p> 1. 熟練掌握VHDL 語言和QUARTUS II 軟件的使用;</p><p> 2. 理解狀態(tài)機(jī)的工作原理和設(shè)計(jì)方法;</p><p> 3. 掌握利用EDA
115、工具進(jìn)行自頂向下的電子系統(tǒng)設(shè)計(jì)方法</p><p><b> 六、實(shí)驗(yàn)步驟</b></p><p> 1.將實(shí)驗(yàn)系統(tǒng)上RS232接口與計(jì)算機(jī)串行口相連。</p><p> 2.用VHDL將源程序輸入QUARTUS II軟件中。</p><p> 3.編譯程序并進(jìn)行引腳分配,最后將程序下載到器件中去。</p&
116、gt;<p><b> 七、收獲和體會(huì):</b></p><p> 通過本次EDA課設(shè),我學(xué)會(huì)了VHDL語言的一些基本用法,應(yīng)用了原來不會(huì)或者不熟練的句型,如if句,也學(xué)會(huì)了一些基本功能的實(shí)現(xiàn)方法,如分頻,狀態(tài)控制等等,從另外一個(gè)角度重新審視了這個(gè)學(xué)期完全從硬件角度出發(fā)的電路設(shè)計(jì),明白了軟硬件之間的交互。通過這次實(shí)驗(yàn),對系統(tǒng)框圖的設(shè)計(jì)有了一定的了解。懂得了系統(tǒng)的前期設(shè)計(jì)對于
117、后續(xù)的編程和調(diào)試的重要性。</p><p> 本次實(shí)驗(yàn)采用了自下而上的設(shè)計(jì)方法,根據(jù)系統(tǒng)對硬件的要求,分化模塊,利用模塊實(shí)現(xiàn)功能,最后進(jìn)行仿真和調(diào)試。</p><p> 雖然這次實(shí)驗(yàn)遇到的問題不少,但是在胡輝老師以及同學(xué)的幫助下,我都順利地解決了,并為將來的實(shí)踐積累了寶貴的經(jīng)驗(yàn)和教訓(xùn)。</p><p> 具體的經(jīng)驗(yàn)和教訓(xùn)有:</p><p&
118、gt; 1模塊化設(shè)計(jì)有利于提高硬件設(shè)計(jì)的效率。</p><p> 2邏輯正確和仿真真確并不代表著實(shí)際實(shí)驗(yàn)的正確,通常情況下,要適當(dāng)?shù)卣{(diào)整邏輯以適應(yīng)硬件。要特別注意仿真時(shí)出現(xiàn)的毛刺和偏差,到底是由于仿真設(shè)置不合理還是仿真結(jié)果確實(shí)有問題。</p><p> 3從簡到難,逐步深入,先打出程序的框架,實(shí)現(xiàn)基本功能,然后再逐步細(xì)化。</p><p> 4學(xué)會(huì)經(jīng)常和老師
119、、同學(xué)交流,以便及時(shí)發(fā)現(xiàn)自己在實(shí)驗(yàn)中的紕漏和不足,促進(jìn)進(jìn)步。</p><p> 這次實(shí)驗(yàn)本人態(tài)度認(rèn)真,積極向其他同學(xué)求教并在此過程中得到很多收獲,能夠進(jìn)一步了解和使用一門與硬件直接打交道的基本語言對我們將來的學(xué)習(xí)和工作都會(huì)十分有益。</p><p> 實(shí)驗(yàn)的順利完成,與老師的熱心指導(dǎo)是分不開的,最后十分感謝胡輝老師的認(rèn)真負(fù)責(zé)的工作,讓我受益匪淺!</p><p>
120、;<b> 八、參考文獻(xiàn)</b></p><p> 《EDA技術(shù)與實(shí)驗(yàn)》 機(jī)械工業(yè)出版社 李國洪、胡輝、沈明山</p><p> 《EDA技術(shù)實(shí)驗(yàn)與課程設(shè)計(jì)》 清華大學(xué)出版社 曹新燕、周鳳臣、聶春燕</p><p> 《EDA技術(shù)綜合應(yīng)用實(shí)例與分析》 西安電子科技大學(xué)出
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- eda課程設(shè)計(jì)---樂曲硬件演奏電路
- vhdl課程設(shè)計(jì)---樂曲演奏電路設(shè)計(jì)
- eda課程設(shè)計(jì)--樂曲硬件演奏電路設(shè)計(jì)
- eda課程設(shè)計(jì)---樂曲硬件演奏電路的vhdl設(shè)計(jì)
- 樂曲硬件演奏電路的vhdl設(shè)計(jì) eda課程設(shè)計(jì)
- 樂曲演奏電路
- 基于fpga的樂曲演奏電路設(shè)計(jì)課程設(shè)計(jì)
- 音樂樂曲演奏程序課程設(shè)計(jì)報(bào)告
- 樂曲硬件演奏電路設(shè)計(jì)
- eda_電子琴課程設(shè)計(jì)--樂曲演奏電路的設(shè)計(jì)
- eda樂曲硬件演奏電路設(shè)計(jì)
- eda樂曲硬件演奏電路設(shè)計(jì)
- 用單片機(jī)演奏電子樂曲課程設(shè)計(jì)報(bào)告
- 基于fpga的樂曲演奏電路設(shè)計(jì)
- 基于eda技術(shù)的樂曲演奏電路設(shè)計(jì)
- 基于eda樂曲硬件演奏電路
- 基于verilog hdl的樂曲演奏電路設(shè)計(jì)
- eda樂曲播放電路課程設(shè)計(jì)報(bào)告
- 匯編發(fā)聲課程設(shè)計(jì)---演奏樂曲彩色顯示星號(hào)
- 匯編 音樂樂曲演奏程序
評論
0/150
提交評論