• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

QuartusSPI接口設(shè)計(jì)verilog代碼ARTIX-7開發(fā)板

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

2-231222105ZEE.doc

共1個(gè)文件

名稱:QuartusSPI接口設(shè)計(jì)verilog代碼ARTIX-7開發(fā)板

軟件:Quartus

語言:Verilog

代碼功能:SPI接口設(shè)計(jì)

目標(biāo):

設(shè)計(jì)一個(gè)基于FPGA的SPI接囗

要求:

1)在FPGA上完成一個(gè)基于SpI的收發(fā)模塊;

2)能夠執(zhí)行對板上 EEROM讀寫;

3)使用撥碼開關(guān)控制SPI工作方式,讀或?qū)懀?/p>

4)時(shí)鐘信號為開發(fā)板上時(shí)鐘信號;

5)計(jì)算SPI工作時(shí)的有效帶寬。

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

本代碼已在ARTIX-7開發(fā)板驗(yàn)證,ARTIX-7開發(fā)板如下,其他開發(fā)板可以修改管腳適配:

ARTIX-7開發(fā)板照片.png

演示視頻:

設(shè)計(jì)文檔:

1. 工程文件

2. 程序文件

3. 程序編譯

4. 管腳分配

5. Testbench

6. 仿真圖

部分代碼展示:

//SPI使能
module?spi_en
(
ClkIn,//50K
StartEwen,//低電平啟動(dòng)
SK,//spi信號
CS,//spi信號
DI?//spi信號
);
input?ClkIn,StartEwen;
output?SK,CS,DI;
reg?SK,CS,DI;
reg?[3:0]?Cnt;
//組合生產(chǎn)SK
always?@?(StartEwen,Cnt,ClkIn)
if(StartEwen)//1--復(fù)位
SK=1'b0;
else?
if(Cnt>=0?&&?Cnt<11)
SK=ClkIn;
else
SK=1'b0;
//使能擦寫指令1-00-11xxxxx
always?@?(negedge?ClkIn?or?posedge?StartEwen)
if(StartEwen)
begin
Cnt<=4'd0;
CS<=1'b0;
end
else
begin
Cnt<=Cnt+1'b1;
case(Cnt)
4'd0:
begin
CS<=1'b1;
DI<=1'b1;
end
4'd1:
DI<=1'b0;
4'd2:
DI<=1'b0;
4'd3:
DI<=1'b1;
4'd4:
DI<=1'b1;
4'd5,4'd6,4'd7,4'd8,4'd9:
DI<=1'b0;
4'd10:
begin
CS<=1'b0;
DI<=1'b0;
end
4'd11:
Cnt<=4'd11;
endcase
end
endmodule

點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=394

  • 2-231222105ZEE.doc
    下載

相關(guān)推薦