西工大FPGA实验报告二.doc

西工大FPGA实验报告二.doc

ID:59408690

大小:158.50 KB

页数:7页

时间:2020-05-26

西工大FPGA实验报告二.doc_第1页
西工大FPGA实验报告二.doc_第2页
西工大FPGA实验报告二.doc_第3页
西工大FPGA实验报告二.doc_第4页
西工大FPGA实验报告二.doc_第5页
资源描述:

《西工大FPGA实验报告二.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、西北工业大学《硬件描述语言语与FPGA》实验报告学院:学  号:姓  名:专业:实验时间:实验地点:指导教师:西北工业大学20年月利用状态机实现比较复杂的接口设计一、实验目的及要求1.学习运用由状态机控制的逻辑开关,设计出一个比较复杂的接口逻辑;2.在复杂设计中使用任务(task)结构,以提高程序的可读性;3.加深对可综合风格模块的认识。二、实验设备(环境)及要求预装了开发工具synplify、ModelSimSE的PC机。三、实验内容与步骤内容:利用状态机实现一个比较复杂的接口设计。步骤:1.建立工程并编写模块源码

2、;2.编写测试模块并思考状态机是如何实现复杂的接口设计的;3.布局布线并仿真;4.记录数据并完成实验报告。四、实验代码modulewriting(reset,clk,address,data,sda,ack);inputreset,clk;input[7:0]data,address;inoutsda;outputack;reglink_write;reg[3:0]state;reg[4:0]sh8out_state;reg[7:0]sh8out_buf;regfinish_F;regack;parameteridl

3、e=0,addr_write=1,data_write=2,stop_ack=3;parameterbit0=1,bit1=2,bit2=3,bit3=4,bit4=5,bit5=6,bit6=7,bit7=8;assignsda=link_write?sh8out_buf[7]:1'bz;always@(posedgeclk)beginif(!reset)beginlink_write<=0;state<=idle;finish_F<=0;sh8out_state<=idle;ack<=0;sh8out_buf<=

4、0;endelsecase(state)idle:beginlink_write<=0;finish_F<=0;sh8out_state<=idle;ack<=0;sh8out_buf<=address;state<=addr_write;endaddr_write:beginif(finish_F==0)beginshift8_out;endelsebeginsh8out_state<=idle;sh8out_buf<=data;state<=data_write;finish_F<=0;endenddata_wr

5、ite:beginif(finish_F==0)beginshift8_out;endelsebeginlink_write<=0;state<=stop_ack;finish_F<=0;ack<=1;endendstop_ack:beginack<=0;state<=idle;endendcaseendtaskshift8_out;begincase(sh8out_state)idle:beginlink_write<=1;sh8out_state<=bit7;endbit7:beginlink_write<=1;

6、sh8out_state<=bit6;sh8out_buf<=sh8out_buf<<1;endbit6:beginsh8out_state<=bit5;sh8out_buf<=sh8out_buf<<1;endbit5:beginsh8out_state<=bit4;sh8out_buf<=sh8out_buf<<1;endbit4:beginsh8out_state<=bit3;sh8out_buf<=sh8out_buf<<1;endbit3:beginsh8out_state<=bit2;sh8out_buf

7、<=sh8out_buf<<1;endbit2:beginsh8out_state<=bit1;sh8out_buf<=sh8out_buf<<1;endbit1:beginsh8out_state<=bit0;sh8out_buf<=sh8out_buf<<1;endbit0:beginlink_write<=0;finish_F<=1;endendcaseendendtaskendmodule//测试代码:`timescale1ns/100ps`defineclk_cycle50modulewritingTop;

8、regreset,clk;reg[7:0]data,address;wireack,sda;always#`clk_cycleclk=~clk;initialbeginclk=0;reset=1;data=0;address=0;#(2*`clk_cycle)reset=0;#(2*`clk_cycle)reset=1;#(100*`clk_c

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。