采用現場可編程門陣列(FPGA)可以快速實現數字電路,但是用于生成FPGA編程的比特流文件的CAD工具在編制大規模電路時常常需要數小時的時間,以至于許多設計者甚至通過在給定FPGA上采用更多的資源,或者以犧牲電路速度為代價來提高編制速度。電路編制過程中大部分時間花費在布線階段,因此有效的布線算法能極大地減少布線時間。 許多布線算法已經被開發并獲得應用,其中布爾可滿足性(SAT)布線算法及幾何查找布線算法是當前最為流行的兩種。然而它們各有缺點:基于SAT的布線算法在可擴展性上有很大缺陷;幾何查找布線算法雖然具有廣泛的拆線重布線能力,但當實際問題具有嚴格的布線約束條件時,它在布線方案的收斂方面存在很大困難。基于此,本文致力于探索一種能有效解決以上問題的新型算法,具體研究工作和結果可歸納如下。 1、在全面調查FPGA結構的最新研究動態的基礎上,確定了一種FPGA布線結構模型,即一個基于SRAM的對稱陣列(島狀)FPGA結構作為研究對象,該模型僅需3個適合的參數即能表示布線結構。為使所有布線算法可在相同平臺上運行,選擇了美國北卡羅來納州微電子中心的20個大規模電路作為基準,并在布線前采用VPR399對每個電路都生成30個布局,從而使所有的布線算法都能夠直接在這些預制電路上運行。 2、詳細研究了四種幾何查找布線算法,即一種基本迷宮布線算法Lee,一種基于協商的性能驅動的布線算法PathFinder,一種快速的時延驅動的布線算法VPR430和一種協商A
上傳時間: 2013-05-18
上傳用戶:ukuk
用于FPGA的N+0.5分頻代碼,可以用來進行非整數分頻!
上傳時間: 2013-08-06
上傳用戶:weixiao99
在FPGA上實現的出租車計價器VHDL源代碼\r\n能實現里程計價、誤時計價等功能
上傳時間: 2013-08-13
上傳用戶:18888888888
在這里可以進行工作環境、界面和顯示效果的一些設定,執行菜單\r\nSetup>User Preferences出現下面窗體,因為這里涉及的內容比較多,而且很多功\r\n能都很少用到,所以下面只針對一些常用設置作介紹。
標簽: Preference Allegro User
上傳時間: 2013-09-06
上傳用戶:lbbyxmoran
1.數據管理:包括司機基本信息、汽車基本信息、車輛事故信息、車輛維修信\r\n息等的管理;\r\n2.派車運營記錄管理:登記派車的情況、進行派車修改;\r\n來確定庫存是否有需要的車型,為賣車做好準備;\r\n3.查詢管理:能夠根據車輛編號和派車日期查詢當日的派車情況,并能進行統\r\n計派車次數等;\r\n 4.系統管理:用戶管理和系統退出等。\r\n
上傳時間: 2013-09-09
上傳用戶:wanqunsheng
功能簡介 虛儀聲卡萬用儀是一個功能強大的基于個人電腦的虛擬儀器。它由聲卡實時雙蹤示波器、聲卡實時雙蹤頻譜分析儀和聲卡雙蹤信號發生器組成,這三種儀器可同時使用。本儀器內含一個獨特設計的專門適用于聲卡信號采集的算法,它能連續監視輸入信號,只有當輸入信號滿足觸發條件時,才采集一幀數據,即先觸發后采集,因而不會錯過任何觸發事件。這與同類儀器中常用的先采集一長段數據,然后再在其中尋找觸發點的方式,即先采集后觸發,截然不同。因此本儀器能達到每秒50幀的快速屏幕刷新率,從而實現了真正的實時信號采集、分析和顯示。本儀器還支持各種復雜的觸發方式包括超前觸發和延遲觸發。 虛儀聲卡萬用儀發揮了以電腦屏幕作為顯示的虛擬儀器的優點,支持圖形顯示的放大和滾動,并將屏幕的絕大部分面積用于數據顯示,使您能夠深入研究被測信號的任何細節。而市面上有些同類儀器則在人機界面上過分追求“形”似,將傳統儀器的面板簡單地模擬到電腦屏幕上,占用了大量寶貴的屏幕資源,僅留下較小面積供數據顯示用。 虛儀聲卡萬用儀提供了一套完整的信號測試與分析功能,包括:雙蹤波形、波形相加、波形相減、李莎如圖、電壓表、瞬態信號捕捉、RMS絕對幅度譜、相對幅度譜、八度分析(1/1、1/3、1/6、1/12、1/24)、THD、THD+N、SNR、SINAD、頻率響應、阻抗測試、相位譜、自相關函數、互相關函數、函數發生器、任意波形發生器、白噪聲發生器、粉紅噪聲發生器、多音合成發生器和掃頻信號發生器等。 虛儀聲卡萬用儀將采集到的數據和分析后的數據保存為標準的WAV波形文件或TXT文本文件。它也支持WAV波形文件的輸入和BMP圖像文件的輸出和打印。支持24比特采樣分辨率。支持WAV波形文件的合并和數據抽取。
上傳時間: 2013-10-25
上傳用戶:silenthink
【摘要】電力直流系統是變電站安全運行的基礎,隨著變電站數字化、智能化程度的不斷提高,對站用電源的管理也提出了新的、更高的要求。而管理的的基礎,就是設備能準確、高速的反應當前設備的電壓、電流、開關狀態等信息。做到設備不死機,不停機,干擾不誤報等。隨著微電子技術、計算機和通訊技術的飛速發展,新器件的研制、生產周期的日益縮短。為了滿足工業自動化,新技術、新器件不斷應用到新產品中。模擬量采集包括直流電壓和電流。開關量采集包括開關的分合,繼電器的投入切除等。
上傳時間: 2013-11-02
上傳用戶:陽光少年2016
【摘要】目前城市的公交車一般都安裝了語音報站系統,給乘客帶來了很好的乘車體驗。不過大部分的語音報站系統是人工報站系統,需要司機在車子進出站時進行人工操作。而且在進出站時路況比較復雜,司機需要分散注意力操作系統,給車子的行駛帶來了很大的安全隱患。本設計利用Atmel公司的AT89C51單片機來設計一個公交語音自動報站系統。用JHD162ALCD來提供站臺信息的顯示;用ISD1700系列語音芯片來對語音進行各種操作控制;并使用DF無線收發模塊及PT2262、PT2272編解碼芯片來實現信號的無線收發與識別。最后通過AT89C51對各個模塊的控制實現無線收發與識別、信息顯示及語音報站任務,并利用Proteus軟件進行仿真?!娟P鍵詞】51單片機;ISD1700S語音芯片;DF無線收發模塊;PT2262/PT2272芯片;JHD162A
上傳時間: 2013-11-17
上傳用戶:cicizoe
CANopen協議講座(5)之CANopen從站模塊(XGate-COP10) CANopen協議是在20世紀90年代末,由CiA組織(CAN-in-Automation)在CAL(CAN Application Layer)的基礎上發展而來,一經推出便在歐洲得到了廣泛的認可與應用。經過對CANopen協議規范文本的多次修改,使得CANopen協議的穩定性、實時性、抗干擾性都得到了進一步的提高。并且CiA在各個行業不斷推出設備子協議,使CANopen協議在各個行業得到更快的發展與推廣。目前CANopen協議已經在運動控制、車輛工業、電機驅動、工程機械、船舶海運等行業得到廣泛的應用。
上傳時間: 2013-11-14
上傳用戶:yare
at91rm9200啟動過程教程 系統上電,檢測BMS,選擇系統的啟動方式,如果BMS為高電平,則系統從片內ROM啟動。AT91RM9200的ROM上電后被映射到了0x0和0x100000處,在這兩個地址處都可以訪問到ROM。由于9200的ROM中固化了一個BOOTLOAER程序。所以PC從0X0處開始執行這個BOOTLOAER(準確的說應該是一級BOOTLOADER)。這個BOOTLOER依次完成以下步驟: 1、PLL SETUP,設置PLLB產生48M時鐘頻率提供給USB DEVICE。同時DEBUG USART也被初始化為48M的時鐘頻率; 2、相應模式下的堆棧設置; 3、檢測主時鐘源(Main oscillator); 4、中斷控制器(AIC)的設置; 5、C 變量的初始化; 6、跳到主函數。 完成以上步驟后,我們可以認為BOOT過程結束,接下來的就是LOADER的過程,或者也可以認為是裝載二級BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、連接在外部總線上的8位并行FLASH的順序依次來找合法的BOOT程序。所謂合法的指的是在這些存儲設備的開始地址處連續的存放的32個字節,也就是8條指令必須是跳轉指令或者裝載PC的指令,其實這樣規定就是把這8條指令當作是異常向量表來處理。必須注意的是第6條指令要包含將要裝載的映像的大小。關于如何計算和寫這條指令可以參考用戶手冊。一旦合法的映像找到之后,則BOOT程序會把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超過16K-3K的大小。當BOOT程序完成了把合法的映像搬到SRAM的任務以后,接下來就進行存儲器的REMAP,經過REMAP之后,SRAM從映設前的0X200000地址處被映設到了0X0地址并且程序從0X0處開始執行。而ROM這時只能在0X100000這個地址處看到了。至此9200就算完成了一種形式的啟動過程。如果BOOT程序在以上所列的幾種存儲設備中找到合法的映像,則自動初始化DEBUG USART口和USB DEVICE口以準備從外部載入映像。對DEBUG口的初始化包括設置參數115200 8 N 1以及運行XMODEM協議。對USB DEVICE進行初始化以及運行DFU協議?,F在用戶可以從外部(假定為PC平臺)載入你的映像了。在PC平臺下,以WIN2000為例,你可以用超級終端來完成這個功能,但是還是要注意你的映像的大小不能超過13K。一旦正確從外部裝載了映像,接下來的過程就是和前面一樣重映設然后執行映像了。我們上面講了BMS為高電平,AT91RM9200選擇從片內的ROM啟動的一個過程。如果BMS為低電平,則AT91RM9200會從片外的FLASH啟動,這時片外的FLASH的起始地址就是0X0了,接下來的過程和片內啟動的過程是一樣的,只不過這時就需要自己寫啟動代碼了,至于怎么寫,大致的內容和ROM的BOOT差不多,不同的硬件設計可能有不一樣的地方,但基本的都是一樣的。由于片外FLASH可以設計的大,所以這里編寫的BOOTLOADER可以一步到位,也就是說不用像片內啟動可能需要BOOT好幾級了,目前AT91RM9200上使用較多的bootloer是u-boot,這是一個開放源代碼的軟件,用戶可以自由下載并根據自己的應用配置??偟恼f來,筆者以為AT91RM9200的啟動過程比較簡單,ATMEL的服務也不錯,不但提供了片內啟動的功能,還提供了UBOOT可供下載。筆者寫了一個BOOTLODER從片外的FLASHA啟動,效果還可以。 uboot結構與使用uboot是一個龐大的公開源碼的軟件。他支持一些系列的arm體系,包含常見的外設的驅動,是一個功能強大的板極支持包。其代碼可以 http://sourceforge.net/projects/u-boot下載 在9200上,為了啟動uboot,還有兩個boot軟件包,分別是loader和boot。分別完成從sram和flash中的一級boot。其源碼可以從atmel的官方網站下載。 我們知道,當9200系統上電后,如果bms為高電平,則系統從片內rom啟動,這時rom中固化的boot程序初始化了debug口并向其發送'c',這時我們打開超級終端會看到ccccc...。這說明系統已經啟動,同時xmodem協議已經啟動,用戶可以通過超級終端下載用戶的bootloader。作為第一步,我們下載loader.bin.loader.bin將被下載到片內的sram中。這個loder完成的功能主要是初始化時鐘,sdram和xmodem協議,為下載和啟動uboot做準備。當下載了loader.bin后,超級終端會繼續打印:ccccc....。這時我們就可以下在uboot了。uboot將被下載到sdram中的一個地址后并把pc指針調到此處開始執行uboot。接著我們就可以在終端上看到uboot的shell啟動了,提示符uboot>,用戶可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了對內存、flash、網絡、系統啟動等一些命令。 如果系統上電時bms為低電平,則系統從片外的flash啟動。為了從片外的flash啟動uboot,我們必須把boot.bin放到0x0地址出,使得從flash啟動后首先執行boot.bin,而要少些boot.bin,就要先完成上面我們講的那些步驟,首先開始從片內rom啟動uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz燒寫到flash中的目的,假如我們已經啟動了uboot,可以這樣操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系統復位,就可以看到系統先啟動boot,然后解壓縮uboot.gz,然后啟動uboot。注意,這里uboot必須壓縮成.gz文件,否則會出錯。 怎么編譯這三個源碼包呢,首先要建立一個arm的交叉編譯環境,關于如何建立,此處不予說明。建立好了以后,分別解壓源碼包,然后修改Makefile中的編譯器項目,正確填寫你的編譯器的所在路徑。 對loader和boot,直接make。對uboot,第一步:make_at91rm9200dk,第二步:make。這樣就會在當前目錄下分別生成*.bin文件,對于uboot.bin,我們還要壓縮成.gz文件。 也許有的人對loader和boot搞不清楚為什么要兩個,有什么區別嗎?首先有區別,boot主要完成從flash中啟動uboot的功能,他要對uboot的壓縮文件進行解壓,除此之外,他和loader并無大的區別,你可以把boot理解為在loader的基礎上加入了解壓縮.gz的功能而已。所以這兩個并無多大的本質不同,只是他們的使命不同而已。 特別說名的是這三個軟件包都是開放源碼的,所以用戶可以根據自己的系統的情況修改和配置以及裁減,打造屬于自己系統的bootloder。
上傳時間: 2013-10-27
上傳用戶:wsf950131