LUT级联可以通过任何工具与iCE40 FPGA中的进位链同时使用吗?

时间:2018-03-09 18:34:36

标签: fpga yosys ice40

我尝试构建以下内容:

               CO               
               |                            
            /carry\  ____                   
        s2 ---(((---|I0  |------------ O    
       +------+((---|I1  |                  
       |     +-(+---|I2  |                  
       |     | +----|I3__|                  
       |     +-(-----------+                
       |       |           |                
       |    /carry\  ____  |B     ___ BQ    
D -----+------(((---|I0  |-+-----|   |-+         
        s0  --+((---|I1  |       >   | |    
        s1  ---(+---|I2  |   s3 -|S  | |    
               |  +-|I3__|   s4 -|CE_| |    
               |  +--------------------+
               |                
            /carry\   
              |||

我在Verilog中编写,并实例化SB_LUT4,SB_CARRY,SB_DFFESS原语。为了尝试获得LUT级联,我编辑了一个.pcf约束文件(set_cascading ...)。但是,综合(Lattice IceCube 2017.01.27914)忽略了这些限制: W2401:忽略LUT实例的级联约束< filt.blk_0__a.cmbA.l.l',因为它在LogicCell中用DFF / CARRY打包

在令人钦佩的Project IceStorm中,我看不出为什么不能使用级联LUT和进位链组合的原因。

我知道有一个(略微)更新的IceCube2可用。我知道Yosys / arachne-pnr / icepack / iceprog工具链。但在更换工具链之前,问一下是否有人已经解决了这个问题,或者是否确实无法将进位链和LUT级联结合起来似乎是明智的?

更新 - 快速安装Yosys / arachne-pnr / icetools无需警告即可合成我的设计,但ice40_viewer(和日志输出)中的可视化表明链接的lut 使用。

0 个答案:

没有答案