3

目前,我一直在使用 Xilinix 参与 FPGA 设计技术。在解决设计问题时,我反复发现 if-chain 中的elseifandelsif几乎用于类似的语句。

elsif(clk'event and clk='1') then
                 pr_state<=nx_state;

elseif S1=’0’ and  S0=’1’ then
     Z <= B;

我的问题是——这两种结构有什么区别?它们相似吗?我浏览了 DL Perry 的 VHDL 书籍和其他在线 VHDL 教程网站,但找不到解决方案。提前致谢!

4

2 回答 2

6

正如您在此处看到的那样
http://tams-www.informatik.uni-hamburg.de/vhdl/tools/grammar/vhdl93-bnf.html
elseif不是 vhdl 中的有效关键字。因此,如果它被认可,那么某些工具供应商想帮您一个忙……我猜您实际上看到else if,如上所述

于 2012-09-03T06:45:13.773 回答
3

看起来正确的语法是 elsif。在任何 VHDL 参考中都没有提到 elseif。 http://www.eda.org/rassp/vhdl/guidelines/vhdlqrc.pdf
http://webdocs.cs.ualberta.ca/~amaral/courses/329/labs/VHDL_Reference.html
http://www.lsi .die.upm.es/~angelfh/LCSE/docs/Synario_VHDL_Reference_Manual_1997.pdf

于 2012-09-02T14:03:22.417 回答