ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:1.59MB ,
资源ID:3337691      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3337691.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(八位二进制BCD码转换器.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

八位二进制BCD码转换器.docx

1、八位二进制BCD码转换器实验报告: 8位二进制-BCD码转换器姓名: 学号: 指导教师:一实验目的了解二进制-BCD码转换器实现原理,掌握移位加3算法,熟悉Verilog编程中模块复用模式。二实验任务1.掌握用移位加三算法实现二进制-BCD码转换器的设计;2.设计Verilog实验程序;3.生成比特流文件,将文件下载到开发板中进行硬件验证。三实验设备1.计算机(安装Xilinx ISE 10.1软件平台);2.NEXYS2 FPGA开发板一套(带USB-MIniUSB下载线)四实验原理设计任意数目输入的二进制-BCD码转换器的方法就是采用移位加三算法(Shift and Add 3 Algor

2、ithm)。此方法包含以下4个步骤:1)把二进制左移1位;2)如果共移了8位,那么BCD数就在百位、十位和个位列;3)如果在BCD列中,任何一个二进制数是5或者比5更大,那么就在BCD列的数值加上3;4)回到步骤1)。其工作过程如图1所示:图1. 一个8位的二进制数转换成BCD码的步骤五实验内容在Xilinx ISE 10.1上完成8位二进制-BCD码转换器设计,输入设计文件,仿真后,生成二进制码流文件下载到FPGA开发板上进行验证;1)依照实验1的方式,在Xilinx ISE 10.1中新建一个工程example02;2)在工程管理区任意位置单击鼠标右键,在弹出的快捷菜单中选择“New So

3、urce”命令,弹出新建源代码对话框,这里我们选择“Verilog Module”类型,输入Verilog文件名“binbcd8.v”,完整代码如下:module binbcd8( input 7:0 b, output reg 9:0 p ); reg 17:0 z; integer i; always (*) begin for (i=0;i4) z11:8=z11:8+3; if (z15:124) z15:12=z15:12+3; z17:1=z16:0; end p=z17:8; end endmodule3)设计相应的7段显示管程序,将相应的十进制数在开发板的显示管上显示出来。建立

4、文件类型为“Verilog Module”的“x7segb.v”,完整代码如下module x7segb( input 15:0 x, input clk, input clr, output reg 6:0 a_to_g, output reg 3:0 an, output dp ); wire1:0 s; reg3:0 digit; wire3:0 aen; reg19:0 clkdiv; assign dp=1; assign s=clkdiv19:18; assign aen3=x15|x14|x13|x12; assign aen2=x15|x14|x13|x12 |x11|x10|

5、x9|x8; assign aen1=x15|x14|x13|x12 |x11|x10|x9|x8 |x7|x6|x5|x4; assign aen0=1; /4位4选1 always (*) case(s) 0:digit=x3:0; 1:digit=x7:4; 2:digit=x11:8; 3:digit=x15:12; default: digit=x3:0; endcase/数码管显示always (*) case (digit) 0: a_to_g = 7b0000001; 1: a_to_g = 7b1001111; 2: a_to_g = 7b0010010; 3: a_to_g

6、 = 7b0000110; 4: a_to_g = 7b1001100; 5: a_to_g = 7b0100100; 6: a_to_g = 7b0100000; 7: a_to_g = 7b0001111; 8: a_to_g = 7b0000000; 9: a_to_g = 7b0000100; hA: a_to_g = 7b0001000; hB: a_to_g = 7b1100000; hC: a_to_g = 7b0110001; hD: a_to_g = 7b1000010; hE: a_to_g = 7b0110000; hF: a_to_g = 7b0111000; defa

7、ult: a_to_g = 7b0000001; / 0endcase /digit select always (*) begin an=4b1111; if(aens=1) ans=0; end /时钟分频器 always (posedge clk or posedge clr) begin if(clr=1) clkdiv=0; else clkdiv=clkdiv+1;endEndmodule4)设计8位二进制-BCD码转换器的顶层模块,如图3所示,下面的程序清单给出了实现这个顶层模块设计的Verilog程序,文件名为“binbcd8_top.v。图3. 顶层模块module binb

8、cd8_top( input mclk, input 3:3 btn, input 7:0 sw, output 7:0 led, output 6:0 seg, output 3:0 an, output dp ); wire 15:0 x; wire 9:0 p; assign x=6b000000,p; assign led=sw; binbcd8 B1 (.b(sw), .p(p) ); x7segb M1 (.x(x), .clk(mclk), .clr(btn3), .a_to_g(seg), .an(an), .dp(dp) );Endmodule5)导入其UCF文件,并进行编辑

9、,代码如下:NET mclk LOC = B8; NET btn LOC = A7; NET sw LOC = P11;NET sw LOC = L3; NET sw LOC = K3;NET sw LOC = B4; NET sw LOC = G3;NET sw LOC = F3; NET sw LOC = E2;NET sw LOC = N3;NET Led LOC = M5; NET Led LOC = M11; NET Led LOC = P7; NET Led LOC = P6; NET Led LOC = N5; NET Led LOC = N4; NET Led LOC = P4

10、; NET Led LOC = G1; NET seg LOC = L14;NET seg LOC = H12;NET seg LOC = N14;NET seg LOC = N11; NET seg LOC = P12; NET seg LOC = L13; NET seg LOC = M12; NET dp LOC = N13; NET an LOC = F12;NET an LOC = J12; NET an LOC = M13;NET an LOC = K14;6)进行综合和实现,然后生成二进制比特文件。7)将生成的二进制比特文件下载到开发板上,观察运行结果。六实验结果七实验心得及体会 通过本次实验让我了解了8位二进制BCD码转换器的工作原理。也让我更加熟悉了ise软件的使用,对Verilog语法有了更深的理解,在本次实验中由于忽略了语法错误,导致实验完成花费了很长时间,让我更了解了Verilog语法的重要性。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1