网站大量收购独家精品文档,联系QQ:2885784924

格雷码、二进制转换电路,vhdl南京理工大学紫金学院实验报告,eda.doc

格雷码、二进制转换电路,vhdl南京理工大学紫金学院实验报告,eda.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
格雷码、二进制转换电路,vhdl南京理工大学紫金学院实验报告,eda

EDA技术与应用 实验报告 实验名称: 格雷码、二进制转换电路 姓 名: 学 号: 班 级: 通信 时 间: 2013 南京理工大学紫金学院电光系 实验目的 1)学习用VHDL代码描述组合逻辑电路的方法。 2) 掌握when…else…和generate并行语句的使用。 实验原理 1、格雷码、二进制码转换理论分析 4位格雷码二进制转换的真值表如图1。 图1 4位格雷码二进制转换的真值表 由真值表得到的表达式如下: 对于n位二进制码转换为格雷码的码转换电路,转换表达式如下: 2、GENERIC、GENERATE语句 a、GENERIC GENERIC被称为参数传递映射语句,它描述响应的元件类属参数间的衔接和传送方式。参数传递语句用于设计从外部端口改变原件内部参数或结构规模的元件,也可称其为类书元件。该语句在改变电路结构或元件硬件升级方面显得尤为便捷。 其语句格式为: generic map(param.list)port map(port list); 例:generic(n:integer:=7); 该语句定义了参数N为整数,且赋值为7。 b、GENERATE语句 电路某部分由同类元件构成,这类同类元件叫做规则结构,如:ROM,RAM,移位寄存器等规则结构可以用生成语句来描述。生成语句可以用for_generate语句描述。 其书写格式如下: 标号:for循环变量in离散范围generate 并行处理语句; end generate 标号; 其中,标号是for_generate语句的唯一标识符,是可选项;循环变量的值在每一次循环中都发生变化;离散范围用来指定变量循环的取值范围,循环变量实际上规定了循环的次数;循环变量每去一个只就执行一次并行语句。 该语句和for_loop语句很类似,但是二者也有一定的区别。For_generate语句中执行的语句为并行语句,而for_loop语句中执行的语句为顺序语句。 实验内容 1、建立工程、输入代码 先建立工程,工程命名为“b_to_g”,顶层文件名为“b_to_g”。 选择“File-New”,在弹出的窗口中选择“VHDL File”建立“VHDL”文件。 在新建的VHDL文件中输入格雷码、二进制码转换的VHDL代码。将文件保存。 代码如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity b_to_g is generic(n:integer:=7); port(b:in std_logic_vector(n downto 0); g:buffer std_logic_vector(n downto 0)); end; architecture rhg of b_to_g is begin g(n)=b(n); b1:for i in 0 to n-1 generate g(i)=b(i+1) xor b(i); end generate b1; end; 2、编译仿真 对当前文件进行编译,编译通过以后建立仿真波形文件,保存为“b_to_g.vwf”。为波形文件添加结点。 将“End time”设置为100μs。将输入输出编组,并为输入信号赋值,其中“Start Value”为,“Count every”设置为5μs。如下图: 注意:“Count every”值一定要比“End time”值小,且“Count every”值最好不要设置太小(如10ns),避免在时序仿真是由于延时造成结果不正确。“Count every”值和“End time”值共同决定了输入信号值的数目。 注意:每次仿真时最好从“Simulator Tool”中导入要仿真的文件,而不是直接点击工具栏上的按钮,尤其是当工程中存在多个仿真文件时。 3、管脚配置 利用实验箱的模式5来验证设计电路的正确性。 用键1~键8表示输入管脚g0~g7,发光二极管D1~D8表示输出管脚b0~b7。 选择“Assignment→Assignment Editor”弹出管脚配置图,在“Location”一栏中填入相应器件的管脚。如下图。 将未配置的管脚设置为高阻态。 注意:总线“b”和总线“g”不需要配置管脚。 注意:配置好管脚后一定要记得编译。 4、下载 将文件下载到实验箱,对实验箱进行操作,将键1~键8按钮设置为不同的电平,观察D1~D8发光二极管的情况。 小结与体会 通过这次实验,我对理论课上老师所讲的generate并行语句

您可能关注的文档

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档