基于FPGA 的NFC无线通信各模块详述

  • IT技术
  • 2019-11-30
  • 人已阅读
简介Opb2local_bridge 模块中,Address Decoder 负责对 OPB 总线上的地址进行译 码,根据地址映射产生相应模块的选择信号。Bus Aligner 负责处理两端数据总 线的输入,输出结构。由于 OPB 总线数据接口上没有三端门,各模块的数据线 都是通过对应的位进行或操作得到的,因此要求每个模块在没有选中的情况,数 据输出线上应该保持为低。图 4-2 中给出 Opb2local_bridge 模块的读操作和写操作的时序例子。OPB 总线上的地址,经过地址译码之后,产生相应的模块选择

各模块详细描述

 

 

 

4.1 Opb2local_bridge

 

本模块的主要功能有两个:其一实现本地总线与 opb 总线的数据信息交互; 其二实现对本地各模块中断情况的侦测记录。

 

 

 


4-1 Opb2local_bridg块结构图

 

 

这个模块负责将 NFC无线通信 解码器组织成相对集中的 IP 在图4-1 中可见码器的各个模块都连接在这个总线上,外部系统也是通过这个模块完成参数设 置,数据的输入和输出等操作。OPB  总线IB公司提出的片上互联总线 (CoreConnect)的一部分。所以这个模块被称为 OPB 总线到本地的总线桥。当使 用的总线发生变化时只需要修改这个模块设计新的总线桥其他的模块都可 以复用。

Opb2local_bridge 模块中Address Decoder 负责 OPB 总线上的地址进行译 码,根据地址映射产生相应模块的选择信号。Bus Aligner 负责处理两端数据总 线的输入,输出结构。由于 OPB 总线数据接口上没有三端门,各模块的数据线 都是通过对应的位进行或操作得到的因此要求每个模块在没有选中的情况数 据输出线上应该保持为低。图 4-2 中给出 Opb2local_bridge 模块的读操作和写操作的时序例子。OPB 总线上的地址,经过地址译码之后,产生相应的模块选择

信号(MS_xxxx), RNW 信号指示是读操作还是写操作相应的模块根据操作的要 求,输出数据或者读入数据,并且给出应答信号(ACK_xxxx)

 

 

 

write data


DATA_IDCT[31:0]    0


read data 0                     0


 

 

 4-2    Opb2local_bridge 读操作和写操作时序图

 

OPB 总线标准中还要求在模块选择信号有效之后 16 个时钟周期内 收到应答信号,否则就视为总线超时,进行错误处理。因为在 Opb2local_bridge 模块中还有处理应答信号以及总线超时的中断处理部分 4-3 是总线超时的例 子,当超过 16 个周期,依然没有检测到应答信号,OPB 总线仲裁器就会升起 OPB_timeout 信号,同时 Opb2local_bridge 模块也将产生中断信号,通知外部系 统进行处理。


4.2 SCAN IF

 

本模块在 NFC无线通信 解码芯片中充当输入缓冲器,大小为2K byte

 

 

 

 


4-4 SCAN IF 模块结构图

 

SCAN IF 模块主要是待解码数据的缓冲器,本质是较为复杂的 FIFO。当下 游模块要求读数的时候给出数据当缓冲器数据为空的时候通过中断通知外 部系统写入新的数据。由于数据量比较大,这里的缓冲器使用到了双端口片内 RAM,相应就会有 RAM 的控制逻辑。

 

 

 



4-5 中给出了 SCAN IF 模块的时序图其中 oEOI 信号表示是最后一个图

像数据。其他的信号,与一般的 FIFO 操作相似。

 

 

 

4.3 Huffman_decoder

Huffman_decoder 主要作用在于分析由 scanif 模块传来的数据并根据 NFC无线通信 规 则进行相应的解码以形成 8X8 block 和由这些 bock 组合形成的最小处理单元 (MCU)

 

 

4-6 Huffman Decoder 模块结构图HUFFMAN_BUSIF 是模块与本地总 线的接口,负责哈夫曼编码表的输入。HUFFMAN_DC_AC_TAB 是哈夫曼编码 表的存储部分它是由双端口 RAM 组成的一端可以从总线接口写入哈夫曼编 码表,另一端负责对解码状态机的哈夫曼查询结果输出。 HUFFMAN_AC_DC_EGI 模块是 Huffman Decoder 的核心部分由它负责解码过 程中状态机的跳转与控制。HUFFMAN_DC_AC_FF_CTRL 是解码数据输出的控 制部分,HUFFMAN_ZIGZAG_IF 是与下游模块 ZIGZAG 的接口。


4.4 iQuant

 

iDQUANT 模块会对从 Huffman_decoder 传来 8X8 block 进行反量化处 理。

 

4-7 iQuant 模块的结

 

 

4-7 iQuant 模块的结构图,BUS_INTERFACE 是本地总线接口。外部 系统通过这个接口将量化表写入 RAM CONTROL 模块一方面处理上下游的 数据传输同时也负责将数据顺序作为地址输出到 RAM 模块将输入数据与从 RAM 中查出的相应量化系数相乘,然后将数据输出。

 

 

4.5 Zigzag_converter

 

Zigzag_converter 模块对每个 8X8 block 进行反“Z”字形扫描变换。


 

iDCT IFOUTPUT DATA
BUFFER
iQUANT IFINPUT DATA
BUFFER
ZIGZAG CONVERTER

 

 

 

 

 

 

 

 

 

ZIGZAG ADDRESS CONVERT

 

 

LOCAL BUS IF

 

 

 4-8 Zigzag_converter 模块的结构图

 

 

4-8 Zigzag_converter 模块的结构图。除了总线接口模块,与上下游接 口模块之外,这个模块的核心就是根据输入数据的序号,对应产生 Zigzag 的顺 序作为 OUTPUT DATA BUFFER 的地址这样就可以将数据流按 Zigzag 的顺 序进行转换。

 

 

 

 

4.6 iDCT

iDCT 模块负责对每个 8X8 block 进行二维的反离散余弦变换,将数据块 从频域转换到时域。

 

 


DATA BUFFER


DATA BUFFER


DATA BUFFER


 

 

 


iDCT_UNIT          Transpose

Control


iDCT_UNIT


Transpose

Control


 


INIT


INIT


INIT


INIT


LOCAL BUS IF

 

 

 4-9 iDCT 模块的结构图

 

 

4-9 iDCT 模块的结构图其中 LOCAL BUS IF 模块用于外部系统初始 化过程中DATA BUFFER 模块是数据缓冲器用于暂存处理的数据Transpose


Control 模块用于对矩阵转置操作进行控制本质也是根据矩阵元素的输入序列,

产生矩阵转置之后数据存放位置。

 

 

 

4.7 MCU_reconstrcuter

 

根据 NFC无线通信 协议按照每个 MCU Y, Cr, Cb block 数量比值的不同 MCU 的构成分为各种不同的模式本模块的功能就是将不同模式的 MCU 还原成能够 获得原始 RGB 图像的 MCU 然后送给 YCC2RGB 以实 YCC RGB 转换。

例如:如果 MCU 的模式是 Y:Cr:Cb(4:1:1),那么从本模块入口进入的 block 顺序将会是 Y0, Y1, Y2, Y3, Cr, Cb,在通过本模块处理后,模块出口处的 block 顺序应该是 Y0, Cr0, Cb0, Y1, Cr1, Cr1, Y2, Cr2, Cb2, Y3, Cr3, Cb3

 

4-10 MCU_reconstruct 模块的结构图

 

 

4-10  MCU_reonstruct 模块的结构图。Bus Interface 模块负责与本地总 线的接口Write contro模块产生控制双端口 RAM 一端写入操作的信号Read control 模块产生控制 RAM 另一端读出操作的信号。MCU_reconstruct 模块本质 上是根据不同采样率,输出相应顺序的数据块。


这个模块应该支持的采样率如下:

 

Y

Cb

Cr

MCU 数据单元数

H=2, V=2

H=1, V=1

H=1, V=1

6  (Y1,Y2,Y3,Y4,Cb,Cr)

H=2, V=1

H=1, V=1

H=1, V=1

4  (Y1,Y2,Cb,Cr)

H=1, V=2

H=1, V=1

H=1, V=1

4  (Y1,Y2,Cb,Cr)

H=1, V=1

H=1, V=1

H=1, V=1

3  (Y,Cb,Cr)

 

 

4.8 YCC2RGB

 

模块将对每个 MCU Y, Cr, Cb 域到 RGB 域的转换以得到每个像素点的 RGB 值,由于从入口处进来的 block 都是以 Y, Cr, Cb 顺序,因此本模块按照转 换算法

 

R=(Y+0x80)+1.402Cr G=(Y+0x80)-0.714Cr-0.344Cb B=(Y+0x80)+1.772Cb

来实现此转换,并以 24 位的形式向下游模块输出(R,G,B)数据。

 

4-11 YCC2RGB 模块的结构图


4.9 Output_buffer

本模块在设计中充当解码 IP 的输出缓冲其最大容量为 64 8X8 block。 在功能上本模块能通过系统设置不同的中断启动值来动态调整硬件与软件在处 理速度上差异以达到最优匹配。

 

Output Buffer

 

 

OUTPUT_COUNTER

 

 

 

 

 

OUTPUT_BPOUTPUT_INTOUTPUT_RAM

 

 

 

 

OUTPUT_BUS

 

 

 

 4-12 Output_buffer 的结构图

 

 

4-12 Output_buffer 模块的结构图。OUTPUT_BUS 模块与本地总线相 连负责初始化中断的设置阈值的设置以及解码数据的输出OUTPUT_BP 模块是与上游模块的接口负责根据阈值与实际缓存数据的情况确定是否升起 BP 信号OUTPUT_RAM 模块是数据缓存的存储器用于存放缓存的解码数据。 OUTPUT_INT 模块负责产生中断OUTPUT_COUNTER 模块负责提供各个模块 操作过程中所需要的计数信息。

对于 Output_buffer 模块有一些指标:

1)    缓存容量

YCC2RGB  模块输入的数据是 24 位的。要求缓存能存下 16 MCU 的 数据也就是 24 x16x4x8x8可以抽象为 24 x4096 深度的缓存另外要求 上游模块的数据输入与外部系统读取数据可以同时进行这就需要选用适当的 双端口 RAM 作为缓冲器。

2)    阈值

在本模块中一共有 3 种阈值它们被存储在寄存器中可以由外部系统设置。

 

z [BP ON  ]是升起 BP 信号的阈值当缓冲的数据超过 BP ON 阈值BP 信号将升 起来通知上游模块停止传输数据。


z [BP OFF  ]是降下 BP 信号的阈值当缓冲的数据低于 BP OFF 阈值BP 信号将 降下,恢复数据传输。

z [INT ON  阈值]是中断产生的阈值当缓冲的数据超过 INT ON  阈值将产生中断信 号。

3)    关于最后一个数据的特殊情况

如果图像的最后一个数据完成而缓存的数据小于 INT ON 的阈值通常中 断信号是不会升起的。这个问题将通过 TAG 信息来解决。当发现 TAG 信息中

指示了是最后一个数据单元数据之后,中断信号将被强制升起。

 

 

 

4-13    冲存储器阵列结构图

4-13 给出了缓冲存储器阵列的结构RAMB16_S9_S9 是一个 8 位的双端 口片内 RAM容量为 2KB3 RAMB16 并联组成了 24 位的 RGB 数据宽度。 两组这种结构,组成了 4096 的深度。另外加上一些地址控制的逻辑,便形成了 这种阵列结构。


5软件代码描述

 

 

在本 IP 设计中,软件部分的主要充当数据移动角色,其具体完成了文件头 分析,硬件初始化,提供待解码数据以及解码后数据显示功能。

文件头分析

 

通过文件头分析,系统将会获得 IP 解码所必需的一些参数,如 MCU 模式,

MCU 个数,码表生成等。

 

 

 

硬件初始化

 

系统将文件头分析所得到的各项数据写入到 IP 的系统寄存器中,主要包括

IP 的软重置,MCU 模式写入,码表写入以及其它。

 

 

 

提供待解码

 

系统通过中断来获得 IP 实时情况,当侦测到 IP 需要数据时,将向 IP 中的

Scanif 模块提供数据。

 

 

 

解码后数据

当系统通过中断侦测到 IP 中有待显示的数据时,会从 IP 中以 block 为单元 取出解码完成数据并将其写入到 VGA 控制模块的显存中以让图像显示出来。

 

 

 

开始

 

 

 

 

 

N Y

 

 

图像解码

 

 

 

 

 

结束

 

 

5-1  程图


 


读入NFC无线通信图像


IP中读入中 断向量


 

 


 

NFC无线通信文件分析


N

output_buffer

中断


N

scanif

中断


Y               Y


 

软、硬件 初始化


 

IP中取出解 码后的数据


 

IP中送待处 理数据


 


 

 

IP待解码数据


将数据放入 显存显示


 

返回

 

解码 结束

 

N Y

 

 

返回

 

 

5-2  解码流程图

 

 

 

 

6其他

 

 

6.1 Dummy 模块

 

考虑到不同的模块完成时间不同特别是在 Huffman_decoder 模块没有完成 的情况下,为了及早的将已经完成的模块进FPGA  仿真测试,我们设计Dummy 模块Dummy 模块在开发过程中充当着板级测试时数据源与接收器的角 色。在 FPGA 测试时,我们通过系统向 Dummy 输入待处理数据,Dummy 将会 把此数据输出到测试模块(DUT)入口,然后接收测试模块(DUT)处理后的数据, 并通过中断通知系统这样系统就可以通过串口将处理后的数据显示到 PC 上以 便于我们对比真实结果与理想值以判断模块功能正确与否。


 

 

FPGA

 

 

 

 

 

Dummy                DUT

 

 

 

中断                                                         PC

CPU

 

 

 

 

 

 

 

 

6-1    FPGA 测试平台示意图

 

 

通过 Dummy 设计使用大部分验证时没有发现的问题在各模块上板测试后得 以提前发现并纠正,并且在测试各模块的过程中,软件的错误也得以及早发现, 而后来的系统总调时各模块内部无致命性错误以及系统总调快速通过也是得益 于此。

 

 

 

6.2  电子相册演示系统

 

本系统是一个嵌入式处理系统。FPGA 中搭载了多个 IP 核,以此快速准确 的实现复杂的 SOC 系统。

系统核心模块是 NFC无线通信 解码器,它做为 OPB 总线上的从设备与 CPU 通讯。 图中黄色块是解码器的组成部件。

嵌入式系统的 CPU 采用 MICROBLAZE 软核系统的时钟频率 100M,总 线速度 100M,硬件实时运行速度 100M

系统的总线采用了 IBM CORECONNECT 总线,包括了三条总线协议:

OPBPLBDCR。在本系统里,主要使用的是 OPB 总线。 系统的外部存储设备使用的是 COMPACT FLASH 配合 SYSTEM ACE 芯片,

容量可以随心扩展,目前使用过的最大配置是 512M


系统的视频输出,由 800x600@72HZ 24 位真彩色 VIDEO  控制器控制,

该控制器需要较大的带宽所以搭接在 PLB 总线上该控制器拥有 64M DDR

显存。

 

系统使用了 DCR 总线来对 VIDEO 控制器进行初始化配置与显存地址的配 置。使用 DCR 总线的原因是这些配置对于时序的要求低,在整个解码流程里运 行的次数极少使用 DCR 可以降低 PLB 总线的负担使视频带宽得到更好的保 证。

系统中采用了一块 32X512 SRAM 作为 NFC无线通信 文件的缓存区。 系统为了统一 CORECONNECT 三条总线的使用分别采用了 OPB2PLB bridge

OPB2DCR bridge OPB 总线为主来控制与使用三条总线。

 

 

ZIGZAG Converter(6) NFC无线通信 decode process


 

OUTPUT
buffer
YCC2RGBMCU
reconstruct
22           21


 

iDCTiQuantizationHuffman
Decoder
20           19           18           17


 

16           15

 

SCAN IF


 

LED      DIP        Push

Button

 

24                  2


 

FLASH MEMORY


 

ZBT_RAM (8Mbit)


GPIO


lmb_bram

LMB_if_cntl


bram   lmb_bram

LMB(64K)  _if_cntl


 


 

 

Interrupt


 

(8) Read 16x16 data

(7) Last block issue,Interrupt generation


 

14

OPB_LOCAL


Local BUS   23


 

MicroBlaze


25

Program and Heap Spaceopb_emc


Bridge


(4) Write data from CPU


(CPU)      1


(9)NFC无线通信  decode start trigger


 

(1)Read buffer size of data from CF card13           12             11                        26


 

 

4       opb2plb


 

 OPB BUS


opb_intc        UART      opb_sysace


---

(2)store  the NFC无线通信 decoder's necessary  information and scan data into DDR_SDRAM


Bridge

8             9


RS232C


Compact

FLASH

Image


PLB BUS

5


PLB Arbiter


opb2dcr

Bridge


 

 

FPGA external device

 

Modules to be developed


 

6

plb_ddr


(3)Read  one image's  data from SDRAM

 

From VRAM To VGA

 

7


DCR BUS

 

10

 

plb_tft_cntlr_ref

(VGA/LCD)


 

FPGA internal Periphery


DDR_SDRAM (32M)


DDR_SDRAM (32M)

VRAM


 

(9)Write  the data into

VRAM from CPU


 

 

 

 6.1  相册系统架构图

 

 

7 总结

 

 

通过本次设计我们掌握了 NFC无线通信 图像解码方式并且从工程开发角度进行 系统的设计开发。在开发中,无论是设计文档,还是每次Review,都使得我 们认识到要保证 IP 开发不出问题应怎样从系统工程的角度来管理项目同时, 在开发中所搭建起的仿真测试平台不仅实现了在前期的软件测试仿真还实现


了模块开发后在 FPGA 中的仿真测试。

设计虽然已经结束但本开发小组目前计划开发一多路联通器使各模块之 间能够通过其动态互连以能在调试时快速定位错误模块位置而不用重新更换 DUT 来节省之后的综合时间同时小组准备进一步完善测试平台使用 OVLTCL 等来搭建软件级的功能测试自动化平台。

在此要特别感谢北京航空航天大学的董金明老师和葛毅敏老师。开发过程 董金明老师给了我们小组有力支持从开发经费到开发器材从项目总体指 导到精神鼓励董金明老师都给了我们极大帮助同时葛毅敏老师对我们的帮 助则浸透于整个开发过程的每个细节处无论我们的设计文档和每次的 Review, 还是我们的新想法他都是尽心尽力的帮助与指导我们如果没有两位老师的帮 助支持,我想本次设计开发将不会如今天这般顺利完成。 同时我们还要感谢同在一个实验的范明赵腾飞邢立巍晋雅婷同学是他 们在我们最困难时为我们提供了热心帮助与有力支持。


A     NFC无线通信  IP 综合结果

 

 

 

======================================================================

 

*                                      Synthesis Options Summary                                          *

 

====================================================================== HDL Synthesis Report

 

 

Macro Statistics

 

# ROMs                                                                                      : 12

 

4x1-bit ROM                                                                           : 8

 

4x2-bit ROM                                                                           : 3

 

8x96-bit ROM                                                                         : 1

 

# Adders/Subtractors                                                             : 51

 

1-bit adder                                                                           : 1

 

10-bit adder                                                                         : 3

 

12-bit adder                                                                         : 1

 

16-bit adder                                                                         : 5

 

2-bit adder                                                                           : 4

 

2-bit addsub                                                                         : 1

 

24-bit adder                                                                         : 2

 

4-bit adder                                                                           : 3

 

4-bit subtractor                                                                  : 2

 

5-bit adder                                                                           : 1

 

6-bit adder                                                                           : 10

 

6-bit addsub                                                                         : 1

 

6-bit subtractor                                                                  : 6

 

7-bit adder                                                                           : 8

 

8-bit adder                                                                           : 2

 

8-bit subtractor                                                                  : 1


# Counters                                                                               : 28

 

10-bit up counter                                                                : 1

 

12-bit up counter                                                                : 2

 

16-bit up counter                                                                : 1

 

2-bit up counter                                                                  : 3

 

3-bit up counter                                                                  : 1

 

32-bit down counter                                                             : 1

 

32-bit up counter                                                                : 1

 

4-bit up counter                                                                  : 2

 

5-bit up counter                                                                  : 3

 

6-bit up counter                                                                  : 6

 

7-bit up counter                                                                  : 6

 

7-bit updown counter                                                           : 1

 

# Accumulators                                                                        : 11

 

12-bit up accumulator                                                         : 3

 

26-bit up loadable accumulator                                          : 8

 

# Registers                                                                             : 488

 

1-bit register                                                                      : 321

 

10-bit register                                                                    : 6

 

11-bit register                                                                    : 5

 

12-bit register                                                                    : 20

 

16-bit register                                                                    : 18

 

18-bit register                                                                    : 2

 

2-bit register                                                                      : 10

 

24-bit register                                                                    : 6

 

26-bit register                                                                    : 22

 

3-bit register                                                                      : 5

 

32-bit register                                                                    : 25

 

36-bit register                                                                    : 1

 

4-bit register                                                                      : 4


5-bit register                                                                      : 1

 

6-bit register                                                                      : 13

 

64-bit register                                                                    : 1

 

7-bit register                                                                      : 8

 

8-bit register                                                                      : 19

 

9-bit register                                                                      : 1

 

# Comparators                                                                         : 36

 

16-bit comparator equal                                                      : 2

 

16-bit comparator greater                                                  : 1

 

16-bit comparator lessequal                                               : 1

 

2-bit comparator equal                                                        : 1

 

2-bit comparator greater                                                    : 1

 

2-bit comparator lessequal                                                 : 1

 

20-bit comparator greater                                                  : 1

 

20-bit comparator less                                                        : 1

 

24-bit comparator lessequal                                               : 1

 

3-bit comparator greater                                                    : 1

 

3-bit comparator lessequal                                                 : 1

 

32-bit comparator equal                                                      : 1

 

4-bit comparator greater                                                    : 2

 

4-bit comparator less                                                         : 7

 

6-bit comparator greater                                                    : 2

 

6-bit comparator less                                                         : 6

 

7-bit comparator greatequal                                               : 1

 

7-bit comparator less                                                         : 1

 

8-bit comparator equal                                                        : 1

 

8-bit comparator greatequal                                               : 2

 

8-bit comparator lessequal                                                 : 1

 

# Multiplexers                                                                       : 71

 

1-bit 4-to-1 multiplexer                                                    : 7


10-bit 4-to-1 multiplexer                                                  : 21

 

12-bit 4-to-1 multiplexer                                                  : 1

 

16-bit 4-to-1 multiplexer                                                  : 13

 

2-bit 4-to-1 multiplexer                                                    : 1

 

24-bit 4-to-1 multiplexer                                                  : 3

 

3-bit 4-to-1 multiplexer                                                    : 1

 

32-bit 4-to-1 multiplexer                                                  : 4

 

4-bit 4-to-1 multiplexer                                                    : 4

 

40-bit 4-to-1 multiplexer                                                  : 1

 

6-bit 4-to-1 multiplexer                                                    : 5

 

7-bit 4-to-1 multiplexer                                                    : 7

 

8-bit 4-to-1 multiplexer                                                    : 2

 

9-bit 4-to-1 multiplexer                                                    : 1

 

# Logic shifters                                                                    : 12

 

12-bit shifter logical left                                               : 1

 

12-bit shifter logical right                                             : 2

 

64-bit shifter logical left                                               : 4

 

64-bit shifter logical right                                             : 5

 

# Tristates                                                                             : 7

 

24-bit tristate buffer                                                       : 2

 

6-bit tristate buffer                                                         : 2

 

8-bit tristate buffer                                                         : 3

 

# Xors                                                                                      : 1

 

1-bit xor2                                                                            : 1

 

======================================================================

 

*                                        Advanced HDL Synthesis                                              *

 

======================================================================

 

====================================================================== Advanced HDL Synthesis Report

Macro Statistics


# FSMs                                                                                      : 12

 

# ROMs                                                                                      : 12

 

4x1-bit ROM                                                                           : 8

 

4x2-bit ROM                                                                           : 3

 

8x96-bit ROM                                                                         : 1

 

# Adders/Subtractors                                                             : 50

 

1-bit adder                                                                           : 1

 

10-bit adder                                                                         : 3

 

12-bit adder                                                                         : 1

 

16-bit adder                                                                         : 5

 

2-bit adder                                                                           : 4

 

2-bit addsub                                                                         : 1

 

24-bit adder                                                                         : 2

 

4-bit adder                                                                           : 2

 

4-bit subtractor                                                                  : 2

 

5-bit adder                                                                           : 1

 

6-bit adder                                                                           : 10

 

6-bit addsub                                                                         : 1

 

6-bit subtractor                                                                  : 6

 

7-bit adder                                                                           : 8

 

8-bit adder                                                                           : 2

 

8-bit subtractor                                                                  : 1

 

# Counters                                                                               : 28

 

10-bit up counter                                                                : 1

 

12-bit up counter                                                                : 2

 

16-bit up counter                                                                : 1

 

2-bit up counter                                                                  : 3

 

3-bit up counter                                                                  : 1

 

32-bit down counter                                                             : 1

 

32-bit up counter                                                                : 1


4-bit up counter                                                                  : 2

 

5-bit up counter                                                                  : 3

 

6-bit up counter                                                                  : 6

 

7-bit up counter                                                                  : 6

 

7-bit updown counter                                                           : 1

 

# Accumulators                                                                        : 11

 

12-bit up accumulator                                                         : 3

 

26-bit up loadable accumulator                                          : 8

 

# Registers                                                                             : 2926

 

Flip-Flops                                                                             : 2926

 

# Comparators                                                                         : 36

 

16-bit comparator equal                                                      : 2

 

16-bit comparator greater                                                  : 1

 

16-bit comparator lessequal                                               : 1

 

2-bit comparator equal                                                       : 1

 

2-bit comparator greater                                                    : 1

 

2-bit comparator lessequal                                                 : 1

 

20-bit comparator greater                                                  : 1

 

20-bit comparator less                                                        : 1

 

24-bit comparator lessequal                                               : 1

 

3-bit comparator greater                                                    : 1

 

3-bit comparator lessequal                                                 : 1

 

32-bit comparator equal                                                      : 1

 

4-bit comparator greater                                                    : 2

 

4-bit comparator less                                                          : 7

 

6-bit comparator greater                                                    : 2

 

6-bit comparator less                                                          : 6

 

7-bit comparator greatequal                                               : 1

 

7-bit comparator less                                                          : 1

 

8-bit comparator equal                                                       : 1


8-bit comparator greatequal                                               : 2

 

8-bit comparator lessequal                                                 : 1

 

# Multiplexers                                                                        : 71

 

1-bit 4-to-1 multiplexer                                                    : 7

 

10-bit 4-to-1 multiplexer                                                  : 21

 

12-bit 4-to-1 multiplexer                                                  : 1

 

16-bit 4-to-1 multiplexer                                                  : 13

 

2-bit 4-to-1 multiplexer                                                    : 1

 

24-bit 4-to-1 multiplexer                                                  : 3

 

3-bit 4-to-1 multiplexer                                                    : 1

 

32-bit 4-to-1 multiplexer                                                  : 4

 

4-bit 4-to-1 multiplexer                                                    : 4

 

40-bit 4-to-1 multiplexer                                                  : 1

 

6-bit 4-to-1 multiplexer                                                    : 5

 

7-bit 4-to-1 multiplexer                                                    : 7

 

8-bit 4-to-1 multiplexer                                                    : 2

 

9-bit 4-to-1 multiplexer                                                    : 1

 

# Logic shifters                                                                    : 12

 

12-bit shifter logical left                                               : 1

 

12-bit shifter logical right                                             : 2

 

64-bit shifter logical left                                               : 4

 

64-bit shifter logical right                                             : 5

 

# Xors                                                                                      : 1

 

1-bit xor2                                                                            : 1

 

======================================================================

 

*                                                 Final Report                                                      *

 

====================================================================== Final Results

Top Level Output File Name                : ../implementation/NFC无线通信_decoder_0_wrapper.ngc

 

Output Format                                      : ngc


Optimization Goal                                : speed

 

Keep Hierarchy                                     : no

 

 

 

Design Statistics

 

# IOs                                                    : 111

 

 

 

Cell Usage :

 

# BELS                                                   : 7775

 

#          GND                                            : 5

 

#          INV                                            : 94

 

#          LUT1                                           : 180

 

#          LUT2                                           : 712

 

#          LUT2_D                                       : 11

 

#          LUT2_L                                       : 26

 

#          LUT3                                           : 1395

 

#          LUT3_D                                       : 190

 

#          LUT3_L                                       : 45

 

#          LUT4                                           : 2694

 

#          LUT4_D                                       : 80

 

#          LUT4_L                                       : 380

 

#          MULT_AND                                    : 10

 

#          MUXCY                                         : 860

 

#          MUXF5                                         : 416

 

#          MUXF6                                         : 6

 

#          ROM256X1                                    : 80

 

#          VCC                                            : 5

 

#          XORCY                                        : 586

 

# FlipFlops/Latches                            : 3460

 

#          FD                                              : 72

 

#          FDC                                            : 1281


 

#

FDCE

: 1935

 

#

 

FDCPE

 

: 32

 

#

 

FDP

 

: 24

 

#

 

FDPE

 

: 44

 

#

 

FDR

 

: 35

 

#

 

FDRE

 

: 12

 

#

 

FDS

 

: 25

 

# RAMS                                                   : 62

 

#          RAM32X8S                                   : 26

 

#          RAM64X1D                                    : 24

 

#          RAMB16                                       : 12

 

# DSPs                                                   : 9

 

#          DSP48                                         : 9

 

====================================================================== Device utilization summary:

---------------------------

 

 

 

Selected Device : 4vlx25ff668-10

 

 

 

Number of Slices:                                  4902   out of   10752       45% Number of Slice Flip Flops:                                                         3460    out of   21504       16% Number of 4 input LUTs:                                                              7695       out of   21504       35%

Number used as logic:                       5807

 

Number used as RAMs:                          608

 

Number used as ROMs:                         1280

 

Number of IOs:                                          111

 

Number of bonded IOBs:                               0    out of       448         0% Number of FIFO16/RAMB16s:                                                                     12  out of         72       16%

Number used as RAMB16s:                       12

 

Number of DSP48s:                                        9   out of         48       18%


 

 

Clock Information: Timing Summary:

--------------- Speed Grade: -10

Minimum period: 8.128ns (Maximum Frequency: 123.025MHz) Minimum input arrival time before clock: 2.379ns

Maximum output required time after clock: 0.360ns

 

Maximum combinational path delay: No path found

 

Timing Detail:

 

--------------

 

All values displayed in nanoseconds (ns)

 

====================================================================== Timing constraint: Default period analysis for Clock 'iCLK'

Clock period: 8.128ns (frequency: 123.025MHz)

 

Total number of paths / destination ports: 191194 / 8435

 

------------------------------------------------------------------------- Delay4.064ns (Levels of Logic = 2)

Source:

 

NFC无线通信_decoder_0/ycc2rgb_inst0/YCC_combiner_inst/RAM_B_inst/RAM64X1D_7inst (RAM) Destination:      NFC无线通信_decoder_0/NFC无线通信_output_controller_inst0/output_ram/sr_odctrl_tag7

(FF)

 

Source Clock:          iCLK falling

 

Destination Clock: iCLK rising

 

 

 

Data                                                                                                                         Path: NFC无线通信_decoder_0/ycc2rgb_inst0/YCC_combiner_inst/RAM_B_inst/RAM64X1D_7inst                      to NFC无线通信_decoder_0/NFC无线通信_output_controller_inst0/output_ram/sr_odctrl_tag7

Gate         Net

 

Cell:in->out          fanout      Delay     Delay    Logical Name (Net Name)


----------------------------------------    ------------

 

RAM64X1D:WCLK->DPO                             1                      2.190                      0.547 NFC无线通信_decoder_0/ycc2rgb_inst0/YCC_combiner_inst/RAM_B_inst/RAM64X1D_7inst (NFC无线通信_decoder_0/ycc2rgb_inst0/c_u_connect3<7>)

LUT4_D:I3->O                                                        1                 0.195                 0.547 NFC无线通信_decoder_0/NFC无线通信_output_controller_inst0/output_ram/_mux0001<16> (NFC无线通信_decoder_0/NFC无线通信_output_controller_inst0/output_ram/_mux0001<16>)

LUT4:I3->O                                                               1                0.195                0.000 NFC无线通信_decoder_0/NFC无线通信_output_controller_inst0/output_ram/sr_odctrl_tag7_rstpot (N26101)

FDC:D                                                                                                               0.391 NFC无线通信_decoder_0/NFC无线通信_output_controller_inst0/output_ram/sr_odctrl_tag7

----------------------------------------

 

Total                                      4.064ns (2.971ns logic, 1.093ns route) (73.1% logic, 26.9% route)

 

 

======================================================================

 

===

 

Timing constraint: Default OFFSET IN BEFORE for Clock 'iCLK' Total number of paths / destination ports: 128 / 128

------------------------------------------------------------------------- Offset: 2.379ns (Levels of Logic = 1)

Source:                     iOPB_RST (PAD)

 

Destination:            NFC无线通信_decoder_0/mcu_inst0/RAMB16_S9_S9_inst (RAM) Destination Clock: iCLK rising

 

 

Data Path: iOPB_RST to NFC无线通信_decoder_0/mcu_inst0/RAMB16_S9_S9_inst

 

Gate         Net

 

Cell:in->out          fanout      Delay     Delay    Logical Name (Net Name)

 

----------------------------------------    ------------

 

LUT2:I1->O                                                         152                 0.195                 1.695


NFC无线通信_decoder_0/mcu_inst0/mcu_local_interface_inst/oRST_opb1 (NFC无线通信_decoder_0/mcu_inst0/s_rst)

RAMB16:SSRB                                                                                                   0.311 NFC无线通信_decoder_0/mcu_inst0/RAMB16_S9_S9_inst

----------------------------------------

 

Total                                      2.379ns (0.684ns logic, 1.695ns route) (28.8% logic, 71.2% route)

 

 

====================================================================== Timing constraint: Default OFFSET OUT AFTER for Clock 'iCLK'

Total number of paths / destination ports: 35 / 35

 

------------------------------------------------------------------------- Offset: 0.360ns (Levels of Logic = 0)

Source:                        NFC无线通信_decoder_0/NFC无线通信_opb2local_bridge_0/opb2local_bridge_inst/sr_int

 

(FF)

 

Destination:            oINT (PAD) Source Clock:    iCLK rising

 

 

Data Path: NFC无线通信_decoder_0/NFC无线通信_opb2local_bridge_0/opb2local_bridge_inst/sr_int to oINT Gate               Net

Cell:in->out          fanout      Delay     Delay    Logical Name (Net Name)

 

----------------------------------------    ------------

 

FDC:C->Q                                                                    0              0.360              0.000 NFC无线通信_decoder_0/NFC无线通信_opb2local_bridge_0/opb2local_bridge_inst/sr_int (oINT)

----------------------------------------

 

Total                                      0.360ns (0.360ns logic, 0.000ns route) (100.0% logic, 0.0% route)

 

 

======================================================================

 

===


CPU : 350.75 / 350.92 s | Elapsed : 351.00 / 351.00 s

 

Total memory usage is 309600 kilobytes

 

文章评论

共有条评论来说两句吧...

用户名:

验证码:

Top