如何在 verilog 中拆分长行代码?
How do you split long lines of code in verilog?
我刚刚开始使用 Verilog 编写 FIFO 和其他复杂逻辑代码。我想知道如何在 verilog 中拆分一长串代码(类似于 C 等某些语言中的 \?)
我有下面这行代码,非常长 -
pushinl = (read_allow&(~pushinl))|(pushinl&read_allow&(~(stopout_a0&stopout_a1&stopout_a2))|(pushinl&read_allow&(stopout_a0&stopout_a1&stopout_a2));
我无法在网上找到任何有助于在 verilog 中解决此问题的答案。 verilog中有没有用字符来分割上面的行?
我使用 vi 作为我的主编辑器。当我按原样编写这行代码时,出现以下语法错误:
Error-[SE] Syntax error
Following verilog source has syntax error :
"fpam2.v", 150: token is ';'
|(pushinl&rctrl&(sout_a0&sout_a1&sout_a2));
^
1 error
CPU time: .065 seconds to compile
您可以只给 OR(SOP) 运算符或 AND(POS) 运算符换行,这样可以提高可读性和方便调试。
pushinl = (read_allow & (~pushinl))
| (pushinl & read_allow & (~(stopout_a0 & stopout_a1 & stopout_a2))
| (pushinl & read_allow & (stopout_a0 & stopout_a1 & stopout_a2));
verilog中没有像'\'这样的符号特殊字符。
试试这个,
pushinl = (read_allow & (~pushinl))
| (pushinl & read_allow & (~(stopout_a0 & stopout_a1 & stopout_a2)))
| (pushinl & read_allow & (stopout_a0 & stopout_a1 & stopout_a2));
第二行缺少括号。
我刚刚开始使用 Verilog 编写 FIFO 和其他复杂逻辑代码。我想知道如何在 verilog 中拆分一长串代码(类似于 C 等某些语言中的 \?)
我有下面这行代码,非常长 -
pushinl = (read_allow&(~pushinl))|(pushinl&read_allow&(~(stopout_a0&stopout_a1&stopout_a2))|(pushinl&read_allow&(stopout_a0&stopout_a1&stopout_a2));
我无法在网上找到任何有助于在 verilog 中解决此问题的答案。 verilog中有没有用字符来分割上面的行?
我使用 vi 作为我的主编辑器。当我按原样编写这行代码时,出现以下语法错误:
Error-[SE] Syntax error
Following verilog source has syntax error :
"fpam2.v", 150: token is ';'
|(pushinl&rctrl&(sout_a0&sout_a1&sout_a2));
^
1 error
CPU time: .065 seconds to compile
您可以只给 OR(SOP) 运算符或 AND(POS) 运算符换行,这样可以提高可读性和方便调试。
pushinl = (read_allow & (~pushinl))
| (pushinl & read_allow & (~(stopout_a0 & stopout_a1 & stopout_a2))
| (pushinl & read_allow & (stopout_a0 & stopout_a1 & stopout_a2));
verilog中没有像'\'这样的符号特殊字符。
试试这个,
pushinl = (read_allow & (~pushinl))
| (pushinl & read_allow & (~(stopout_a0 & stopout_a1 & stopout_a2)))
| (pushinl & read_allow & (stopout_a0 & stopout_a1 & stopout_a2));
第二行缺少括号。