可编程逻辑器件实验报告.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验 1:四位加减法器设计 实验任务:设计带借位、进位的 4 位二进制减法、加法器。 实验要求:要考虑借位、进位。在软件环境下,编写源文件并用器件实现。 实验过程: 原理分析:多位减加法器的构成有两种方式:并行进位和串行进位方式。并行进位 加法器,串行进位是将全加器进行级联构成的,这种方式电路会比较简单。本次实 验中采用了自底向上(Bottom-Up)的分层次电路设计方法。实际上,Verilog HDL 语言中的加减运算符为程序设计提供了很大的便利,此次实验又采用它实现了加减 法器。 Verilog HDL 源文件设计: [1].利用算术运算符的程序设计: module adderandsubtracter(s,k,cin,cout); input cin,k; parameter[3:0] aa = 4b0100; parameter[3:0] bb = 4b0101; output cout; output[3:0] s; reg cout,s; always@(k) begin if(k == 1) {cout,s} = aa+bb+cin; else {cout,s} = aa-bb-cin; end endmodule [2]. 自底向上(Bottom-Up)的分层次电路设计方法的 Verilog HDL 源文件。 module Adderandsubtracter1 bit (k, A, B, Cin , Sum, Cout ); input A, B, Cin,k; output Sum,Cout; parameter[3:0] A = 4b0100; parameter[3:0] B = 4b0101; assign Sum=(((A^k)^B)^Cin)^k; assign Cout=((A^k)B) | ((A^k)Cin) | (BCin); end module module Adderorsubtracter4bit (k, First, Second, Carry_In, Sum_out, Carry_out); input[0:3] First, Second; input Carry_in; output[0:3] Sum_out; output Carry_out; wire [0:2] Car; always@(k) begin if(k == 0) Adderandsubtracter1 bit A1 (First[3],Second[3],Carry_in,Sum_out[3],Car[2]); A2 (First[2],Second[2], Car[2],Sum_out[3],Car[1]); A3 (First[3],Second[3], Car[1],Sum_out[3],Car[0]); A4 (First[3],Second[3], Car[0],Sum_out[3],Carry_out); else Adderandsubtracter1 bit A1 (First[3],Second[3],Carry_in,Sum_out[3],Car[2]); A2 (First[2],Second[2], Car[2],Sum_out[3],Car[1]); A3 (First[3],Second[3], Car[1],Sum_out[3],Car[0]); A4 (First[3],Second[3], Car[0],Sum_out[3],Carry_out); end end module (3) 编译源文件: 在主界面 Process 窗口中双击 Translate Design,对所编辑的代码进行综合,通过后会 出现绿色对号。 (4) 管脚的分配: 在 Diamond 主界面中,点击 Tools-Spreadsheet view ,打开 Spreadsheet view 框。在  pin 一栏中填入各输入输出映射的管脚。其中定义 37、38、39、40.为数据输出显 示位。54 为进位位或借位位,控制键,52 为加减法切换键。 (5) 烧录程序,器件实现: 在 Diamond 主界面中,进入 Tools-Programmer,在 State 栏出现 功。 4.实验结果及分析:  PASS,即说明烧写成 1)用加减法运算符实现:在实验板上可以看到,发光二极管在不带进位的情况下,即 cin 为 0 时,这时应按下实验板上控制进位位与借位位的按键 54 时,显示为 1001,在不 按下按键时,即进位位 cin 为 1 时为 1010,可知带进位的加法器功能完全实现; 在按下控制加减法器按键 52,而且同时按下 54 时,为不带借位的减法器输出为 1111,不按下 54 时,即为

文档评论(0)

liushuixian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档