我们可以在C或SystemVerilog中的ifdef MACROS中使用条件吗?

lrpiutwd  于 2022-12-02  发布在  Mac
关注(0)|答案(1)|浏览(152)

我想要那样的东西

`ifdef N_O > N_I
        `define GREATER 1
    `else
        `define LESSER 1
    `endif

但不能做。任何解决方案或阅读?
我很努力地想做到这一点,但做不到。

eh57zj3b

eh57zj3b1#

#ifdef只测试宏是否已定义,而不考虑它所代表的值。
如果要比较它们的值,则需要使用#if

#if N_O > N_I
    
#endif

在Verilog中,您只能这样做:

`ifdef N_O
    `ifdef N_I
        if(N_O > N_I)
            ...
    `endif
`endif

相关问题