snifer

【赛灵思FPGA】[原创]Xilinx ISE5.2中参数设置知多少

0
阅读(4728)

每次使用Xilinx ISE5.2时,最让人头疼的就是那么多的参数设置,有时候不知道如何下手,今天我们就打开它神秘的面容吧。

      HDL代码参数设置与XST的编译有关,也就是说告诉编译工具如何理解HDL代码。HDL代码参数选项对话框如下图所示。
 
 
   (1)有限状态机编码方式(FSM Encoding Algorithm)
            有限状态机有多种编码方式,比较常见的有:一位热码(One-Hot)、顺序编码(Sequential)、格雷码(Gray)等,在默认状态下,XST的有限状态机编码方式为自动编码(Auto),即根据器件中的资源进行有效的编码。
 
(2)RAM的提取方式(RAM Extraction)
       RAM Extraction参数用来指定是否使用RAM宏单元。
(3)RAM实现的类型(RAM Style)
           RAM Style参数仅对FPGA有效。FPGA中含Block RAM(有块RAM)和可以形成Distributed RAM(分布式RAM),可以通过设置RAM Style使XST从代码中提取需要的RAM类型。
 
(4)ROM的提取方式(ROM Extraction)
       ROM Extraction参数用来指定是否使用RAM宏单元。
(5)ROM实现的类型(ROM Style)
       ROM Style参数仅对FPGA有效。FPGA中含有块RAM(Block RAM)和可以形成分布式RAM(Distributed RAM),可以通过设置ROM Style使XST从代码中提取需要的ROM类型。
(6)多路选择器提取方式(MUX Extraction)
       MUX Extraction参数仅对FPGA有效,有以指定是否使用多路选择器宏单元。
(7)多路选择器实现类型(MUX Style)
       MUX Style参数仅对FPGA有效,有以指定多路选择器宏单元的类型。缺省状态下为自动(Auto)。
 
(8)译码器提取方式(Decoder Extraction)
        Decoder Extraction参数仅对FPGA有效,用于指定是否使用译码器(Decoder)宏单元。
(9)优先编码器提取方式(Priority Encoder Extraction)
        Priority Encoder Extraction参数仅对FPGA有效,用于指定是否使用优先编码器(Priority Encoder)宏单元。缺省为自动(Auto)。
 
(10)移位寄存器提取方式(Shift Register Extraction)
         Shift Register Extraction参数仅对FPGA有效,用于指定是否使用移位寄存器(Shift Register)宏单元。
(11)逻辑移位寄存器提取方式(Logical Shifter Extraction)
            Logical Shifter Extraction参数仅对FPGA有效,用于指定是否使用逻辑移位寄存器(Logical Shifter)宏单元。
 
(12)异或单元合并方式(XOR Collapsing)
         XOR Collapsing参数仅对FPGA有效,用于指定相关联的异或(XOR)单元是否合并为一个较大的异或宏单元。
(13)资源共享(Resource Sharing)
            Resource Sharing参数用于指定是否要求XST复用运算模块。
 
(14)乘法器实现类型(Multiplier Style)
             Multiplier Style参数仅对FPGA有效,用于指定XST综合乘法器的类型,是基于查找表的(LUT)乘法器还是基于块乘法器(Block Multiplier)。
 
 Xilinx专用参数选项
 
      Xilinx专用参数选项对话框中包含了一些Xilinx专有的结构中可以设置的属性。Xilinx 专用参数选项对话框如右图所示。
 
(1)添加I/O缓冲器(Add IO Buffers)
       Add IO Buffers参数用于指定是否需要在I/O上加上I/O缓冲器(IO Buffers)
(2)最大扇出数(Max Fanout)
           Max Fanout参数仅对FPGA有效,用于指定信号和网线的最大扇出数。
 
(3)寄存器复制(Register Duplication)
       Register Duplication参数仅对FPGA有效,用于指定是否允许进行寄存器复制(Register Duplication)。
(4)等效寄存器删除(Equivalent Register Removal)
        Equivalent Register Removal参数用于指定是否把寄存器传输级功能相等的寄存器删除,以减少资源占用。
 
 
(5)寄存器配平(Register Balancing)
           Register Balancing参数仅对FPGA有效,用于指定是否需要寄存器配平。寄存器配平是使较长路径缩短,较短路径加长,使其达到平衡从而提高工作频率的一种技术。
 
(6)Slice打包(Slice Packing)
          Slice Packing参数仅对FPGA有效,用于指定是否使用Slice打包技术(Slice Packing),使相关路径查找表逻辑尽量布局在同一个Slice中,从而缩短查找表之间的布线距离,提高了设计频率。
 
(7)是否使用I/O内部的寄存器实现I/O寄存器
         (Pack I/O Register into IOBs)
       Pack I/O Register into IOBs参数仅对FPGA有效,用于指定是否使用I/O内部的寄存器作为设计的第一级寄存器。
 
 
呵呵,如果知道了这些,我们以后在参数设置的时候就了然于胸,优哉游哉了,冬天来了。。。。。