名称:QuartusSPI接口设计verilog代码ARTIX-7开发板
软件:Quartus
语言:Verilog
代码功能:SPI接口设计
目标:
设计一个基于FPGA的SPI接囗
要求:
1)在FPGA上完成一个基于SpI的收发模块;
2)能够执行对板上 EEROM读写;
3)使用拨码开关控制SPI工作方式,读或写;
4)时钟信号为开发板上时钟信号;
5)计算SPI工作时的有效带宽。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在ARTIX-7开发板验证,ARTIX-7开发板如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. 管脚分配
5. Testbench
6. 仿真图
部分代码展示:
//SPI使能 module?spi_en ( ClkIn,//50K StartEwen,//低电平启动 SK,//spi信号 CS,//spi信号 DI?//spi信号 ); input?ClkIn,StartEwen; output?SK,CS,DI; reg?SK,CS,DI; reg?[3:0]?Cnt; //组合生产SK always?@?(StartEwen,Cnt,ClkIn) if(StartEwen)//1--复位 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
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=394
阅读全文