用verilog语言编写mpu接口

上传人:z**** 文档编号:113638215 上传时间:2022-06-26 格式:DOC 页数:7 大小:252.50KB
返回 下载 相关 举报
用verilog语言编写mpu接口_第1页
第1页 / 共7页
用verilog语言编写mpu接口_第2页
第2页 / 共7页
用verilog语言编写mpu接口_第3页
第3页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Mpu 知识mpu主要有一条双向数据线data:用于数据在Mpu与 存储单元或者 I/O 单元之间进行传输;rst:复位端,低电平有效;addr: 存储单元内部地址;clk_wr:写时钟,上升沿来临时将数据写进存储单元; wr:写使能端,高电平有效,使能时才能将数据写进去; rd:读使能端,高电平有效,使能时才能将数据读出来; out 双向数据线 data 的数据通信,一般是三态门,将 第三个状态置为高阻,防止数据从两个方向输入; assign data = rd ? buff : 8hz;源代码module mpu(data,addr,clk_wr,rd,wr,rst);input 15:0 data;input 3:0 addr;input clk_wr,rd,wr,rst;reg15:0 out0:15; wire15:0 buff;assign data = rd ? buff : 8hz;always (posedge clk_wr or negedge rst) beginif(rst)beginout0 = 16d0;out1 = 16d0;out2 = 16d0;out3 = 16d0;out4 = 16d0;out5 = 16d0;out6 = 16d0;out7 = 16d0;out8 = 16d0;out9 = 16d0;out10 = 16d0;out11 = 16d0;out12 = 16d0;out13 = 16d0;out14 = 16d0;out15 = 16d0;endelse if(wr)case(addr)4d0: out0 = data;4d1: out1 = data;4d2: out2 = data;4d3: out3 = data;4d4: out4 = data;4d5: out5 = data;4d6: out6 = data;4d7: out7 = data;4d8: out8 = data;4d9: out9 = data; 4d10:out10 = data;4d11:out11 = data;4d12:out12 = data;4d13:out13 = data;4d14:out14 = data;41d5:out15 = data; endcaseendassign buff = (addr = 4d0) ? out0 :(addr = 4d1) ? out1 :(addr = 4d2) ? out2 :(addr = 4d3) ? out3 :(addr = 4d4) ? out4 :(addr = 4d5) ? out5 : (addr = 4d6) ? out6 : (addr = 4d7) ? out7 : (addr = 4d8) ? out8 : (addr = 4d9) ? out9 : (addr = 4d10) ? out10 : (addr = 4d11) ? out11 : (addr = 4d12) ? out12 : (addr = 4d13) ? out13 : (addr = 4d14) ? out14 : (addr = 4d15) ? out15 ;endmodule激励文件module mpu_16;wire 15:0 data;reg 3:0 addr;reg clk_wr,rd,wr,rst;integer i, j,k;mpu m1(.data(data),.addr(addr),.clk_wr(clk_wr),.rd(rd),.wr(wr),.rst(rst);initial beginj = 0;k = 0; clk_wr= 1b0; addr = 4d0;rd = 1b0;wr = 1b1;rst = 1b0;#5rst = 1b1;endalwaysfor(i = 0; i 16; i = i+1 )#10 addr = i;always #5 clk_wr = clk_wr; always #80 wr = wr ; always #80 rd = rd;alwaysif(wr)beginforce data = j; #10 release data;j = j+1 ;k = k+1;endelse#10 j = k; initial$monitor($time,addr=%d,wr=%b,rd=%b,i=%d ,j=%d,data=%d,addr,wr,rd,i,j,data);Endmodule实验波形C(OOJBGcoxc-5:伽010110Ma-汕)臥0.LomricLn(niiooiiL n JI0Q:1111.00)00000Q(EDEiTOT!ttmmaw:ii1006TO.OO.imiioOQQ1mo实验心得网上搜集了一些mpu的知识,对mpu的编程有了大概的了解。但是编写的 时候还是有些不懂,最后在同学的帮助下顺利完成了。通过此次实验,我发现编 写完之后要仔细检查一下程序在运行,有些错误是敲代码的时候顺手造成的,比 如:always语句写完的时候不能加“;”
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!