名稱:電子琴設(shè)計(jì)Verilog代碼遠(yuǎn)程云端平臺(tái)Quartus
軟件:Quartus
語(yǔ)言:Verilog
代碼功能:
電子琴:
要求能切換手動(dòng)彈奏和自動(dòng)播放模式。
手動(dòng)彈奏模式下,分高低兩個(gè)音域,可通過(guò) 1 2 3 4 5 6 7共7個(gè)按鍵,可通過(guò)14個(gè)按鍵來(lái)彈奏 且通過(guò)一個(gè)顯示模塊顯示按鍵。
播放模式下可播放儲(chǔ)存的音樂(lè)。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在遠(yuǎn)程云端平臺(tái)驗(yàn)證,遠(yuǎn)程云端平臺(tái)如下,其他遠(yuǎn)程云端平臺(tái)可以修改管腳適配:
演示視頻:
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 管腳分配
6. 仿真文件testbench
7. 仿真圖
整體仿真圖
控制模塊
分頻模塊
顯示模塊
部分代碼展示:
//電子琴 module?dianziqin(clk,keys,BEEP,auto_key,seg_select,bit_select); input????????clk;//10MHz input????????[13:0]keys;//14個(gè)琴鍵 input??auto_key;//自動(dòng)播放開(kāi)關(guān),1自動(dòng)播放,0按鍵模式 output???????BEEP;//蜂鳴器輸出 output?[7:0]?seg_select;//數(shù)碼管段選顯示 output?[3:0]?bit_select;//數(shù)碼管位選顯示 wire?[11:0]?add_step; wire?[7:0]?key_num;//按鍵號(hào) //分頻模塊 div_clk?i_div_clk( .clk(clk), .auto_key(auto_key), .keys(keys), .BEEP(BEEP), .add_step(add_step) ); //琴鍵控制 control?i_control( .clk(clk), .keys(keys), .key_num(key_num), .add_step(add_step), .auto_key(auto_key) ); //數(shù)碼管顯示模塊 display?i_display( .clk_in(clk), .key_num(key_num),? .seg_select(seg_select), .bit_select(bit_select) ); endmodule
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=347