Verilog hdl 宏定义编译报错
生活随笔
收集整理的這篇文章主要介紹了
Verilog hdl 宏定义编译报错
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、今天使用quartus 9.1 編譯文本文件使用宏定義時編譯器報錯,不使用則正確。原因不明。
如下:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | //`define?add?3'd0; //`define?minus?3'd1; //`define?band?3'd2; //`define?bor?3'd3; //`define?bnot?3'd4;注釋掉這些宏定義?,則沒有問題了。 module?alu(out,opcode,a,b); output[7:0]?out; reg[7:0]?out; input?[2:0]?opcode; input[7:0]a,b; always@(opcode?or?a?or?b) begin case(opcode) 3'd0:?out=a+b;//這里直接使用,而不是用宏定義。原:'add:out=a+b;報錯。改為add:....未定義明確的報錯。 3'd1:?out=a-b; 3'd2:?out=a&b; 3'd3:?out=a|b; 3'd4:?out=~a; default:?out=8'hx; endcase end endmodule |
時序仿真,有延遲如圖所示結果。
本文轉自 lillian_trip 51CTO博客,原文鏈接:http://blog.51cto.com/xiaoqiaoya/1959606,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的Verilog hdl 宏定义编译报错的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML 使用jQuery选中复选框 简
- 下一篇: Java 之 合成模式