收藏 分享(赏)

16位乘法器学习笔记(Verilog语言源程序+仿真程序).doc

上传人:fmgc7290 文档编号:6544535 上传时间:2019-04-16 格式:DOC 页数:12 大小:110KB
下载 相关 举报
16位乘法器学习笔记(Verilog语言源程序+仿真程序).doc_第1页
第1页 / 共12页
16位乘法器学习笔记(Verilog语言源程序+仿真程序).doc_第2页
第2页 / 共12页
16位乘法器学习笔记(Verilog语言源程序+仿真程序).doc_第3页
第3页 / 共12页
16位乘法器学习笔记(Verilog语言源程序+仿真程序).doc_第4页
第4页 / 共12页
16位乘法器学习笔记(Verilog语言源程序+仿真程序).doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、LCD1602 显示源程序如下:module lcd1602(input clk, /60Minput rst_n,output lcd_p, /Backlight Source + lcd 屏幕背光output lcd_n, /Backlight Source -output reg lcd_rs, /0:write order; 1:write data output lcd_rw, /0:write data; 1:read dataoutput reg lcd_en, /negedge 在 lcd_en 下降沿需保证数据有效output reg 7:0 lcd_data);mux16

2、mul(.rst_n(rst_n),.clk(clk),.start(start),.ain(data0),.bin(data1),.yout(data2),.done(done);/端口名称关联 /-lcd1602 order-parameter Mode_Set = 8h31, /功能设置,Cursor_Set = 8h0c, /光标设置Address_Set = 8h06, /输入模式设置Clear_Set = 8h01; /清屏设置/*LCD1602 Display Data*/ wire 7:0 data_r0,data_r1,data_r2; /乘数、被乘数wire 15:0dat

3、a0,data1; /结果显示wire 31:0data2; wire 7:0 addr; /write addresswire start,done;assign data_r0 = 8h30 + data07:0 ; / 8h30 在 LCD1602 上显示值为 0。 assign data_r1 = 8h30 + data17:0 ;assign data_r2 = 8h30 + data27:0;/-address-assign addr = 8h80;/*LCD1602 Driver*/ /-lcd1602 clk_en-reg 31:0 cnt;reg lcd_clk_en;alw

4、ays (posedge clk or negedge rst_n) beginif(!rst_n)begincnt 5d0 /移位不累加endelse if(i = 5d16 /移位不累加endelse if(i = 5d16 /累加不移位对于 if(aregi-1) yout_r = 1b0,yout30:15+breg,yout_r14:1;此句说明如下:(1) 、二进制中 16 位加上 16 位结果为 17 位(2) 、areg0为 1 时,第一次只是加并不右移,后面 aregi-1再次为 1 时执行累加并右移命令。右移实现通过拼接强制最高位(即第32 位)为 0 实现的。(3) 、

5、else if(i = 5d16 /累加不移位对于此语句当 areg15即最高位为 1 且 i=16 时只进行累加,再次应注意最高位(即第 32 位)的变化。3、第 2 条的思想是基于如下二进制算法实现的:1101X 10111101110100001101100 01 0114、尝试结果在 LCD1602 上面显示出来:(1)assign data_r2 = 8h30 + data27:0;此语句之所以加上 8h30是因为 8h30 在 lcd 显示时存放的是 0 的地址。(2)问题:现在 lcd 显示屏只能显示八个字符,暂时不知道为什么?另一个问题就是:此 lcd 显示两行的时候字符会变暗,显示一行就很正常!只能显示八个的原因是:硬件问题,lcd1602 出问题了!(坑了)5、16 位乘法器仿真图如下:从上图中能看到 start 变为 1 后的第一个周期内 yout 为 0,从下面一个周期开始 yout 开始输出值,且移位 14 次即到第 15 个周期,一直到第 16 个时钟周期时,yout 输出了最终结果值,done 也由 0 变为了 1。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > C/C++资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报