新聞中心

        EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 錯(cuò)誤使用派生時(shí)鐘對邏輯時(shí)序的影響

        錯(cuò)誤使用派生時(shí)鐘對邏輯時(shí)序的影響

        作者: 時(shí)間:2013-09-10 來源:網(wǎng)絡(luò) 收藏

        項(xiàng)目代碼編譯后打印如下信息:

          Info: Clock “CLK48M” has Internal fmax of 67.47 MHz between source register “GLUE_LGC:glue|MCLK” and destination register “img_lgc:img|N2DSP” (period= 14.822 ns)

          信號由MCLK到N2DSP這條通道限定了時(shí)針的最高速度只能到67.47MHz。

          查看相關(guān)代碼中存在如下代碼段:

          always @( posedge CLK48M )

          begin

          CLKDIV 《= CLKDIV + 1; //clock divider

          end

          always @(posedge CLKDIV[5])

          begin

          MCLKB3 《= MCLK_EXT;

          MCLKB2 《= MCLKB3;

          MCLKB 《= MCLKB2;

          MCLK 《= MCLKB | MCLKB2 | MCLKB3;

          End

          該代碼段是對MCLK_EXT做一個(gè)簡單的防抖處理,相當(dāng)于使用CLK48M衍生的一個(gè)時(shí)鐘CLKDIV[5]。

          MCLK在其它模塊中又使用CLK48M系統(tǒng)時(shí)鐘做了一次鎖存,于是相當(dāng)于在兩個(gè)CLK48M時(shí)鐘之間要完成CLKDIV[5]的轉(zhuǎn)換,再用CLKDIV[5]的上升沿去觸發(fā)MCLK的轉(zhuǎn)換,再輸出到目的寄存器。此過程占用時(shí)間較長,而CLKDIV[5]所耗的時(shí)間顯然是多余的。

          修改代碼后如下:

          always @( posedge CLK48M )

          begin

          CLKDIV 《= CLKDIV + 1; //clock divider

          if (CLKDIV == 6‘b100000)


        上一頁 1 2 下一頁

        關(guān)鍵詞: 派生時(shí)鐘 邏輯時(shí)序

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 仲巴县| 绩溪县| 天镇县| 剑河县| 昭觉县| 贡嘎县| 明星| 长兴县| 扶绥县| 眉山市| 沿河| 广西| 衡水市| 黎川县| 平塘县| 湘潭市| 揭西县| 奉化市| 成武县| 祁门县| 博野县| 甘泉县| 汝城县| 太湖县| 陕西省| 泗阳县| 旅游| 赤壁市| 武川县| 偃师市| 区。| 玉山县| 从江县| 涿鹿县| 吉林市| 英山县| 莱西市| 胶州市| 安庆市| 洪江市| 梧州市|