• F-I-L
  • 文档
  • 联系
  • 旋转

    更新于 2015.05.14

    设计

    旋转

    版本
    1.0


    更改于
    2015-05-28


    源文件

    旋转


    IP-GUI

    Rotate IP-GUI


    功能

    根据给定的角度对图像进行旋转。
    将会在帧输入使能后的1个周期后给出第一个输出。


    文件

    名字 功能
    Rotate.v 顶层文件
    Rotate_TB.sv 测试平台
    Multiplier13Sx20SRTT.xci Xilinx IP文件。
    Multiplier13Sx20SRTT_funcsim.v 用于功能仿真的模型文件。
    CosLUT.v Source file.
    SinLUT.v Source file.
    FixedRoundSigned2.v Source file.
    BRam8x512x512_funcsim.v Simulation file.
    FrameController.v Simulation file.
    FrameController2.v Simulation file.
    Multiplier12x12FR2_funcsim.v Simulation file.


    参数

    名字 类型 范围 默认值 说明
    work_mode 无符号 0为流水线模式,1为请求响应模式 0 模块的工作模式。
    data_width 无符号 1 - 12 8 数据位宽。
    im_width 无符号 1 - 4096 320 图像宽度。
    im_height 无符号 1 - 4096 240 图像高度。
    im_width_bits 无符号 取决于图像宽度 9 图像宽度的位宽。
    mul_delay 无符号 取决于乘法器配置,1-14 3 乘法器延迟。
    ram_RL 无符号 取决于帧控制器 7 帧控制器输出延迟。


    端口

    名字 端口 类型 范围 默认值 说明
    clk 输入 无符号 Clock.
    rst_n 输入 无符号 复位,低有效。
    angle input 无符号 0 - 359 旋转角度。
    in_enable 输入 无符号 输入数据使能,在流水线模式下,它是另一个复位信号,在请求响应模式下,只有在它有效的时候in_data才会被真正地改变。
    frame_in_ready 输入 无符号 连接到帧控制器的out_ready。
    frame_in_data 输入 无符号 data_width - 1 : 0 连接到帧控制器的out_data。
    frame_enable output 无符号 连接到帧控制器的in_enable。
    frame_out_count_x output 无符号 im_width_bits - 1 : 0 连接到帧控制器的in_count_x。
    out_count_y output 无符号 im_width_bits - 1 : 0 连接到帧控制器的in_count_y。
    out_ready output 无符号 输出数据有效,在两种模式下,这个信号都会在out_data可以被读取的时候有效。
    out_data output 无符号 color_width - 1 : 0 输出数据,将会和out_ready同步输出。


    子模块

    名字 类型 说明
    Sin SinLUT 获取角度的正弦。
    Cos CosLUT 获取角度的余弦。
    MulX1 Multiplier13Sx20SRTT 13位有符号数和20位有符号数的乘法器,被用于定点数的乘法。你可以自己配置这个乘法器,然后更改"mul_delay",但所有的乘法器必须拥有相同的流水线级数,并且不能更改端口的配置!
    MulX2 Multiplier13Sx20SRTT 13位有符号数和20位有符号数的乘法器,被用于定点数的乘法。你可以自己配置这个乘法器,然后更改"mul_delay",但所有的乘法器必须拥有相同的流水线级数,并且不能更改端口的配置!
    MulY1 Multiplier13Sx20SRTT 13位有符号数和20位有符号数的乘法器,被用于定点数的乘法。你可以自己配置这个乘法器,然后更改"mul_delay",但所有的乘法器必须拥有相同的流水线级数,并且不能更改端口的配置!
    MulY2 Multiplier13Sx20SRTT 13位有符号数和20位有符号数的乘法器,被用于定点数的乘法。你可以自己配置这个乘法器,然后更改"mul_delay",但所有的乘法器必须拥有相同的流水线级数,并且不能更改端口的配置!
    FRSX1 FixedRoundSigned 用于有符号浮点数的舍入。
    FRSX2 FixedRoundSigned 用于有符号浮点数的舍入。
    FRSY1 FixedRoundSigned 用于有符号浮点数的舍入。
    FRSY2 FixedRoundSigned 用于有符号浮点数的舍入。


    仿真

    此模块的仿真只支持512x512的图像的灰度模式!

    波形

    流水线模式

    Pipeline mode

    请求响应模式

    ReqAck mode

    原始图像

    原始图像

    结果图像

    Conf for testing:

    angle
    45
    131
    270

    Results
    左侧为请求响应模式下的HDL功能仿真结果,中间为流水线模式下的HDL功能仿真结果,右侧为软件仿真结果

    PSNR

    1-131 1-270 1-45 Total
    1000000.00 54.89 1000000.00 666684.96


    资源消耗

    512x512,色彩位宽为8。

    Slice LUTs* Slice Registers DSP
    543 245 4


    时序

    512x512,色彩位宽为8。

    最大的数据路径延迟为4.414ns,所以:

    FMax = 226.55MHz


    感谢

    用于仿真的图像:
    041-マツムシソウ