(1)
assign c=(sel)?a:b;
(2)
always @(sel or a or b) begin
        if(sel)
              c = a;
       else
              c = b;
end

       这两段代码,我用quartus综合出来的结果都是一个选择器,但是我私以为,这样两种风格的代码,我们都会偏向使用第一种,除了书写方便外,是否还有别的优势?如资源分配等?
发表于 2012-9-25 21:18 | 只看该作者

第一种好。
if else的逻辑是:只要条件不符合,就走else路。
试想如果上级电路出错,出现sel=1'bx的时候,那么代码(2)的c就会走else路=b。
而? :的运行结果跟实际电路更接近:连控制端sel都是不定值了&#x