可編程邏輯器件設(shè)計(jì)技巧
答:建議將所有控制和時(shí)鐘信號(hào)都從PLD輸出, 因?yàn)镾DRAM對(duì)時(shí)鐘偏移(clock skew)很敏感, 而Altera的器件PLL允許對(duì)時(shí)鐘頻率和相位都進(jìn)行完全控制. 因此, 對(duì)于所有使用SDRAM的設(shè)計(jì), Altera的器件PLL必須生成SDRAM時(shí)鐘信號(hào).
要利用SDRAM作為數(shù)據(jù)或程序存儲(chǔ)地址來(lái)完成設(shè)計(jì), 是采用MegaWizard還是Plug-In Manager來(lái)將一個(gè)PLL在采用Quartus II軟件的設(shè)計(jì)中的頂層示例?可以選擇創(chuàng)建一個(gè)新的megafuntion變量, 然后在Plug-In manager中創(chuàng)建ALTCLKLOCK(I/P菜單)變量. 可以將PLL設(shè)置成多個(gè), 或是將輸入劃分開來(lái), 以適應(yīng)設(shè)計(jì)需求. 一旦軟件生成PLL, 將其在設(shè)計(jì)中示例, 并使用PLL的“Clock”輸出以驅(qū)動(dòng)CPU時(shí)鐘輸入和輸出IP引腳.
2. 在max7000系列中, 只允許有兩個(gè)輸出使能信號(hào), 可在設(shè)計(jì)中卻存在三個(gè), 每次編譯時(shí)出現(xiàn)“device need too many [3/2] output enable signal”. 如果不更換器件(使用的是max7064lc68). 如何解決這個(gè)問(wèn)題?
答:Each of these unique output enables may control a large number of tri-stated signals. For example, you may have 16 bidirectional I/O pins. Each of these pins require an output enable signal. If you group the signals into a 16-bit bus, you can use one output enable to control all of the signals instead of an individual output enable for each signal. (參考譯文:這兩個(gè)獨(dú)特的輸出使能中每個(gè)都可能控制大量三相信號(hào). 例如, 可能有16個(gè)雙向I/O引腳. 每個(gè)引腳需要一個(gè)輸出使能信號(hào). 如果將這些信號(hào)一起分組到一個(gè)16位總線, 就可以使用一個(gè)輸出使能控制所有信號(hào), 而不用每個(gè)信號(hào)一個(gè)輸出使能. )
3. 關(guān)于vhdl的問(wèn)題:process(a, b, c) begin… end process; 如果a、b、c同時(shí)改變, 該進(jìn)程是否同時(shí)執(zhí)行三次?
答:PROCESS STATEMENTS 中的執(zhí)行跟邏輯有關(guān)系, 假如是同步邏輯, 則在每次時(shí)鐘的觸發(fā)沿根據(jù)A, B, C的條件來(lái)執(zhí)行一次;假如是異步邏輯, 則根據(jù)判斷A、B、C的條件來(lái)執(zhí)行. 一般我們都推薦使用同步邏輯設(shè)計(jì)
4. 在設(shè)計(jì)最初, 由于沒有將時(shí)鐘信號(hào)定義在全局時(shí)鐘引腳上, 導(dǎo)致MAXPLUS II 在時(shí)間分析時(shí)提示錯(cuò)誤:(時(shí)鐘偏斜加上信號(hào)延遲時(shí)間超過(guò)輸入信號(hào)建立時(shí)間). 全局時(shí)鐘引腳的時(shí)鐘信號(hào)到各個(gè)觸發(fā)器的延時(shí)最小, 有沒有可能通過(guò)編譯軟件設(shè)置, 將普通I/O腳上的時(shí)鐘信號(hào)也經(jīng)過(guò)芯片內(nèi)部的快速通道以最小的延遲送到每個(gè)觸發(fā)器時(shí)鐘引腳?
答:you can register that signal and assign it as the global signal, by the step flow: assign->logic option->Individual logic options->Global signal. But you'd better input the clock signal through the dedicated input pin. (參考譯文:可以寄存這個(gè)信號(hào), 并將它指定為全局信號(hào), 步驟如下:指定—>邏輯選項(xiàng)—>個(gè)別邏輯選項(xiàng)—>全局信號(hào). 但是, 最好通過(guò)專用輸入引腳輸入時(shí)鐘信號(hào). )
5. 用MaxplusII 軟件設(shè)計(jì)完后, 用Delay Matrix查看延遲時(shí)間. 由于內(nèi)部觸發(fā)器的時(shí)鐘信號(hào)用了一個(gè)輸出引腳的信號(hào), 譬如將一引腳ClkOut定義為Buffer, Clkout是一時(shí)鐘信號(hào), 然后反饋到內(nèi)部邏輯, 內(nèi)部邏輯用此信號(hào)作為時(shí)鐘信號(hào), 但用Delay Matrix, 卻查看不到一些信號(hào)相應(yīng)于ClkOut的延遲, 因?yàn)镃lkOut是一Output引腳, 在Delay Matrix source 一欄中沒有ClkOut信號(hào), 如何解決這個(gè)問(wèn)題?
答:這種做法在邏輯設(shè)計(jì)中稱為GATE CLOCK, 所謂GATE CLOCK就是將設(shè)計(jì)中的組合邏輯結(jié)果拿來(lái)做時(shí)鐘信號(hào), 這是一種異步邏輯設(shè)計(jì).
現(xiàn)在都推薦使用同步邏輯設(shè)計(jì)方法. 可以將該信號(hào)(CLKOUT)拿來(lái)作使能信號(hào), 即ENABLE信號(hào), 而時(shí)鐘信號(hào)還是采用原來(lái)的統(tǒng)一時(shí)鐘, 使設(shè)計(jì)用盡量少的同步時(shí)鐘, 這樣一來(lái)就還是用DELAY MATRIX來(lái)分析原有的時(shí)鐘.
6. 我是一個(gè)epld的初學(xué)者, 目前看到xilinx的Virtex-II中嵌入大量的資源如:powerpc、ram等, 究竟如何在fpga中使用這些資源?
答:Xilinx Virtex-II中嵌入的資源非常豐富, 如BlockRAM、Digital Clock Manager、On-chip termination等等. ISE 4.2i軟件完全支持這些資源. 可以舉出單元庫(kù)中相應(yīng)基本數(shù)據(jù)的實(shí)例. Xilinx Core Generator中也還支持BlockRAM等特性. 至于PowerPC和MGT設(shè)計(jì), 可以使用Virtex-II Pro開發(fā)者套件.
7. 在設(shè)計(jì)中, 往往需要對(duì)某個(gè)信號(hào)做一定(任意長(zhǎng))的延時(shí), 有沒有好的方法來(lái)實(shí)現(xiàn)?而不是采用類似移位寄存器的方法來(lái)延時(shí).
答:使用移位寄存器在FPGA中對(duì)信號(hào)進(jìn)行延時(shí)是一種好方法. Xilinx Virtex架構(gòu)中每個(gè)對(duì)照表(LUT)都能夠設(shè)置成為具有可編程深度(最多為16)的移位寄存器. 這就提供了一種高效的途徑來(lái)在FPGA中實(shí)現(xiàn)移位寄存器. 無(wú)須使用觸發(fā)器就可以實(shí)現(xiàn)一個(gè)16位寄存器. 作為一個(gè)好的設(shè)計(jì)習(xí)慣, 任何情況下都不要通過(guò)閘延遲來(lái)實(shí)現(xiàn)延遲邏輯.
8. ISE中的PAD TO PAD CONSTRAINT 是否是包括輸入輸出的pad時(shí)延之和再加上輸入輸出之間的組合邏輯的時(shí)延?還是只是輸入輸出之間的組合邏輯的時(shí)延?
答:Xilinx PAD-to-PAD contraint的確涉及到輸入輸出PAD時(shí)延. 這從布局后時(shí)序報(bào)告中可以看出.
9. 由于現(xiàn)在的設(shè)計(jì)基本上都是同步設(shè)計(jì), 那么PAD TO PAD CONSTRAINT 在什么情況下使用?
答:雖然現(xiàn)今多數(shù)設(shè)計(jì)都是完全同步, 但仍有一些情況需要從一個(gè)輸入引腳到另一個(gè)輸出引腳的純粹組合路徑. 因此, 仍然需要PAD-to-PAD constraint控制這些路徑的時(shí)延.
10. 如何在ISE 中看到PAD TO PAD 的布線情況?
答:通常不必在意信號(hào)在FPGA內(nèi)的路線, 只要它涉及到時(shí)序問(wèn)題. 這種工具將對(duì)以優(yōu)化的方式對(duì)設(shè)計(jì)進(jìn)行路由. 如果希望檢查具體路由, 可以使用Xilinx FPGA Editor, 它包含在ISE4. 2i軟件中.
11. 在Xilinx Foundation 3. 1i下用JTAG PROGRAMER下載程序到芯片中, 可是總是出現(xiàn)如下錯(cuò)誤:If the security flag is turned on in the bitstream, programming status can not be confirmed;others, programming terminated due to error. 測(cè)量電路信號(hào), 沒有相應(yīng)的波形, 顯然下載沒有成功. 所用的芯片是:Xilinx Spartan2 XC2S50TQ144. 怎么解決?
答:This is a security feature. By disabling readback, the configuration data cannot be read back from the FPGA. This prevents others from pirating your intellectual properties. You can enable or disable this feature during bitstream generation.
The proper way to determine if the configuration is finished without error is to check the status of the DONE pin on the FPGA. DONE pin should goes high if the bitstream is received correctly. Also, since you are using JTAG configuration, please make sure you have selected JTAG clock (not CClk) as your Startup clock during bitstream generation. (參考譯文:這是保密功能. 通過(guò)禁用回讀, 配置數(shù)據(jù)不能從FPGA回讀. 這可以防止其他人盜用你的成果. 在生成位元流過(guò)程中, 可以啟用或禁用這個(gè)功能.
確定配置是否準(zhǔn)確無(wú)誤地完成, 適合的方法就是檢查FPGA上DONE引腳的狀態(tài). 如果正確地接收了位元流, 則DONE引腳將會(huì)升高. 而且, 既然使用JFAG配置, 就要確保在生成位元流過(guò)程中, 已經(jīng)將JGAG時(shí)鐘(而不是CClk)選作了Startup時(shí)鐘. )
12. Xilinx Virtex架構(gòu)中每個(gè)對(duì)照表(LUT)都能夠設(shè)置成為具有可編程深度(最多為16)的移位寄存器. 可否理解為, 在寫設(shè)計(jì)的時(shí)候如果設(shè)計(jì)了一個(gè)深度不大于16位的移位寄存器, ISE綜合時(shí)就會(huì)用一個(gè)LUT來(lái)替代它?
答:Most synthesis tools (e. g. Synplify Pro, Xilinx XST) are able to infer LUT based shift register (SRL16E) from your source code. Even for depth greater than 16, the tool is smart enough to infer multiple SRL16E to realize the shift register. Another way to utilize this feature is to instantiate an SRL16E in the source code. You can refer to the Library Guide in the Xilinx ISE software package for more details. (參考譯文:大多數(shù)綜合工具, 例如Synplify Pro和Xilinx XST, 都能根據(jù)源代碼中的移位寄存器SRL16E來(lái)推斷 LUT. 即使是深度大于16的情況, 此類工具也能夠推斷出多SRL16E, 從而實(shí)現(xiàn)移位寄存器. 利用此功能的另一種途徑是在原代碼中例示一個(gè)SRL16E. 詳細(xì)說(shuō)明可以參考Xilinx ISE軟件包中的庫(kù)指南. )
本文引用地址:http://butianyuan.cn/article/201706/349477.htm
13. LUT是實(shí)現(xiàn)組合邏輯的SRAM, 怎樣實(shí)現(xiàn)一個(gè)時(shí)序的移位寄存器, 是不是必須加一個(gè)觸發(fā)器來(lái)配合LUT?
答:The LUTs in Xilinx Virtex architecture are not simply combinational logic. When it is configured as 16x1 RAM, the write operation is synchronous. When it is configured as shift register, there is no need to consume any flip-flop resource. In fact the internal circuitry of a Virtex LUT is more complicated than what it looks like. (參考譯文:Xilinx Virtex結(jié)構(gòu)中的LUT不是簡(jiǎn)單的組合邏輯。當(dāng)它被配置為16x1 RAM時(shí),寫操作是同步的。當(dāng)它被配置為移位寄存器時(shí),則無(wú)需消耗任何flip-flop資源。事實(shí)上Virtex LUT的內(nèi)部電路比看起來(lái)更復(fù)雜。)
14. 在foundation 3.1環(huán)境里怎么找不到啟動(dòng)testbench.vhd的程式?
答:伴隨Foundation 3.1i出現(xiàn)的仿真器為門極仿真器, 因此你不能在這種設(shè)計(jì)環(huán)境下以VHDL級(jí)運(yùn)行仿真. vhdl代碼必須在你運(yùn)行任何仿真之前進(jìn)行綜合. 因此, 在Foundation 3.1i環(huán)境下并不能使用vhdl testbench. 作為替代方式, 你可以編寫仿真script.
實(shí)際上, Foundation 3.1i是一款相對(duì)較老的軟件. Xilinx ISE軟件中支持HDL testbench, 它的最新版本為4.2i.
15. 關(guān)于雙向口的仿真, 如果雙向口用作輸入口, 輸出口該怎么設(shè)置?
答:做仿真時(shí), 軟件會(huì)自動(dòng)地將IO口(包括雙向口)的引腳本加入到. SCF文件中去. 先新建一個(gè)SCF文件, 然后在NODE->ENTER NODES FROM SNF->LIST, 將列出的所有IO引腳(包括了雙向口)都加入仿真文件中, 就可以進(jìn)行仿真了.
16. 關(guān)于ACEX1K的I/O腳驅(qū)動(dòng)能力. ALTERA 計(jì)算功耗的datasheet 中:對(duì)ACEX1K器件, PDCOUT (power of steady-state outputs)的計(jì)算就是根據(jù)IOH, IOL來(lái)計(jì)算的, 能否告訴我ACEX1K芯片的IOH, IOL分別是多少?
答:關(guān)于ACEX1K的IO驅(qū)動(dòng)能力, IOHIOL的大小可以從ACEX1K的數(shù)據(jù)手冊(cè)中查到(ACEX. PDF PAGE 50/86).
17. 設(shè)計(jì)中Vccio=3. 3V, 假如IOH=20mA, IOL=20mA, n=10 (Total number of DC output with steady-state outputs), 如何計(jì)算PDCOUT?
答:關(guān)于功耗的計(jì)算可以參照AN74(P2)中的功耗計(jì)算公式.
18. 當(dāng)Vccio=3. 3V時(shí), 對(duì)于輸入腳, 它兼容TTL, CMOS電平;對(duì)輸出腳, 它是否也兼容TTL和CMOS電平?對(duì)CMOS電平, 是否需要用OpenDrain 加上下拉電阻來(lái)實(shí)現(xiàn)?
答:ACEX1K器件引腳兼容TTL與CMOS電平. COMS輸出是否要加上拉電阻要看外部接的CMOS電平, 假如說(shuō)接5V COMS則需要上拉. 詳細(xì)情況可以參照AN117.
19. 將EPC2與EPF10K30A連接成JTAG菊花鏈的形式, 在調(diào)試階段可以跳過(guò)EPC2直接配置EPF10K30A, 而在配置通過(guò)驗(yàn)證以后再利用EPC2的JTAG口將EPF10K30A的配置信息固化到EPC2中去. EPC2的專用配置端與EPF10K30A配置端連接, 當(dāng)系統(tǒng)脫離JTAG電纜上電配置時(shí), 由EPC2完成對(duì)EPF10K30A的配置. 這個(gè)過(guò)程中有一個(gè)疑問(wèn), EPF10K30A相當(dāng)于有兩個(gè)配置通道(一個(gè)通過(guò)JTAG, 一個(gè)通過(guò)EPC2), 當(dāng)其中一個(gè)配置通道工作時(shí), 另外一個(gè)配置通道的存在是否會(huì)影響到配置過(guò)程的正常進(jìn)行呢?如果相互影響, 怎樣才能做到兩種方式同時(shí)存在又互不影響呢?
答:可以使10K30A擁有兩個(gè)不同的下載方式, 在板子上做一個(gè)跳線開關(guān)即可. 也可以從當(dāng)?shù)氐拇淼玫皆撃K的參考設(shè)計(jì).
20. ALTERA是建議直接使用MAXPLUSII或QUARTUS編譯HDL源代碼, 還是使用第三方EDA工具(如SYNPLIFY、LeoanrdoSpectrum或SYNOPSYS)先把HDL源代碼編譯為edf文件后再使用ALTERA的工具編譯?
答:ALTERA建議用第三方的工具將HDL源代碼編譯為edf文件后再使用ALTERA的工具進(jìn)行布局布線. ALTERA的MAXPLUSII和QUARTUS也都自帶有HDL的綜合器, 一些簡(jiǎn)單的設(shè)計(jì)可以直接在MP2或QII中編譯即可. 而且可以直接在軟件中后臺(tái)調(diào)用第三方的EDA工具.
21. 用MAXPLUSII或QUARTUS多次編譯同一設(shè)計(jì)生成的帶延時(shí)的網(wǎng)表文件中的延時(shí)是否一樣?
答:用MP2或QII多次編譯同一設(shè)計(jì)成的帶延時(shí)的網(wǎng)表文件中的延時(shí)是一樣, 但要保證該網(wǎng)表文件沒有修改過(guò).
22. 在編譯前設(shè)定一個(gè)模塊的Synthesis Style為FAST是否一定比不設(shè)定(NONE)要節(jié)省LC資源?
答:在布局布線的過(guò)程中, Synthesis Style的設(shè)置會(huì)影響到資源的利用率和速度的快慢, 一般情況下:設(shè)置為FAST主要是為了提高設(shè)計(jì)的速度. 在軟件中除了綜合類型的設(shè)置, 還有一項(xiàng)是選擇優(yōu)化的目的:oPTIMIZE->AREA OR SPEED. 選擇AREA可以節(jié)省設(shè)計(jì)所占用的資源.
23. Altera公司對(duì)芯片熱設(shè)計(jì)有哪些資料和工具?
答:ALTERA提供了許多計(jì)算功耗的資料和工具. 數(shù)據(jù)手冊(cè)中的AN74就是關(guān)與計(jì)算ALTERA器件功耗的專門文檔.
24. 如何在設(shè)計(jì)前期分析芯片的功耗?
計(jì)算功耗的工具: ALTERA提供的QUARTUS軟件就有計(jì)算功耗的功能, 它可以根據(jù)你不同的激勵(lì)項(xiàng)量來(lái)計(jì)算功耗; 在ALTERA 的網(wǎng)葉上就有專門計(jì)算功耗的運(yùn)算器, 請(qǐng)點(diǎn)擊相關(guān)文章 它就給出了APEXII的功耗計(jì)算方法.
25. 看過(guò)“FLEX PCI Development Board”的參考設(shè)計(jì)原理圖, 它利用了條線開關(guān)選擇配置方式. 既然兩種配置方式管腳并沒有公用, 為何需要這個(gè)跳線開關(guān)呢?
答:EPC2不會(huì)影響到用下載電纜通過(guò)JTAG口配置EPF10K30A. 使用跳線開關(guān)是在選擇給10K30A下載的方式, 是通過(guò)下載電纜還是EPC2.
因?yàn)閷CP2與10K30A連接成JTAG菊花鏈的形式通過(guò)下載電纜下載和用EPC2對(duì)10K30A下載的連接方式是不同的, 所以要將這兩者分開, 詳細(xì)的連接方法應(yīng)該在參考設(shè)計(jì)原理圖中已經(jīng)描繪的很清楚了.
26. 為了保證設(shè)計(jì)可靠性, 需要重點(diǎn)關(guān)注哪些方面?
答:Here are a few guidelines for reliable FPGA design(關(guān)于可靠性FPGA設(shè)計(jì)的幾點(diǎn)建議)
① Use fully synchronous design. Asynchronous design is very sensitive to path delay and is therefore not robust. An example of asychronous circuit is the SR latch which uses combinational feedback. (使用完全同步設(shè)計(jì). 異步設(shè)計(jì)對(duì)路徑延遲非常敏感, 因此不很可靠. 異步電路的一個(gè)例子是使用組合反饋的SR閉鎖. )
② Never gate your clock signal with combinational logic. Glitches may occur on any gated clock signals, which results in false triggering of flip-flops. (絕不使用組合邏輯控制時(shí)鐘信號(hào). 因?yàn)樵谌魏伍T控制時(shí)鐘信號(hào)上可能產(chǎn)生短時(shí)脈沖干擾, 最終導(dǎo)致錯(cuò)誤觸發(fā)flip-flop. )
③ Never rely on gate delay. (絕不要依靠門延遲. )
④ Enough bypass capacitors should be placed close to the power and ground pins of FPGA. Use capacitors with good high frequency response. (FPGA的電源和接地引腳附近應(yīng)該放置足夠多的旁路電容器. 使用優(yōu)質(zhì)高頻響應(yīng)電容器. )
⑤ Always use the global clock buffers on the FPGA to drive internal clock signals. These clock buffers and the associated clock distribution network have been carefully designed to minimize skew. (在FPGA上始終使用全局時(shí)鐘緩沖來(lái)驅(qū)動(dòng)內(nèi)部時(shí)鐘信號(hào). 并且已經(jīng)仔細(xì)設(shè)計(jì)了這些時(shí)鐘緩沖和關(guān)聯(lián)時(shí)鐘配電網(wǎng), 以將畸變減至最小. )
27. You said An example of asychronous circuit is the SR latch which uses combinational feedback. How do I learn SR latch ? What is the difference between SR latch and SRFF? (“異步電路的一個(gè)例子是使用組合反饋的SR閉鎖”. 請(qǐng)問(wèn)如何理解SR閉鎖?SR閉鎖與SRFF有什么區(qū)別?)
答:A latch changes states whenever the gate signal is active. A FF changes states only at clock edges. (參考譯文:只要門信號(hào)是活動(dòng)的, 閉鎖就會(huì)更改狀態(tài). 而FF只有在時(shí)鐘邊沿才更改狀態(tài). )
28. Xilinx公司的芯片在熱設(shè)計(jì)方面可以提供哪些工具和資料?
答:For thermal consideration, you need to know the power consumption of your FPGA and the thermal resistivity of the device package you are using. The power consumption can be estimated by the XPower tool included in Xilinx ISE software. The thermal resistivity of the device package can be found in Xilinx databook. The junction temperature can then be calculated by the following formula(至于散熱問(wèn)題, 需要了解所用FPGA的功耗和正在使用的器件封裝的熱阻系數(shù). Xilinx ISE軟件中所包含的Xpower工具可以估計(jì)功耗. 在Xilinx數(shù)據(jù)手冊(cè)中可以找到器件封裝的熱阻系數(shù). 然后利用下面的公式計(jì)算接合溫度. )
P = (Tj - Ta) / THETAja 其中, P=功耗;Tj=接合溫度;Ta=環(huán)境溫度;THETAja = 封裝的熱阻系數(shù)
You can then detemine if the junction temperature falls within the acceptable region. The maximum acceptable junction temperature is different for C and I grade devices. If it is higher than the max. acceptable temperature, you may consider adding a heatsink or cooling fan. (之后確定接合溫度是否在允許范圍內(nèi). C和I級(jí)器件允許的最高接合溫度不同. 如果溫度高于允許的最高值, 可能需要增加散熱片或風(fēng)扇. )
29. 如果時(shí)鐘進(jìn)入FPGA后經(jīng)過(guò)一段組合邏輯才上時(shí)鐘網(wǎng)絡(luò), 會(huì)存在一定的延時(shí). 綜合布線后會(huì)出現(xiàn)信號(hào)輸入延時(shí)為負(fù)值, 意味著信號(hào)比時(shí)鐘先到達(dá)觸發(fā)器. 那么, 怎樣通過(guò)約束文件增加輸入信號(hào)的延時(shí)呢?我試過(guò)對(duì)NET加上MEDDELAY的約束, 但是沒效果.
答:Gating the clock signal with combinational logic is not recommended in modern high speed digital design since it may creates glitches on the gated clock signal, which results in false triggering of flip-flops. This results in a less reliable design. A common technique to remove gated clock is to make use of the clock enable pin of the flip-flop. For example, if you have a signal clko = clki a b driving the clock pin of a flip-flop, you can eliminate the gated clock by feeding clki directly to the FF clock pin, and have another signal en = a b connected to the clock enable pin of the FF. ( 參考譯文:在現(xiàn)代高速數(shù)字設(shè)計(jì)當(dāng)中, 不建議使用組合邏輯門控時(shí)鐘信號(hào), 因?yàn)檫@將會(huì)在選通的時(shí)鐘信號(hào)上產(chǎn)生短時(shí)脈沖波形干擾, 導(dǎo)致錯(cuò)誤觸發(fā)flip-flop. 這是缺乏可靠性的設(shè)計(jì). 移除門控時(shí)鐘通常所采用的技巧是使用flip-flop的時(shí)鐘使能引腳. 例如, 如果有一個(gè)信號(hào)clko = clki a b 正在驅(qū)動(dòng)flip-flop的時(shí)鐘引腳, 則可以通過(guò)直接將clki傳遞給FF時(shí)鐘引腳, 并將另一個(gè)信號(hào)en = a b與FF的時(shí)鐘使能引腳連接, 來(lái)消除門控時(shí)鐘. )
By removing the gated clock, you no longer have the problem of clock delay. Also the design is more robust. (移除門控時(shí)鐘后, 就不再有時(shí)鐘延遲的問(wèn)題了. 而且這種設(shè)計(jì)也比較可靠. )
30. FPGA生產(chǎn)產(chǎn)商提供了IP, 如何用第三方軟件, 如Advantage 或 ACTIVE vhdl, 調(diào)用并進(jìn)行仿真?
答:The IPs provided by Xilinx, e. g. PCI, come with simulation models which can be processed by 3rd part simulation tools like Modelsim. So there is no problem for functional simulation. Timing simulation can be done by exporting the post-layout vhdl/verilog model from Xilinx ISE software. In some cases, sample testbenches are also included. (參考譯文:Xilinx提供的IP, 例如PCI, 是與仿真模型一同提供的, 這種模型可由第三方仿真工具, 如Modelsim來(lái)處理. 因此對(duì)功能仿真來(lái)說(shuō), 沒有問(wèn)題. 通過(guò)從Xilinx ISE軟件中導(dǎo)出post-layout vhdl/verilog可以執(zhí)行定時(shí)仿真. 在某些情況下, 也包括樣本測(cè)試平臺(tái). )
31. “As a good design practice, never use gate delay to implement your delay logic under all circumstances”. Please tell me what does gate delay(閘) mean?(“一個(gè)好的設(shè)計(jì), 在所有情況下都決不會(huì)使用門延遲來(lái)實(shí)現(xiàn)延遲邏輯. ”此處“門延遲”是什么意思?)
答: “By gate delay I mean using a series of logic gates to introduce certain amount of delay in the design. This is highly undesirable since gate delay changes with factors like temperature and process technology. The design may fail as temperature changes or using a different version silicon. Also designs relying on gate delay are not portable, meaning that you need to re-design the whole circuit whenever you want to change to another product series or part number, simply because the gate delay changes as well. (參考譯文:“門延遲”指得是使用一系列邏輯門將一定數(shù)量的延遲導(dǎo)入到設(shè)計(jì)中. 既然門延遲更改像溫度和處理技術(shù)這樣的因素, 所以, 這是很不合適的. 由于溫度的改變或使用不同版本的芯片, 設(shè)計(jì)可能會(huì)失敗. 依賴門延遲的設(shè)計(jì)也不是可移植的, 也就是說(shuō), 要更改另一產(chǎn)品系列或部件號(hào)時(shí), 需要重新設(shè)計(jì)整個(gè)電路, 只因?yàn)楦牧碎T延遲. )
Always use fully synchronous design. You never need to reply on gate delay if your design is fully synchronous. (始終使用完全同步設(shè)計(jì). 如果設(shè)計(jì)是全同步的, 則無(wú)需回應(yīng)門延遲. )
32. This time I download another program to another chip SpartanII XC2S50PQ208 in another circuit, while it fails, and show the following message: . . . Checking boundary-scan chain integrity. . . ERROR:JTag - Boundary-scan chain test failed at bit position '3' on instance '***'(a substitute for the real name of file). A problem may exist in the hardware configuration. Check that the cable, scan chain, and power connections are intact, that the specified scan chain configuration matches the actual hardware, and that the power supply is adequate and delivering the correct voltage. ERROR:JTag - Boundary scan chain has been improperly specified. Please check your configuration and re-enter the boundary-scan chain information. Boundary-scan chain validated unsuccessfully. ERROR:JTag - : The boundary-scan 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 command. With so many messages, I don'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芯片電路, 結(jié)果發(fā)生了故障, 并顯示以下消息:“. . . Checking boundary-scan chain integrity. . . ERROR:JTag - Boundary-scan chain test failed at bit position '3' on instance '***'(實(shí)際的文件名)”. 問(wèn)題可能在硬件配置. 檢查了連線、掃描鏈路和電源接頭都沒有問(wèn)題. 特定的掃描鏈路配置與實(shí)際的硬件相匹配, 電源充足且電壓正常. “ERROR:JTag - Boundary scan chain has been improperly specified. Please check your configuration and re-enter the boundary-scan chain information. Boundary-scan chain validated unsuccessfully. ERROR:JTag - : The boundary-scan 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 command. ”這么多出錯(cuò)消息, 什么原因, 怎么辦?)
答:Usually it is the result of a broken JTAG chain or noisy chain. Most commonly, 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鏈或噪聲鏈. 最常見的原因是, 連線不正確, 板子上的跡線不正確, 鏈路中的其它器件導(dǎo)致問(wèn)題, 或者存在噪聲并口. 試一下使用不同的PC. 也可以在FPGA的PROG引腳上增加一個(gè)4. 7K的上拉電阻, 看看是否有幫助. )
33. 在VHDL中, 定義為SIGNAL的量起到什么作用?什么時(shí)候需要定義這個(gè)量?下面的程序
ARCHITECTURE EXER2_ARCH OF EXERCISE2 IS
SIGNAL TEM: STD_LOGIC;
BEGIN
TEM=PIN50 AND PIN51;
PIN8 =TEM;
END EXER2_ARCH;
和如下的程序有何區(qū)別?
ARCHITECTURE EXER2_ARCH OF EXERCISE2 IS
BEGIN
PIN8=PIN50 AND PIN51;
END EXER2_ARCH;
答:If PIN8 is declared in your port list, the 2 examples are identical. From a hardware design's perspective, you can think of a vhdl signal as an electrical signal. So basically you can declare every object as signal. >From a simulation's perspective, there is a fundamental difference between signal and variable in vhdl. A variable is nothing more than an object that holds a value. A variable assignment occurs instantly in a vhdl simulation. Also, a variable can only exist within a process, so it cannot transfer values across processes. A signal, on the other hand, has a history of values. Whenever a signal assignment occurs, the vhdl simulator schedules an event to update the signal value after a certain period of simulation time - the signal does not get this new value instantly in the simulation time domain. Also, a signal can exists outside processes. Sounds complicated, but for most of the time you can simply use vhdl signal in your hardware design. (參考譯文:如果在端口表中聲明了PIN8, 這兩個(gè)示例是一樣的. 從硬件設(shè)計(jì)的角度看, 可以將vhdl signal視為電子信號(hào). 因此, 基本上可以將每個(gè)對(duì)象聲明為“signal”. 從仿真角度看, vhdl中的signal 與 variable是根本不同的. 變量只不過(guò)是擁有值的對(duì)象. 變量分配即時(shí)出現(xiàn)在vhdl仿真中. 而且, 變量只能存在于一個(gè)過(guò)程內(nèi), 因此它不能通過(guò)過(guò)程來(lái)傳遞值. 另一方面, 信號(hào)有多個(gè)值. 不論何時(shí)分配信號(hào), vhdl仿真都會(huì)在某個(gè)仿真時(shí)段安排一個(gè)事件來(lái)更新信號(hào)的值. 在仿真時(shí)域里, 信號(hào)不會(huì)立即獲得這個(gè)新的值. 而且信號(hào)可以存在于過(guò)程之外. 聽起來(lái)好象有點(diǎn)復(fù)雜, 但大多數(shù)時(shí)候, 在硬件設(shè)計(jì)中可以只使用vhdl 信號(hào). )
34. 如果輸入時(shí)鐘必須經(jīng)過(guò)一段組合邏輯(比如需要進(jìn)行時(shí)鐘選擇, 可選外部或內(nèi)部時(shí)鐘), 那么在DFF使能端加控制是無(wú)法解決的, 有什么更好的方法?
答:A simple answer is to use the BUFGMUX resource in Xilinx VirtexII devices. The BUFGMUX is actually a global clock buffer in VirtexII which incoporates a smart mux to switch between 2 clock sources. More importantly, the BUFGMUX guarantees glitch-free switching between these 2 clocks, even though the select signal changes asynchronously. (參考譯文:簡(jiǎn)單的方法是使用Xilinx VirtexII器件上的BUFGMUX資源. BUFGMUX實(shí)際上是VirtexII中的全局時(shí)鐘緩沖, VirtexII將智能mux與2個(gè)時(shí)鐘源之間的切換相結(jié)合. 更為重要的是, 即使選擇信號(hào)更改不同步, BUFGMUX也能保證這兩個(gè)時(shí)鐘之間的無(wú)干擾切換. )
35. 用Altera器件設(shè)計(jì)一個(gè)電路, 外掛一同步存儲(chǔ)器件. 邏輯設(shè)計(jì)和存儲(chǔ)器件的時(shí)鐘是相同的, 但由于時(shí)鐘信號(hào)帶負(fù)載能力較差, 只能接一個(gè)負(fù)載, 所以將時(shí)鐘信號(hào)接在可編程器件上, 而用內(nèi)部賦值語(yǔ)句將時(shí)鐘信號(hào)賦值給某一引腳, 此引腳信號(hào)再接到存儲(chǔ)器件的時(shí)鐘引腳, 但這樣存在一個(gè)問(wèn)題:存儲(chǔ)器件的讀寫信號(hào)相對(duì)于Altera器件上的時(shí)鐘信號(hào)有延遲, 存儲(chǔ)器件的時(shí)鐘信號(hào)相對(duì)于Altera器件上的時(shí)鐘信號(hào)也有延遲, 這樣存儲(chǔ)器件的時(shí)鐘信號(hào)與讀寫信號(hào)之間的時(shí)間差難以控制, 極有可能不滿足存儲(chǔ)器件的Setup/hold時(shí)間, 有什么好的方法解決此問(wèn)題?
答:可以利用ALTERA器件中的PLL來(lái)精確控制延時(shí). ALTERA中的PLL是一個(gè)真正的模擬鎖相環(huán), 它可以提供精確的時(shí)鐘頻率合成與相位延時(shí)的細(xì)微調(diào)整. 可以將時(shí)鐘信號(hào)按照你的要求進(jìn)行延遲調(diào)整.
假如采用的器件沒有PLL的話, 那么可能需要在邏輯內(nèi)部來(lái)做一些延時(shí)邏輯, 不過(guò)這樣會(huì)導(dǎo)致異步邏輯設(shè)計(jì), 我們一般情況下不推薦這樣用. 還有一種辦法就是在PCB板上來(lái)調(diào)整時(shí)延. 關(guān)于PLL的詳細(xì)資料可以參考ALTERA的相關(guān)文檔.
36. 利用ACEX1K系列片內(nèi)EAB單元?jiǎng)?chuàng)建RAM時(shí), 每創(chuàng)建一個(gè)容量較小的RAM時(shí)就要占用一個(gè)EAB單元, 能否將多個(gè)RAM整合由一個(gè)EAB實(shí)現(xiàn), 以節(jié)約片內(nèi)的EAB單元?
答:在ACEX1K系列的器件中, 一個(gè)EAB單元目前只能做一個(gè)應(yīng)用, 我們現(xiàn)在的軟件還不支持將多個(gè)小的RAM集成到一個(gè)EAB當(dāng)中.
37. Synthesis Style設(shè)為FAST后, 發(fā)現(xiàn)速度有所提升, 同時(shí)使用的資源也減少了, 資源和速度似乎兼得了, 那么是否所有的模塊都可以設(shè)定為FAST呢?
答:將SYNTHESIS STYLE設(shè)置為FAST主要是為了提高系統(tǒng)性能. 但是有一點(diǎn)要記住的是, 軟件的設(shè)置不是在任何情況下對(duì)所有的設(shè)計(jì)都表現(xiàn)出相同的結(jié)果. 針對(duì)這個(gè)設(shè)計(jì)模塊, 將SYNTHESIS STYLE設(shè)置為FAST可能對(duì)資源和速度都有了優(yōu)化, 但這并不說(shuō)明對(duì)所有的模塊都有相同的效果, 但是可以試一試. 設(shè)計(jì)優(yōu)化是一個(gè)原則與經(jīng)驗(yàn), 技巧相結(jié)合的過(guò)程, 我們只掌握一定的原則與方法, 根據(jù)我們自己的經(jīng)驗(yàn), 運(yùn)用一定的技巧, 才能將一個(gè)設(shè)計(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? (要設(shè)計(jì)一個(gè)灰色編碼16位的計(jì)數(shù)器, 怎么以VHDL描述來(lái)實(shí)現(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 don't to make additional optimize.
Because the lpm function code is the best way to fit the structure of device, which is designed by altera factory specialist who is very familiar with our device structure. (參考譯文:可以使用軟件里的megawizard(lpm_counter)來(lái)生成計(jì)數(shù)器, 選擇帶有VHDL的輸出語(yǔ)言. 這應(yīng)該是實(shí)現(xiàn)計(jì)數(shù)器的有效方法, 而且不用進(jìn)行額外的優(yōu)化.
因?yàn)閘pm功能代碼最適合此設(shè)計(jì)結(jié)構(gòu), 這種結(jié)構(gòu)是非常熟悉我們的設(shè)計(jì)結(jié)構(gòu)的altera專家設(shè)計(jì)的. )
39. 一般情況下用Synplify Pro綜合后生成的edf文件經(jīng)MP2編譯后與用MP2綜合及編譯相比較, 占用資源較少, 但在使用層次化設(shè)計(jì)中, 使用Synplify Pro綜合頂層文件后得到的edf文件經(jīng)MP2編譯后與用MP2綜合及編譯該頂層文件相比較卻大大的占用資源, 請(qǐng)問(wèn), 在使用Synplify Pro綜合層次化設(shè)計(jì)中如何才能節(jié)省資源?
答:在使用軟件做優(yōu)化時(shí)存在這樣一個(gè)平衡關(guān)系: 資源利用率與速度的平衡. 資源利用率提高了, 也就是節(jié)省了資源, 但整個(gè)設(shè)計(jì)的性能可能會(huì)降低了.
同樣盡力去優(yōu)化系統(tǒng)性能, 提高速度, 那資源的利用也可能會(huì)增加. 當(dāng)在使用層次化設(shè)計(jì)中, 如何來(lái)優(yōu)化整體設(shè)計(jì), 最關(guān)鍵的就是層次與模塊的劃分.
在劃分層次和模塊是有幾點(diǎn)建議:
1)以功能來(lái)劃分;功能模塊與層次的設(shè)計(jì)可以幫助你清楚的定義邊界, 在模塊框圖中, Data paths、tri-state signals、state machines、register blocks、large macrofunctions、memory elements、control blocks和一些重復(fù)使用的模塊都具有其本身的自然邊界.
2)劃分模塊時(shí)要盡量減少模塊間的IO連接, 過(guò)多的IO接口會(huì)使系統(tǒng)變得復(fù)雜, 軟件需要交叉布線, 降低性能和提高資源利用.
3)在可能的情況下, 盡可能多的給模塊的輸出加Resister. 盡可能地優(yōu)化模塊的劃分與接口, 是提高層次化設(shè)計(jì)性能的關(guān)鍵. 更詳細(xì)的方法與建議, 可以參照我們的應(yīng)用文檔AN101.
40. 以前的問(wèn)題提到, 用EPM7064LC68進(jìn)行編譯, 會(huì)出現(xiàn)編譯錯(cuò)誤. 如果編譯時(shí), 讓系統(tǒng)自動(dòng)選擇器件, 則選中的器件是EPM7064SLC84, 編譯通過(guò). 我查遍手頭的資料, 并沒有發(fā)現(xiàn)后者有三個(gè)輸出使能, 這是怎么回事?望解答.
答:事實(shí)上在MAX7000S上有6個(gè)輸出使能控制信號(hào), 你可以在MAX7000的數(shù)據(jù)手冊(cè)(M7000. PDF)第二頁(yè)看到有這樣的說(shuō)明.
Enhanced features available in MAX 7000E and MAX 7000S devices – Six pin- or logic-driven output enable signals
41. 在FPGA中是以何種形式實(shí)現(xiàn)VHDL的變量類型的?
答:There is no definite answer to this. It depends on how you write your codes. A variable in vhdl may be synthesized into a physical net, or it may not exist at all in the resulting circuit. 文:沒有明確的答案. 它取決于所編寫的代碼. Vhdl中的變量可能同步到物理網(wǎng)絡(luò)中, 或者根本不可能存在于結(jié)果電路中. )
42. 在布線后生成的時(shí)序報(bào)告文件中, 可以看到延時(shí)的一些報(bào)告, 對(duì)于某條時(shí)序報(bào)告, 如何定位其對(duì)應(yīng)的語(yǔ)句呢?特別是當(dāng)完全使用語(yǔ)言方式輸入時(shí), 生成的網(wǎng)表中大量的為N**形式, 無(wú)法看懂其含義.
答:Most synthesizers do preserve signal names to a certain extend, usually a string is concatenated to the end of the original name. So you can still correlate the names in many cases. For those strange net names like N***, they are signals generated by the synthesizer and may not have a counterpart in the original source code. (參考譯文:大多數(shù)合成器是會(huì)以某種擴(kuò)展名來(lái)保存信號(hào)名稱, 這些擴(kuò)展名通常是連接到最初的名稱末尾的字符串. 使這些名稱在很多情況下仍然相關(guān). 至于那些像N***一樣奇怪的網(wǎng)表名稱, 是由合成器生成的信號(hào), 而且可能不會(huì)在最初的源代碼中有副本. )
43. 布線后時(shí)序仿真與實(shí)際電路板上測(cè)試一般都不一樣, 特別對(duì)于高速信號(hào), 幾個(gè)ns的差別是很大的, 到底應(yīng)該以哪一個(gè)為標(biāo)準(zhǔn)進(jìn)行設(shè)計(jì)呢?
答:The timing information you get from the post-layout simulation is based on worst case parameter. So you usually have better results on silicon than in simulation. For robust designs, always consider the worst case. (參考譯文:從時(shí)序仿真中獲得的時(shí)序信息是基于最壞情況參數(shù)的. 因此, 通常在硅片上實(shí)際操作的結(jié)果要比仿真中的好. 對(duì)于可靠的設(shè)計(jì)而言, 始終都要考慮最壞的情況. )
44. ISE4. 2和ISE4. 1相比有何改進(jìn)?
答:Here's a brief list of new features in ISE4. 2i (以下是ISE4. 2i新特性的要點(diǎn))
- Device support for VirtexII Pro and CoolRunnerII (設(shè)備支持VirtexII Pro和CoolRunnerII)
- Provides 2 new source types, BMM files and ELF files, for embedded VirtexII Pro PowerPC and Microblaze processor support. BMM file is the Block RAM Memory Map file that describes the organization of Block RAM memory. ELF file is the Executable and Linkable Format file contains the executable CPU code image to be stored in Block RAM as specified in the BMM file. (提供2個(gè)新的源類型:BMM文件和ELF文件, 以支持嵌入式VirtexII Pro PowerPC和Microblaze處理器. BMM文件是“塊RAM內(nèi)存圖”文件, 它描述了塊RAM內(nèi)存的結(jié)構(gòu). ELF文件是“可執(zhí)行和可鏈接格式”文件, 它包含存儲(chǔ)在BMM文件中指定的塊RAM的可執(zhí)行CPU代碼圖. )
- Improved PAD file for easier to import into a spreadsheet program for viewing, sorting and printing. (改進(jìn)PAD文件, 以便導(dǎo)入到電子表格程序中, 供查看、存儲(chǔ)和打印)
- iMPACT now incorporates the functionality of the PROM File Formatter and Xilinx System ACE software. (iMPACT與PROM文件格式程序和Xilinx系統(tǒng)ACE軟件的功能相結(jié)合)
- XST enhancement for better language support and preservation of internal signal names. (XST增強(qiáng)了語(yǔ)言支持, 并能保存內(nèi)部信號(hào)名稱. )
For more information regarding Xilinx ISE4. 2i, please visit our website www. xilinx. com (更多有關(guān)Xilinx ISE4. 2i的信息, 請(qǐng)?jiān)L問(wèn)網(wǎng)站www. xilinx. com).
45. 經(jīng)??吹絞ate這個(gè)詞. 能夠具體解釋一下它的含義, 例舉其用法以及如何避免問(wèn)題?
答:Here're a couple of examples :(舉例說(shuō)明)
- Never use gated clock. By gated clock we mean the clock signal comes out from combinational logic. It is well known that any signal coming out of combinational logic is prone to glitch. The result is fatal if there is a glitch on your clock signal since it will cause false triggering of FFs. A common technique to avoid gated clock is to utilize the clock enable pin on the FF. (從不使用gated clock. 這個(gè)詞表示時(shí)鐘信號(hào)出自組合邏輯. 眾所周知, 任何出自組合邏輯的信號(hào)都容易發(fā)生故障. 由于時(shí)鐘信號(hào)上的故障將導(dǎo)致錯(cuò)誤觸發(fā)FF, 其結(jié)果是致命的. 避免gated clock常用的技巧是利用FF上的時(shí)鐘使能引腳. )
- Never design a circuit that relies on gate delay to function. It was a common practise in the past to introduce a delay in the design by inserting a series of logic gates. This is not a recommended style in modern high speed digital design since the delay changes as new devices coming out from more advance process technologies. Also, the amount of delay changes as temperature and voltage as well. So it is not a good design practice to have circuits which relies in gate delay to function. (絕不設(shè)計(jì)依賴gate delay工作的電路. 通過(guò)插入一系列邏輯門在設(shè)計(jì)中引入延遲, 這是以前常見的作法. 而在現(xiàn)代高速數(shù)字設(shè)計(jì)中, 建議不要使用這種作法, 因?yàn)檠舆t會(huì)隨采用更先進(jìn)的工藝技術(shù)所制造的新器件而改變. 而且, 延遲的總量也會(huì)隨溫度和電壓而改變. 因此依賴gate delay而工作的電路不是很好的設(shè)計(jì). )
46. 用FLEX6016設(shè)計(jì)了一個(gè)頻率測(cè)試卡, 用的是ISA總線和計(jì)算機(jī)相連, 不把卡插在ISA槽上時(shí), 由外部提供電源時(shí), 下載就能成功, 一但插上去, 下載就出現(xiàn)“SRAM load unsucessful”, 這是怎么回事呢?
答:導(dǎo)致“SRAM load unsucessful”可能有各方面的原因. 基于板子由外部供電是可以下載成功, 說(shuō)明下載電路是正確的; 而插入ISA槽中則出現(xiàn)問(wèn)題, 可能是ISA槽供電有問(wèn)題, 可以檢查一下芯片的電源信號(hào), ISA與外部供電是否采用一致的電路, 檢查ISA供電環(huán)境, 是否存在毛刺, 電源紋波的大小.
47. 想把EPM712和TMS320F240做在一塊實(shí)驗(yàn)板上, 但是不知道怎么設(shè)計(jì)仿真口對(duì)EPM7128編程?還是必須買廠家的EPM7128開發(fā)板?
答:可以參考AN116的下載數(shù)據(jù)手冊(cè), 按照其中的下載原理圖來(lái)連接DSP與PLD的下載口. 下載電路其實(shí)非常的簡(jiǎn)單, 只需按照7128的下載波形, 從DSP中將PLD 的下載文件依此輸入即可. 當(dāng)然也可以從當(dāng)?shù)卮砩棠抢铽@得支持, 參考一些典型下載電路.
48. 想自己設(shè)計(jì)一塊TMS320F240試驗(yàn)電路板, 包括A/D、D/A、鍵盤顯示接口, 其中譯碼、鍵盤顯示部分想用EPM7128來(lái)做, 不知道具體怎么與TMS320F240接口?
答:所謂PLD為可編程器件, 其IO口的連接非常地靈活, IO 口的功能可以按照自己的定義來(lái)設(shè)定. 只需將希望的TMS320F240連接口連接到PLD的任意IO口上, 然后在PLD中編寫相應(yīng)的控制邏輯, 即可進(jìn)行數(shù)據(jù)傳輸與控制.
49. 變頻器盤中使用一芯片是ALTERA EP330PC-12燒壞, 請(qǐng)問(wèn)如何處理?
答:這是一款舊型號(hào)的芯片. 可以利用ALTERA或第三方提供的編成器將下載文件重新下載到一個(gè)好的器件中去, 或者采用MAXPLUSII軟件通過(guò)BYTEBLAST(MV)連接到板子上將編成文件讀出再下載到新的器件中去.
50. SRFF = SR flipflop SRFF和SR latch有何區(qū)別?
答:FUNCTION SRFF (S, R, CLK, CLRN, PRN) RETURNS (Q);
//VHDL Component Declaration:
COMPONENT SRFF
PORT (s : IN STD_LOGIC;
r : IN STD_LOGIC;
clk : IN STD_LOGIC;
clrn: IN STD_LOGIC;
prn : IN STD_LOGIC;
q : OUT STD_LOGIC);
END COMPONENT;
FUNCTION LATCH (D, ENA)
RETURNS (Q);
//VHDL Component Declaration:
COMPONENT LATCH
PORT (d : IN STD_LOGIC;
ena: IN STD_LOGIC;
q : OUT STD_LOGIC);
END COMPONENT;
不同點(diǎn)在于SRFF是一個(gè)觸發(fā)器, 而LATCH只是一個(gè)鎖存器, 更詳細(xì)的真值表可以從軟件的HELP文檔中可以查到.
51. 想在內(nèi)部上拉輸入信號(hào), 所使用的設(shè)備是FLEX6016. 怎么做?
答:可以在MAXPLUSII中選定該信號(hào), 然后選擇assign-> logic option->Individual logic options -> Enable pull-up resistor. 然后重新編譯一下就可以了.
52. 有關(guān)輸入信號(hào)的上拉問(wèn)題(前題), 按照專家的回答做過(guò), 但是失敗了, 不知道是什么原因?qū)е铝舜朔ú豢尚??還有沒有別的辦法?
答:Altera的FLEX6000系列在I/O管腳上是沒有上下拉電阻的, 所以加了約束也沒有作用.
53. 使用AHDL語(yǔ)言編寫的程序. 在Quartus II 1. 0下編譯, 使用的是20K400EBC652-3的片子. 將編譯產(chǎn)生的pof文件下載到EPROM里, 但是在程序沒有多大修改的情況下(僅僅改變一些測(cè)試管腳), 程序運(yùn)行結(jié)果不一樣. 具體表現(xiàn)在DSP芯片啟動(dòng)FPGA里的一根控制線不穩(wěn).
答:邏輯功能仿真結(jié)果如何?在修改前后有沒有改變?假如說(shuō)功能仿真是對(duì)的, 請(qǐng)確認(rèn)設(shè)計(jì)Timing是否滿足要求, 尤其是IO的Timing 要求是否達(dá)到. 在可能的情況下進(jìn)行后仿真, 其仿真結(jié)果能夠確保你的邏輯在PCB板上正常地工作. 假如仿真結(jié)果與Timing要求都沒有問(wèn)題, 其邏輯一定能在板子上正常地工作.
54. 當(dāng)一個(gè)輸入信號(hào)不滿足觸發(fā)器的Setup/Hold時(shí)間時(shí), 觸發(fā)器的輸出信號(hào)是不是一穩(wěn)定狀態(tài)(或?yàn)?, 或?yàn)?, 當(dāng)下一次的輸入信號(hào)滿足Setup/Hold時(shí)間時(shí), 觸發(fā)器能正確地輸出)?由于此時(shí)觸發(fā)器處于亞穩(wěn)態(tài), 以前看過(guò)一些資料, 某些器件的輸出可能是振蕩狀態(tài), 即此時(shí)、將來(lái)的輸出信號(hào)不可預(yù)測(cè), 與時(shí)鐘信號(hào)、輸入信號(hào)無(wú)關(guān). 我想問(wèn)的是Altera器件對(duì)此情況是如何處理?因?yàn)槟承┣闆r下, 當(dāng)輸入信號(hào)超過(guò)1個(gè)Clk時(shí)間, 只是在第一個(gè)Clk周期內(nèi), 不滿足Setup/Hold, 但是其他的Clk周期內(nèi), 滿足Setup/Hold.
答:關(guān)于這個(gè)問(wèn)題, 建議參考一下ALTERA的文檔AN42. 該文檔詳細(xì)地討論了ALTERA器件的亞穩(wěn)態(tài)性. 網(wǎng)上的地址是http://www. altera. com/literature/an/an042. pdf.
55. 在中國(guó)市場(chǎng)上, 可以容易買到使用Altera公司的軟件MAX+PlussII進(jìn)行VHDL和FPGA設(shè)計(jì)的教程書籍, 但是卻鮮有使用Xilinx foundation軟件平臺(tái)的書籍, Xilinx是否考慮增強(qiáng)這方面內(nèi)容?
答:Thank you for your input. In fact there are a number of books available in the market on Xilinx FPGA and development tools. A good example is the title XILINX 數(shù)字系統(tǒng)集成技術(shù) by Professor 朱明程, published by Southeast University Press. We will work closely with local publishers to bring out more titles on Xilinx products. (市場(chǎng)上還是有幾本Xilinx FPGA和開發(fā)工具的書. 比較好的有朱明程教授編的《XILINX 數(shù)字系統(tǒng)集成技術(shù)》, 東南大學(xué)出版社出版. Xilinx公司也將會(huì)與本地出版商密切合作, 推出更多針對(duì)Xilinx產(chǎn)品的書籍. )
56. 在ISE4. 1環(huán)境下編寫一個(gè)包結(jié)構(gòu), 里面有幾個(gè)函數(shù), 編譯通過(guò), 而MODELSIM 仿真出錯(cuò), 提示:沒有找到此PACKAGE, 為什么?
答:After you have created the package, you need to add it to your project. In the source window, right click and select Add source, pick the source file for your vhdl package, and then select Vhdl package. The package will then be added to your ISE project. (參考譯文:創(chuàng)建了這個(gè)包之后, 需要將它添加到項(xiàng)目中. 在源代碼窗口, 右鍵單擊并選擇“Add source”, 為vhdl包選擇源文件, 然后選“Vhdl package”. 這個(gè)包就添加到ISE項(xiàng)目中了. )
57. 布板時(shí), 時(shí)鐘信號(hào)沒有接全局時(shí)鐘, 如何處理時(shí)鐘使之可以更好(不需飛線)?
答:You can bring the signal back to the global clock network by inserting a BUFG. (參考譯文:可以通過(guò)插入一個(gè)BUFG將一個(gè)信號(hào)返回全局時(shí)鐘網(wǎng)絡(luò). )
58. 準(zhǔn)備使用XCV50 FPGA, 前面有16個(gè)模塊, 本來(lái)每個(gè)模塊都須要一個(gè)27M的時(shí)鐘, 為了達(dá)到同步, 初步設(shè)想外部接一個(gè)27M時(shí)鐘, 最后由FPGA產(chǎn)生16個(gè)27M的時(shí)鐘輸出, 這樣做驅(qū)動(dòng)會(huì)不會(huì)有問(wèn)題?
答:A possible way is to feed your 27MHz input clock to a DLL. The output of the DLL drives multiple OBUF. In this way you can create multiple copies of your input clock to drive other components on your board. You don't actually need 16 OBUFs since each OBUF can drive several loads. Note that although the DLL output can drive multiple OBUF, only the one which provides feedback to the DLL can be completely deskewed. You can also add a MAXSKEW constraint on the output net of the DLL to minimize skew among the OBUFs. This may not be a big issue since 27MHz is relatively slow. (參考譯文:可能的方法是將27MHz輸入時(shí)鐘傳遞給DLL. DLL輸出驅(qū)動(dòng)多重OBUF. 用這種方法可以創(chuàng)建輸入時(shí)鐘的多個(gè)副本以驅(qū)動(dòng)板子上的其它組件. 實(shí)際上, 不需要16個(gè)OBUF, 因?yàn)槊總€(gè)OBUF都可以驅(qū)動(dòng)幾個(gè)負(fù)載. 請(qǐng)注意, 雖然DLL輸出能驅(qū)動(dòng)多個(gè)OBUF, 但只有那個(gè)向DLL提供反饋的OBUF可以完全對(duì)稱(deskewed)的. 也可以在DLL的輸出量上添加MAXSKEW限制, 以最小化OBUF間的偏斜. 因?yàn)?7MHz相對(duì)比較慢, 所以問(wèn)題不大. )
For more information regarding the use of DLL, please refer to the application note XAPP132 which can downloaded from the xilinx websitewww. xilinx. com(關(guān)于DLL的使用, 請(qǐng)參考XAPP132的應(yīng)用手冊(cè). )
59. IP CAPTION 就是核發(fā)生器, 它運(yùn)行在核發(fā)生器目錄下嗎?
答:I think you mean IP Capture. The IP Capture tool provides designers with an automated method to identify, capture, and document a core. The core can exist in the form of synthesizable VHDL or Verilog code, or a fixed function netlist. Once the new module has been captured, it can be installed into and distributed from a user's local copy of the Xilinx CORE Generator system. (參考譯文:所指的應(yīng)該是IP Capture吧. IP Capture工具為設(shè)計(jì)者提供了自動(dòng)識(shí)別、捕獲和歸檔核的方法. 核可以綜合VHDL或Verilog碼, 或固定功能連接表的形式存在. 一旦捕獲了新模塊, 就能夠?qū)⒑搜b入, 并從用戶的本機(jī)Xilinx CORE Generator副本中分配此核. )
Details of the IP Capture tools can be found from Xilinx website . http://www. xilinx. com/page_moved/ipcenter_e. htm?url=/ipcenter/designreuse/ipic. htm(有關(guān)IP Capture工具的詳細(xì)資料, 請(qǐng)?jiān)L問(wèn)相關(guān)網(wǎng)站. )
60. 制作了一塊試驗(yàn)板, CPLD使用EPF10K20TI144-4. 用max+plus II 10. 1編程, 完成后, 下載至片子內(nèi), 經(jīng)過(guò)幾次下載嘗試(一直提示configuration failure: SRAM load unsucessful), 直至提示“configuration complete”——這應(yīng)該是表示下載成功吧, 可是片子卻無(wú)法實(shí)現(xiàn)任何功能(連最基本的一個(gè)或門都無(wú)法實(shí)現(xiàn))——不起任何作用, 我使用TQFP-144的適配座放置EPF10K20TI144. 現(xiàn)在有幾個(gè)問(wèn)題:
① 編譯前選擇的是EPF10K20TC144-3芯片(max+plus II的器件庫(kù)中沒有EPF10K20TI144-4), 有沒有關(guān)系?也用EPF10K10TC144-4試過(guò), 也是可以下載但無(wú)法實(shí)現(xiàn)功能.
② 為什么要下載很多次才能成功, 下載線是自己制作的?
③ 將MSEL0、MSEL1、nCE、專用輸入腳、專用時(shí)鐘腳接地, 其它非I/O引腳懸空, 是否還有些引腳需要接地或VCC?
④ 如果因?yàn)門QFP-144適配座一些觸點(diǎn)與CPLD引腳接觸不好導(dǎo)致一些VCCIO, VCCINT、GNDINT、GNDIO或其它一些非I/O引腳懸空, 會(huì)出現(xiàn)什么結(jié)果?
⑤ 如何才能使CPLD實(shí)現(xiàn)功能?
答:根據(jù)描述, 很有可能是加載電路有問(wèn)題, 請(qǐng)參照Altera的AN116文件的加載電路圖仔細(xì)核對(duì), 特別注意和CPU相連的加載控制管腳:
① 編譯芯片選擇與速度等級(jí)無(wú)關(guān);
② 請(qǐng)檢測(cè)conf_done信號(hào)是否拉高;
③ 在常用的PS和JTAG加載模式時(shí)除了MSEL0, MSEL1, nCE, 沒用的專用輸入腳, 專用時(shí)鐘腳應(yīng)該接地 , data0, nconfig, dclk, nstatus, conf_done都應(yīng)該上拉, 這些管腳不上拉很可能是導(dǎo)致你加載不成功的原因;
④ 如果因?yàn)門QFP-144適配座一些觸點(diǎn)與CPLD引腳接觸不好導(dǎo)致一些VCCIO, VCCINT, GNDINT, GNDIO或其它一些非I/O引腳懸空, 會(huì)出現(xiàn)會(huì)出現(xiàn)加載鏈路不通或加載不成功的現(xiàn)象;
⑤ 加載成功后CPLD就能實(shí)現(xiàn)功能.
61. 目前采用SRAM技術(shù)的LUT-based的FPGA仍然占絕對(duì)主流地位, 但是這種FPGA有其天生的缺陷, 請(qǐng)問(wèn)下一代FPGA的構(gòu)架發(fā)展趨勢(shì)怎樣?Altera在這方面有沒有什么新的嘗試?
答:下一代FPGA主要朝著SOPC的方向發(fā)展:
Altera的下一代產(chǎn)品Stratix, 基本單元LE仍然基于LUT結(jié)構(gòu), 但有些大的改變,
① 去掉了傳統(tǒng)的級(jí)聯(lián)鏈(Cascade Chain);
② 進(jìn)位鏈(Carry Chain)由以前的單一1條變?yōu)長(zhǎng)AB Carry-in、Carry-in1、Carry-in0三條;
③ LE的扇出也由2個(gè)變?yōu)榱?個(gè);
④ 觸發(fā)器的控制信號(hào)也更多.
其它方面:
① RAM:一改以前單一2K BITs 或4K BITs的 Memory為小RAM:512BITs; 中RAM:4KBITs;大RAM:512 KBITs;
② 第一次在FPGA中嵌入DSP;
③ 時(shí)鐘鏈路也由全局時(shí)鐘變?yōu)槿謺r(shí)鐘和區(qū)域全局時(shí)鐘;
④ . . . . . .
所有的這些變化都是通過(guò)大量的用戶反饋信息作出的慎重改進(jìn), 使的Stratix器件更加適合用戶的設(shè)計(jì)需求
62. 能否提供7128的下載波形、DSP與PLD的典型下載電路?
答:7128的下載波形與PLD的典型下載電路在Altera應(yīng)用文檔AN95里有詳細(xì)的說(shuō)明.
63. Always use fully synchronous design. You never need to reply on gate delay if your design is fully synchronous. 如果設(shè)計(jì)是完全同步的, 意思是就可以不用依靠門延時(shí). 但在設(shè)計(jì)時(shí), 在對(duì)和數(shù)據(jù)一同進(jìn)來(lái)的控制信號(hào)進(jìn)行處理后所產(chǎn)生的輸出控制信號(hào)會(huì)滯后數(shù)據(jù)數(shù)個(gè)時(shí)鐘周期, 這時(shí)就不得不對(duì)數(shù)據(jù)進(jìn)行門延時(shí), 已達(dá)到同步. 現(xiàn)在看來(lái), 這是不合適的. 但是, 要用什么辦法來(lái)處理這個(gè)問(wèn)題而不應(yīng)用門延時(shí)呢?
答:In a fully synchronous design, you only have 3 kinds of paths(在完全同步設(shè)計(jì)中, 只有三種途徑:)
① From I/O to synchronous element. (從I/O到同步元素)
② From synchronous element to synchronous element. (從同步元素到同步元素).
③ From synchronous element to I/O. (從同步元素到I/O)
A fully synchronous design will work as long as the delays of all these paths do not exceed the clock period. So you never need to introduce any delay. If you derive any control signal from the input signals, that control signal only goes to the 'D' or 'EN' pin of a FF, but not the 'CLK' pin. So there is no need to introduce any delay to your data. Simply speaking, you only need to design the data path but not the clock path in a fully synchrous design.
On the other hand, you can remove clock delay with the DLL in Xilinx SpartanII/Virtex devices or the DCM in VirtexII devices. (完全同步設(shè)計(jì)將工作到所有這些路徑的延遲不超過(guò)時(shí)鐘期間. 因此從不需要傳入任何延遲. 如果從輸入信號(hào)中得到任何控制信號(hào), 則該控制信號(hào)只能傳遞至FF的D或EN引腳, 而不是CLK引腳. 因此, 不需要將任何延遲傳入數(shù)據(jù). 簡(jiǎn)單講, 在完全同步設(shè)計(jì)中, 只需設(shè)計(jì)“數(shù)據(jù)”路徑, 而不是“時(shí)鐘”路徑. )
64. ISE4. 2I可對(duì)某些特殊管腳設(shè)置內(nèi)部上拉, 那么外部是不是就可以不必再加上拉電阻了?另外, 配置過(guò)程中, 所有的用戶I/O是否均為三態(tài)? VIRTEX2的HSWAP_EN應(yīng)接何電平?為什么?
答:Whether you need to add external pullup resistors depends on your board design. Usually external pullup resistors are required under the following conditions((參考譯文:是否需要添加外部上拉電阻取決于電路板設(shè)計(jì). 通常在以下條件下需要外部上拉電阻:)
- You need precise pullup values. The pullup built into the IOB is not specified to a precise resistive value since it values from batch to batch. (需要精確的上拉值. 因?yàn)閕t values from batch to batch, 所以然內(nèi)置入IOB的上拉未指定精確電阻值. )
- You need strong pull-up strength. The IOB pullup is relatively weak - in the order of several tens of KOhms. (需要強(qiáng)大的上拉動(dòng)力. IOB上拉相對(duì)較弱, 只有數(shù)十千歐)
If you only want to prevent the board signal from floating, external pullup is usually not required.
You need to refer to the datasheet of the corresponding FPGA series to determine the state of the I/O during configuration. As an example, I/O pins of Virtex-E and Spartan-IIE behave as tri-state beore configuration. The HSWAP_EN pin on Xilinx Virtex-II is for enabling/disabling pullups on the user I/O pins during configuration. By default, HSWAP_EN is tied high (internal pullup resistor) which turn off pullup resistors on user I/O during configuration. (如果只想阻止板信號(hào)浮動(dòng), 通常不需要外部上拉. 需要參考相應(yīng)的FPGA系列的參數(shù)表, 以確定配置過(guò)程中I/O的狀態(tài). 例如, Virtex-E和Spartan-IIE的I/O引腳在配置以前是三態(tài)的. 配置過(guò)程中, Xilinx Virtex-II 上的HSWAP_EN引腳用于啟用/禁用用戶I/O引腳上的上拉. 缺省情況下, HSWAP_EN系有較高內(nèi)部上拉電阻, 用于在配置期間關(guān)閉用戶I/O上的上拉電阻).
65. 自頂向下的設(shè)計(jì)過(guò)程是什么樣的一種過(guò)程?我的理解是在設(shè)計(jì)開始時(shí), 利用vhdl或verilog中的延遲描述語(yǔ)言在功能和波形上進(jìn)行仿真描述, 而后進(jìn)行rtl設(shè)計(jì). . . . 是否是這樣的一個(gè)過(guò)程?
答:By top down design we usually mean you partition the top level design into a number of modules first, without going into details of each of those modules. Then you start to design each module, which may involves defining more underlying submodules. The process stops when you have designed all the underlying submodules. The basic idea is to build a hierarchy which starts with less details on the top and more details as you go down the hierarchy. (參考譯文:我們所謂的自頂向下設(shè)計(jì)通常是指:先將頂級(jí)設(shè)計(jì)劃分為多個(gè)模塊, 而不涉及這些模塊的細(xì)節(jié). 然后開始設(shè)計(jì)每個(gè)模塊, 可能包括定義更多底層子模塊. 當(dāng)設(shè)計(jì)完成所有底層子模塊后, 這個(gè)過(guò)程即完成. 基本思路是建立一個(gè)層次結(jié)構(gòu), 從頂部粗略劃分開始, 越向下層越詳細(xì). )
66. HSWAP_EN推薦接高還是低, 為什么?
答:There is no definite answer to this - it depends on whether you want the user I/Os to have pull up resistors during configurations. Therefore it is design dependent. (參考譯文:沒有定論. 高還是低取決于配置過(guò)程中是否要使用者I/O具有上拉電阻. 因此因設(shè)計(jì)而定. )
67. 用ISE做過(guò)很多的設(shè)計(jì), 但是ISE中的help對(duì)設(shè)計(jì)說(shuō)的比較詳細(xì), 但是對(duì)Navigator的功能的說(shuō)明不是很好. ISE中有一個(gè)Library_view. 當(dāng)你把work庫(kù)中的設(shè)計(jì)move到VHDL或VERILOG中, 這時(shí)就會(huì)在library_view的窗口中看到. 但是什么用也沒有呀. VHDL里用library ****; use *** 不行. veriloghdl里用`include也不行. 還不如直接在work中的一個(gè)package. 什么時(shí)候用到library_view中的功能?
答:The proper method to create and use library within ISE is (正確的方法是創(chuàng)建并使用ISE中的庫(kù), 過(guò)程如下:)
① Click Project->New Source and select VHDL library. (單擊Project->New Source 然后選擇 VHDL 庫(kù))
② Enter a name for the new library and click Next, then Finish. The new library is now visiable in the Library View tab. (為新的庫(kù)輸入名稱, 然后單擊Next-> Finish. 新的庫(kù)即出現(xiàn)在Library View標(biāo)簽上. )
③ In the library view tab, right click on the new library and then click Add Sources. (在庫(kù)查看標(biāo)簽中, 右鍵單擊新庫(kù), 然后單擊Add Sources)
④ Choose the sources you want to add to the library. (選擇要添加到庫(kù)的源)
⑤ You can then use this library in your source codes. For example (然后可以在源代碼中使用這個(gè)庫(kù). 例如:)
library MyLib;
use MyLib. MyPkg. all;
. . . . .
Please refer to p. 5-14 to 5-17 of the ISE User Guide which is included in the ISE Documentation CD for more details. (詳情請(qǐng)參閱ISE文檔說(shuō)明光盤中的ISE User Guide 5-14至5-17)
68. 利用器件的IBIS模型能否對(duì)器件的功能進(jìn)行仿真?
答:IBIS models provide information about I/O driver and receiver characteristics without disclosing proprietary knowledge of the IC design (as unencrypted SPICE models do). You need to have an IBIS simulator in order to use the IBIS model. It is not for logic simulation like vhdl or verilog models do. (參考譯文:IBIS模型提供有關(guān)I/O驅(qū)動(dòng)器和接收器特征的信息, 而不會(huì)透露IC設(shè)計(jì)的所有權(quán)信息, 這和未加密的SPICE模型一樣. 為了使用IBIS模型, 需要有一個(gè)IBIS模擬器. 像vhdl或verilog模型一樣, 它不是適用于邏輯仿真. )
69. 用modelsim后仿真時(shí)需要用到XILINX的庫(kù), 下載了XILINX網(wǎng)址提供的TCL文件, 按照要求在AUTOEXEC. BAT中設(shè)置了SET MODELSIM=****, 重啟了機(jī)器, 在MODELSIM下運(yùn)行了TCL文件, 選項(xiàng)為VERILOG, simprim, 可是MODELSIM 還是報(bào)找不到庫(kù), 為什么?所用ISE版本為ISE4. 1I.
答:The tcl script is for compiling the Xilinx libraries with Modelsim. After you've compile the libraries, you need to vmap them when you simulate your design. For example, if the physical path to your compiled simprim library is d:/xilinx_sim_model/simprim, you need to map simprim to the full path by typing vmap simprim d:/xilinx_sim_model/simprim at the Modelsim command prompt. Then you can simulate your design by the following command vsim -L simprim (參考譯文件:tcl腳本是為使用Modelsim編譯Xilinx庫(kù)的. 在編譯完庫(kù)之后, 仿真設(shè)計(jì)時(shí)需要vmap這些庫(kù). 例如, 如果指向已編譯的simprim庫(kù)的物理路徑是d:/xilinx_sim_model/simprim, 則需要通過(guò)在Modelsim命令提示處輸入vmap simprim d:/xilinx_sim_model/simprim來(lái)將simprim映射到完整路徑. 然后可以使用命令vsim -L simprim 仿真設(shè)計(jì). )
70. PIN HSWAP_EN的作用是使能或關(guān)閉配置時(shí)I/O管腳上的上拉電阻, 這兩種情況具體有什么不同呢?PCB設(shè)計(jì)時(shí)HSWAP_EN具體如何處理?
答:The Virtex-II HSWAP-EN pin has an internal pull-up by default to turn off the pull-up resistors at the I/O pins during configuration. You need to tie it low externally if you need to activate the pull-up at I/O pins during configuration. (參考譯文:缺省情況下, Virtex-II HSWAP-EN管腳有一個(gè)內(nèi)部上拉電阻, 以在配置期間關(guān)閉I/O管腳上的上拉電阻. 如果在配置過(guò)程中需要激活I(lǐng)/O管腳的上拉電阻, 需要將這個(gè)上拉電阻在表面上約束到較低. )
71. PWRDWN_B是power down pin, 可不可以不連接或上拉?
答:The PWRDWN_B pin was provided to set a Virtex-II device into a power-down mode: a low-power, inactive state. However, this feature is no longer supported in Virtex-II. To set it as inactive, the PWRDWN_B should be left at its default value, which is pulled up. (The PWRDWN_B does not require an external pull-up or pull-down. ). Please refer to Xilinx website for more details. (參考譯文:PWRDWN_B管腳用于將Virtex-II器件設(shè)定為功率下降模式:低功率和不活動(dòng)狀態(tài). 然而Virtex-II中已不再支持這種功能. 要在非活動(dòng)狀態(tài)下設(shè)定它, PWRDWN_B應(yīng)該保留缺省值, 即已上拉. PWRDWN_B不要求外部上拉或下拉. 詳情講參閱Xilinx網(wǎng)站).
72. spartanII不能下載, 顯示done不能拉高, done上上拉電阻已接, 是何原因?
答: Here are my suggestions(有幾點(diǎn)建議:)
-Check if the mode pin is selected correctly. (檢查是否正確選擇了方式管腳).
- Check if you have selected the correct startup clock. If you are using serial mode, you need to use Cclk. If you are using jtag, you
評(píng)論