【正文】
itch between 2 clock sources. More importantly, the BUFGMUX guarantees glitchfree switching between these 2 clocks, even though the select signal changes asynchronously. (參考譯文:簡單的方法是使 用 Xilinx VirtexII 器件上的 BUFGMUX資源 . BUFGMUX實際上是 VirtexII 中的全局時鐘緩沖 , VirtexII 將智能 mux與 2 個時鐘源之間的切換相結合 . 更為重要的是 , 即使選擇信號更改不同步 , BUFGMUX 也能保證這兩個時鐘之間的無干擾切換 . ) 35. 用 Altera 器件設計一個電路 , 外掛一同步存儲器件 . 邏輯設計和存儲器件的時鐘是相同的 , 但由于時鐘信號帶負載能力較差 , 只能接一個負載 , 所以將時鐘信號接在可編程器件上 , 而用內部賦值語句將時鐘信號賦值給某一引腳 , 此引腳信號 再接到存儲器件的時鐘引腳 , 但這樣存在一個問題:存儲器件的讀寫信號相對于 Altera 器件上的時鐘信號有延遲 , 存儲器件的時鐘信號相對于 Altera 器件上的時鐘信號也有延遲 , 這樣存儲器件的時鐘信號與讀寫信號之間的時間差難以控制 , 極有可能不滿足存儲器件的Setup/hold 時間 , 有什么好的方法解決此問題? 答:可以利用 ALTERA 器件中的 PLL 來精確控制延時 . ALTERA 中的 PLL 是一個真正的模擬鎖相環(huán) , 它可以提供精確的時鐘頻率合成與相位延時的細微調整 . 可以將時鐘信號按照你的要求進行延遲調整 . 假如采用的器件沒有 PLL的話 , 那么可能需要在邏輯內部來做一些延時邏輯 , 不過這樣會導致異步邏輯設計 , 我們一般情況下不推薦這樣用 . 還有一種辦法就是在 PCB 板上來調整時延 . 關于 PLL 的詳細資料可以參考 ALTERA的相關文檔 . 36. 利用 ACEX1K 系列片內 EAB 單元創(chuàng)建 RAM 時 , 每創(chuàng)建一個容量較小的 RAM 時就要占用一個 EAB 單元 , 能否將多個 RAM 整合由一個 EAB 實現(xiàn) , 以節(jié)約片內的 EAB單元 ? 答:在 ACEX1K 系列的器件中 , 一個 EAB 單元目前只能做一個應用 , 我們現(xiàn)在的軟件還不支持 將多個小的 RAM 集成到一個 EAB 當中 . 37. Synthesis Style 設為 FAST 后 , 發(fā)現(xiàn)速度有所提升 , 同時使用的資源也減少了 , 資源和速度似乎兼得了 , 那么是否所有的模塊都可以設定為 FAST 呢? 答:將 SYNTHESIS STYLE設置為 FAST 主要是為了提高系統(tǒng)性能 . 但是有一點要記住的是 , 軟件的設置不是在任何情況下對所有的設計都表現(xiàn)出相同的結果 . 針對這個設計模塊 , 將 SYNTHESIS STYLE設置為 FAST 可能對資源和速度都有了優(yōu)化 , 但這并不說明對所有的模塊都有相同的效 果 , 但是可以試一試 . 設計優(yōu)化是一個原則與經驗 , 技巧相結合的過程 , 我們只掌握一定的原則與方法 , 根據(jù)我們自己的經驗 , 運用一定的技巧 , 才能將一個設計做到最優(yōu)化 . 38. I am now going to design a gray coded 16 bits counter , any efficient way to implement it in VHDL description? (要設計一個灰色編碼 16 位的計數(shù)器 , 怎么以 VHDL 描述來實現(xiàn)它?) 答: You can just use megawizard(lpm_counter) in the software to generate the counter for you, select the output language with VHDL. That should be the efficient way to implement a counter, and you don39。 答: If PIN8 is declared in your port list, the 2 examples are identical. From a hardware design39。 和如下的程序有何區(qū)別? ARCHITECTURE EXER2_ARCH OF EXERCISE2 IS BEGIN PIN8=PIN50 AND PIN51。 PIN8 =TEM。(實際的文件名 )” . 問題可能在硬件配置 . 檢查了連線、掃描鏈路和電源接頭都沒有問題 . 特定的掃描鏈路配置與實際的硬件相 匹配 , 電源充足且 電壓正常 . “ ERROR:JTag Boundary scan chain has been improperly specified. Please check your configuration and reenter the boundaryscan chain information. Boundaryscan chain validated unsuccessfully. ERROR:JTag : The boundaryscan chain has not been declared correctly. Verify the syntax and correctness of the device BSDL files, correct the files, reset the cable and retry this mand. ”這么多出錯消息 , 什么原因 , 怎么辦?) 答: Usually it is the result of a broken JTAG chain or noisy chain. Most monly, the cable is not connected properly, a trace is not correct on the board, other devices in the chain are causing a problem, or a noisy parallel port exists. Try using a different PC. You can also add a 4. 7K pullup on the PROG pin of the FPGA and see if it helps. (通常 , 這是由于中斷的 JTAG鏈或噪聲鏈 . 最常見的原因是 , 連線不正確 , 板子上的跡線不正確 , 鏈路中的其它器件導致問題 , 或者存在噪聲并口 . 試一下使用不同的 PC. 也可以在 FPGA的 PROG引腳上增加一個4. 7K 的上拉電阻 , 看看是否有幫助 . ) 33. 在 VHDL 中 , 定義為 SIGNAL 的量起到什么作用?什么時候需要定義這個量?下面的程序 ARCHITECTURE EXER2_ARCH OF EXERCISE2 IS SIGNAL TEM: STD_LOGIC。 on instance 39。t know what to do! I try many times but only fail, and doubt whether there is something wrong with the circuit?But the powers checked in circuit are right. Would you please give me some advice to crack the problem?(有一次 , 將程序下載至 SpartanII XC2S50PQ208 芯片電路 , 結果發(fā)生了故障 , 并顯示以下消息:“ . . . Checking boundaryscan chain integrity. . . ERROR:JTag Boundaryscan chain test failed at bit position 39。***39。339。 b 正在驅動 flipflop的時鐘引腳 , 則可以通過直接將clki傳遞給 FF 時鐘引腳 , 并將另一個信號 en = a amp。 b connected to the clock enable pin of the FF. ( 參考譯文:在現(xiàn)代高速數(shù)字設計當中 , 不建議使用組合邏輯門控時鐘信號 , 因為這將會在選通的時鐘信號上產生短時脈沖波形干擾 , 導致錯誤觸發(fā) flipflop. 這是缺乏可靠性的設計 . 移除門控時鐘通常所采用的技巧是使用 flipflop 的時鐘使能引腳 . 例如 , 如果有一個信號 clko = clki amp。 a amp。IOL 的大小可以從 ACEX1K 的數(shù)據(jù)手冊中查到(ACEX. PDF PAGE 50/86). 17. 設計中 Vccio=3. 3V, 假如 IOH=20mA, IOL=20mA, n=10 (Total number of DC output with steadystate outputs), 如何計算 PDCOUT? 答:關于功耗的計算可以參照 AN74(P2)中的功耗計算公式 . 18. 當 Vccio=3. 3V時 , 對于輸入腳 , 它兼容 TTL, CMOS 電平;對輸出腳 , 它是否也兼容 TTL 和 CMOS 電平?對 CMOS 電平 , 是否需要用 OpenDrain 加上下拉電阻來實現(xiàn)? 答: ACEX1K 器件引腳 兼容 TTL 與 CMOS電平 . COMS輸出是否要加上拉電阻要看外部接的 CMOS 電平 , 假如說接 5V COMS 則需要上拉 . 詳細情況可以參照 AN117. 19. 將 EPC2 與 EPF10K30A連接成 JTAG 菊花鏈的形式 , 在調試階段可以跳過 EPC2直接配置 EPF10K30A, 而在配置通過驗證以后再利用 EPC2 的 JTAG 口將 EPF10K30A 的配置信息固化到 EPC2中去 . EPC2的專用配置端與 EPF10K30A配置端連接 , 當系統(tǒng)脫離JTAG 電纜上電配置時 , 由 EPC2 完成對 EPF10K30A 的配置 . 這個過程 中有一個疑問 , EPF10K30A相當于有兩個配置通道(一個通過 JTAG, 一個通過 EPC2), 當其中一個配置通道工作時 , 另外一個配置通道的存在是否會影響到配置過程的正常進行呢?如果相互影響 , 怎樣才能做到兩種方式同時存在又互不影響呢? 答:可以使 10K30A擁有兩個不同的下載方式 , 在板子上做一個跳線開關即可 . 也可以從當?shù)氐拇淼玫皆撃K的參考設計 . 20. ALTERA是建議直接使用 MAXPLUSII 或 QUARTUS 編譯 HDL 源代碼 , 還是使用第三方 EDA 工具(如 SYNPLIFY、 LeoanrdoSpectrum 或 SYNOPSYS)先把 HDL 源代碼編譯為 edf 文件后再使用 ALTERA的工具編譯? 答: ALTERA建議用第三方的工具將 HDL源代碼編譯為 edf文件后再使用 ALTERA的工具進行布局布線 . ALTERA的 MAXPLUSII和 QUARTUS也都自帶有 HDL的綜合器 , 一些簡單的設計可以直接在 MP2 或 QII 中編譯即可 . 而且可以直接在軟件中后臺調用第三方的 EDA工具 . 21. 用 MAXPLUSII 或 QUARTUS 多次編譯同一設計生成的帶延時的網表文件中的延時是否一樣? 答:用 MP2 或 QII多次編譯 同一設計成的帶延時的網表文件中的延時是一樣 , 但要保證該網表文件沒有修改過 . 22. 在編譯前設定一個模塊的 Synthesis Style 為 FAST 是否一定比不設定( NONE)要節(jié)省 LC 資源? 答:在布局布線的過程中 , Synthesis Style 的設置會影響到資源的利用率和速度的快慢 , 一般情況下:設置為 FAST 主要是為了提高設計的速度 . 在軟件中除了綜合類型的設置 , 還有一項是選擇優(yōu)化的目的: oPTIMIZEAREA OR SPEED. 選擇 AREA可以節(jié)省設計所占用的資源 . 23. Altera 公司對芯片熱設計有哪些資料和工具? 答: ALTERA 提供了許多計算功耗的資料和工具 . 數(shù)據(jù)手冊中的 AN74 就是關與計算ALTERA器件功耗的專門文檔 . 24. 如何在設計前期分析芯片的功耗? 計算功耗的工具 : ALTERA 提供的 QUARTUS 軟件就有計算功耗的功能 , 它可以根據(jù)你不同的激勵項量來計算功耗 。事實上 Virtex LUT 的內部電路比看起來更復雜。當它被配置為 16x1 RAM 時,寫操作是同步的。d better input the clock signal through the dedicated input pin. (參考譯文:可以寄存這個信號 , 并將它指定為全局信號 , 步驟如下:指定 — 邏輯選項 — 個別邏輯選項 — 全局信號 . 但是 , 最好通過專用輸入引腳輸入時鐘信號 . ) 5. 用 MaxplusII 軟件設計完后 , 用 Delay