新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 在用Spartan6生成的Clock時在maping遇到的問題

        在用Spartan6生成的Clock時在maping遇到的問題

        作者: 時間:2017-10-13 來源:網絡 收藏

        最近在做上的視頻輸出,輸出的接口是HDMI接口,要求格式是720P。

        本文引用地址:http://www.104case.com/article/201710/365662.htm

        系統的時鐘主要有

        1. 750M(TMDS輸出的IO輸出時鐘,必須接bufpll)
        2. 75M(720P的像素時鐘)
        3. 150M
        4. 100M (系統時鐘)
        5. 24M (外圍設備需要的時鐘)

        工具是ISE12.2

        然后通過ISE自帶的Clock_wizard來生成需要的時鐘,750M是專門用來做TMDS的IO輸出時鐘,主要端口定義如下:

        --Clock_gen是通過Clock_wizard自動生成的。

        Clock_gen_inst : clock_gen
        port map(
        CLK_IN1 => sys_clk_in,
        RESET => sys_rst,
        LOCKED => LOCKED,
        CLK_OUT1 => pix_clkx10_pll, --750M, need bufpll as buffer
        CLK_OUT2 => pix_clk_pll, --75M
        CLK_OUT3 => pix_clkx2_pll, --150M
        CLK_OUT4 => sys_clk, --93.75M
        CLK_OUT5 => external_clk_buf );

        而pix_clkx10_pll必須添加bufpll

        BUFPLL #(
        .DIVIDE(5)
        )
        tx_bufpll_inst(
        .IOCLK(tx_clkx10),
        .LOCKED(LOCKED),
        .LOCK(LOCK),
        .PLLIN(pix_clkx10),
        .GCLK(pix_clkx2),
        .SERDESSTROBE(tx_serdesstrobe));

        按照上面的時鐘定義在mapping的時候出現這樣的error:

        ROR:Place - ConstraintResolved NO placeable site for U2/tx_bufpll_inst

        ERROR:Place - SIO has over-constrained componet U2/tx_bufpll_inst to have to placeable sites. Constraints come from
        driver constraints AND load IO constraints
        Phase 4.2 IniTIal Placement for Architecture Specific Features (Checksum:fc8413ca) REAL TIme: 38 secs

        Total REAL TIme to Placer compleTIon: 38 secs
        Total CPU time to Placer completion: 38 secs
        ERROR:Pack:1654 - The timing-driven placement phase encountered an error.

        Mapping completed.
        See MAP report file hdmi_top_map.mrp for details.
        Problem encountered during the packing phase.

        通過添加PLL或者刪除其中一個clock,嘗試了很多次還是報錯。在網上找了,找到了類似的情況,但是沒有給出解決方案來。

        后來嘗試添加約束才搞定的。直接指定bufpll的物理位置:

        INST hdmi_encoder_0/hdmi_encoder_0/tx_bufpll_inst LOC= BUFPLL_X1Y5;

        估計原因是:bufpll和OSERDES因為不在一個bank下導致無法進行mapping。見圖1.

        圖1. 使用OSEREDS的原理圖

        關鍵詞: maping Spartan6

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 监利县| 瑞金市| 镇安县| 洛隆县| 上林县| 镇康县| 木兰县| 夏河县| 舒兰市| 凤台县| 舞阳县| 兴文县| 久治县| 油尖旺区| 扶绥县| 德州市| 邳州市| 罗源县| 太和县| 长岛县| 临安市| 涟水县| 克拉玛依市| 靖宇县| 屏东县| 华宁县| 沈丘县| 金平| 佛冈县| 报价| 弥渡县| 黎川县| 旬邑县| 昌图县| 林州市| 柘城县| 博罗县| 曲靖市| 中西区| 雷山县| 改则县|