VHDL常见语法问题.docVIP

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VHDL常见语法问题,vhdl语法,vhdlportmap语法,vhdl语法大全,vhdl基本语法,vhdl高级语法,英语语法常见问题详解,常见语法错误,常见的汉语语法错误,常见英语语法错误

VHDL常见问题 平时编程时时常会遇到的一些问题,在这里一一列出,一部分是一些常见的语法错误,另一部分是可能需要注意的问题。 一、常见的语法错误 二、需要注意的问题 1、书写程序的时候,第一个ENTITY要与VHDL文件的名字相同,在多个文件存在的工程里面,首文件的名字也应该跟工程文件名一致。 例如:在编写16位2进制加法器的时候,有FADD16,FADD8,FADD4等文件,要综合的时候,注意要将FADD16的名字与工程文件一致 2、程序不可以使用数字开头的名字来命名。 3、取名的时候不能取与IEEE库中文件相同的名字,比如AND2,OR2等 4、变量的定义域位PROCESS中,在PROCESS外面不可见。例如 PROCESS(CLK) VARIABLE TEMP:STD_LOGIC BEGIN IF RISING_EDGE(CLK) THEN TEMP:=A; B=TEMP; END IF; END PROCESS; C=TEMP; (此处C赋值不成功 5、在遇到向量加法的时候,需要添加库STD_LOGIC_UNSIGNED.ALL。这个库提供了不同格式的量的互换计算,如 A:in std_logic B:in interger range 0 to 8 C:out std_logic_vector(3 downto 0) C=A+B 仅在STD_LOGIC_1164.ALL中是做不出这种操作的。 6、定义一个时钟的上升沿,常用的表达方式有, clk’event and clk=’1’ 和rising_edge (clk)两种,这里要注意的是,当clk定义成std_logic类型时,两种表达方式即可,当clk定义成bit类型时,只能用clk’event and clk=’1’这种方式表达时钟的上升沿。 7、多重赋值错误:不同PROCESS里面对同一个信号进行赋值,系统无法计算 PRO1:PROCESS(CLK) BEGIN IF RISING_EDGE(CLK) THEN A=B; END IF; END PROCESS PRO1; PRO2:PROCESS(CLK) BEGIN IF RESET=1 THEN A=C; END IF; END PROCESS PRO2; 可以进行如下修改 PRO3:PROCESS(CLK) BEGIN IF RESET=1 THEN A=C; ELSIF RISING_EDGE(CLK) THEN A=B; END IF; END PROCESS PRO3; 1、编译的时候应该注意的事件 按此按键只检查语法功能是否正确,不会生成延时信息。 按此按键即检查语法,也生成延时信息,推荐使用这个。 在MAXPLUS中,注意保存的文件格式应该为VHD文件。 2、STD_LOGIC的位矢量为STD_LOGIC_VECTOR,其取值范围位1,0,’Z’(高阻),但平时的时候要注意的是,STD_LOGIC的取值范围不是只有‘1’,‘0’,‘Z’三个量。 3、当有一个PROCESS有多个文件的时候,编译时,先将你需要编译的VHDL文件设置为当前文件,然后点击才能编译你所选择的文件。 具体操作为PROCESS菜单下,点击SET AS TOP-LEVEL ENTITY 4、波形仿真时,需要将你需要仿真的VHDL文件先编译一次,然后建立波形文件,波形文件名应该与工程名一致,才可以编译出正确的波形。 5、仿真的时候注意数据的建立时间,如在时钟上升沿下的赋值不要出现以下情况 错误 正确 6、在平时用Maxplus2编译的时候可能会出现can’t open VHDL work 这个错误。出现这个错误的原因是把VHD文件直接放在了硬盘根目录下,只需要建立一个文件夹就可以解决。 入门常注意的小问题

文档评论(0)

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

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

1亿VIP精品文档

相关文档