- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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文件直接放在了硬盘根目录下,只需要建立一个文件夹就可以解决。
入门常注意的小问题
您可能关注的文档
最近下载
- 长螺旋钻孔压灌混凝土旋喷扩孔桩施工方案.doc VIP
- 肺康复ppt优质课件.pptx VIP
- GB-50352-2019-民用建筑设计统一标准.pdf VIP
- 建设工程施工合同示范文本gf-2013-0201)协议书、通用条款、专用条款.docx VIP
- 高考语文阅读理解《鸭子》含答案.docx VIP
- 无菌检查用培养基灭菌后的保存有效期的验证方法.docx VIP
- 输变电工程标准工艺(变电工程电气分册)2022版.docx VIP
- 2025贵州省专业技术人员继续教育公需科目考试题库(2025公需课课程).docx VIP
- 抹灰砂浆规范.docx VIP
- 模具工劳动合同协议书.docx VIP
文档评论(0)