FSM 分兩大類:米里型和摩爾型。 組成要素有輸入(包括復(fù)位),狀態(tài)(包括當(dāng)前狀態(tài)的操作),狀態(tài)轉(zhuǎn)移條件,狀態(tài)的輸出條件。 設(shè)計(jì)FSM 的方法和技巧多種多樣,但是總結(jié)起來(lái)有兩大類:第一種,將狀態(tài)轉(zhuǎn)移和狀態(tài)的操作和判斷等寫(xiě)到一個(gè)模塊(process、block)中。另一種是將狀態(tài)轉(zhuǎn)移單獨(dú)寫(xiě)成一個(gè)模塊,將狀態(tài)的操作和判斷等寫(xiě)到另一個(gè)模塊中(在Verilog 代碼中,相當(dāng)于使用兩個(gè)“always” block)。其中較好的方式是后者。其原因 如下: 首先FSM 和其他設(shè)計(jì)一樣,最好使用同步時(shí)序方式設(shè)計(jì),好處不再累述。而狀態(tài)機(jī)實(shí)現(xiàn)后,狀態(tài)轉(zhuǎn)移是用寄存器實(shí)現(xiàn)的,是同步時(shí)序部分。狀態(tài)的轉(zhuǎn)移條件的判斷是通過(guò)組合邏輯判斷實(shí)現(xiàn)的,之所以第二種比第一種編碼方式合理,就在于第二種編碼將同步時(shí)序和組合邏輯分別放到不同的程序塊(process,block) 中實(shí)現(xiàn)。這樣做的好處不僅僅是便于閱讀、理解、維護(hù),更重要的是利于綜合器優(yōu)化代碼,利于用戶添加合適的時(shí)序約束條件,利于布局布線器實(shí)現(xiàn)設(shè)計(jì)。顯式的 FSM 描述方法可以描述任意的FSM(參考Verilog 第四版)P181 有限狀態(tài)機(jī)的說(shuō)明。兩個(gè) always 模塊。其中一個(gè)是時(shí)序模塊,一個(gè)為組合邏輯。時(shí)序模塊設(shè)計(jì)與書(shū)上完全一致,表示狀態(tài)轉(zhuǎn)移,可分為同步與異步復(fù)位。
標(biāo)簽: 狀態(tài)
上傳時(shí)間: 2015-01-02
上傳用戶:aa17807091
設(shè)計(jì)工程師通常在FPGA上實(shí)現(xiàn)FIFO(先進(jìn)先出寄存器)的時(shí)候,都會(huì)使用由芯片提供商所提供的FIFO。但是,由于其通用性使得其針對(duì)性變差,某些情況下會(huì)變得不方便或者將增加硬件成本。此時(shí),需要進(jìn)行自行FIFO設(shè)計(jì)。本文提供了一種基于信元的FIFO設(shè)計(jì)方法以供設(shè)計(jì)者在適當(dāng)?shù)臅r(shí)候選用。這種方法也適合于不定長(zhǎng)包的處理。
標(biāo)簽: FPGA FIFO 信元 設(shè)計(jì)方法
上傳時(shí)間: 2013-11-05
上傳用戶:ch3ch2oh
設(shè)計(jì)了一種基于FPGA純硬件方式實(shí)現(xiàn)方向?yàn)V波的指紋圖像增強(qiáng)算法。設(shè)計(jì)采用寄存器傳輸級(jí)(RTL)硬件描述語(yǔ)言(Verilog HDL),利用時(shí)分復(fù)用和流水線處理等技術(shù),完成了方向?yàn)V波指紋圖像增強(qiáng)算法在FPGA上的實(shí)現(xiàn)。整個(gè)系統(tǒng)通過(guò)了Modelsim的仿真驗(yàn)證并在Terasic公司的DE2平臺(tái)上完成了硬件測(cè)試。設(shè)計(jì)共消耗了3716個(gè)邏輯單元,最高處理速度可達(dá)92.93MHz。以50MHz頻率工作時(shí),可在0.5s以內(nèi)完成一幅256×256指紋圖像的增強(qiáng)處理。
標(biāo)簽: FPGA 方向 指紋 圖像增強(qiáng)算法
上傳時(shí)間: 2013-11-06
上傳用戶:rishian
通用陣列邏輯GAL實(shí)現(xiàn)基本門(mén)電路的設(shè)計(jì) 一、實(shí)驗(yàn)?zāi)康?1.了解GAL22V10的結(jié)構(gòu)及其應(yīng)用; 2.掌握GAL器件的設(shè)計(jì)原則和一般格式; 3.學(xué)會(huì)使用VHDL語(yǔ)言進(jìn)行可編程邏輯器件的邏輯設(shè)計(jì); 4.掌握通用陣列邏輯GAL的編程、下載、驗(yàn)證功能的全部過(guò)程。 二、實(shí)驗(yàn)原理 1. 通用陣列邏輯GAL22V10 通用陣列邏輯GAL是由可編程的與陣列、固定(不可編程)的或陣列和輸出邏輯宏單元(OLMC)三部分構(gòu)成。GAL芯片必須借助GAL的開(kāi)發(fā)軟件和硬件,對(duì)其編程寫(xiě)入后,才能使GAL芯片具有預(yù)期的邏輯功能。GAL22V10有10個(gè)I/O口、12個(gè)輸入口、10個(gè)寄存器單元,最高頻率為超過(guò)100MHz。 ispGAL22V10器件就是把流行的GAL22V10與ISP技術(shù)結(jié)合起來(lái),在功能和結(jié)構(gòu)上與GAL22V10完全相同,并沿用了GAL22V10器件的標(biāo)準(zhǔn)28腳PLCC封裝。ispGAl22V10的傳輸時(shí)延低于7.5ns,系統(tǒng)速度高達(dá)100MHz以上,因而非常適用于高速圖形處理和高速總線管理。由于它每個(gè)輸出單元平均能夠容納12個(gè)乘積項(xiàng),最多的單元可達(dá)16個(gè)乘積項(xiàng),因而更為適用大型狀態(tài)機(jī)、狀態(tài)控制及數(shù)據(jù)處理、通訊工程、測(cè)量?jī)x器等領(lǐng)域。ispGAL22V10的功能框圖及引腳圖分別見(jiàn)圖1-1和1-2所示。 另外,采用ispGAL22V10來(lái)實(shí)現(xiàn)諸如地址譯碼器之類的基本邏輯功能是非常容易的。為實(shí)現(xiàn)在系統(tǒng)編程,每片ispGAL22V10需要有四個(gè)在系統(tǒng)編程引腳,它們是串行數(shù)據(jù)輸入(SDI),方式選擇(MODE)、串行輸出(SDO)和串行時(shí)鐘(SCLK)。這四個(gè)ISP控制信號(hào)巧妙地利用28腳PLCC封裝GAL22V10的四個(gè)空腳,從而使得兩種器件的引腳相互兼容。在系統(tǒng)編程電源為+5V,無(wú)需外接編程高壓。每片ispGAL22V10可以保證一萬(wàn)次在系統(tǒng)編程。 ispGAL22V10的內(nèi)部結(jié)構(gòu)圖如圖1-3所示。 2.編譯、下載源文件 用VHDL語(yǔ)言編寫(xiě)的源程序,是不能直接對(duì)芯片編程下載的,必須經(jīng)過(guò)計(jì)算機(jī)軟件對(duì)其進(jìn)行編譯,綜合等最終形成PLD器件的熔斷絲文件(通常叫做JEDEC文件,簡(jiǎn)稱為JED文件)。通過(guò)相應(yīng)的軟件及編程電纜再將JED數(shù)據(jù)文件寫(xiě)入到GAL芯片,這樣GAL芯片就具有用戶所需要的邏輯功能。 3.工具軟件ispLEVER簡(jiǎn)介 ispLEVER 是Lattice 公司新推出的一套EDA軟件。設(shè)計(jì)輸入可采用原理圖、硬件描述語(yǔ)言、混合輸入三種方式。能對(duì)所設(shè)計(jì)的數(shù)字電子系統(tǒng)進(jìn)行功能仿真和時(shí)序仿真。編譯器是此軟件的核心,能進(jìn)行邏輯優(yōu)化,將邏輯映射到器件中去,自動(dòng)完成布局與布線并生成編程所需要的熔絲圖文件。軟件中的Constraints Editor工具允許經(jīng)由一個(gè)圖形用戶接口選擇I/O設(shè)置和引腳分配。軟件包含Synolicity公司的“Synplify”綜合工具和Lattice的ispVM器件編程工具,ispLEVER軟件提供給開(kāi)發(fā)者一個(gè)簡(jiǎn)單而有力的工具。
上傳時(shí)間: 2013-11-17
上傳用戶:看到了沒(méi)有
第二部分:DRAM 內(nèi)存模塊的設(shè)計(jì)技術(shù)..............................................................143第一章 SDR 和DDR 內(nèi)存的比較..........................................................................143第二章 內(nèi)存模塊的疊層設(shè)計(jì).............................................................................145第三章 內(nèi)存模塊的時(shí)序要求.............................................................................1493.1 無(wú)緩沖(Unbuffered)內(nèi)存模塊的時(shí)序分析.......................................1493.2 帶寄存器(Registered)的內(nèi)存模塊時(shí)序分析...................................154第四章 內(nèi)存模塊信號(hào)設(shè)計(jì).................................................................................1594.1 時(shí)鐘信號(hào)的設(shè)計(jì).......................................................................................1594.2 CS 及CKE 信號(hào)的設(shè)計(jì)..............................................................................1624.3 地址和控制線的設(shè)計(jì)...............................................................................1634.4 數(shù)據(jù)信號(hào)線的設(shè)計(jì)...................................................................................1664.5 電源,參考電壓Vref 及去耦電容.........................................................169第五章 內(nèi)存模塊的功耗計(jì)算.............................................................................172第六章 實(shí)際設(shè)計(jì)案例分析.................................................................................178 目前比較流行的內(nèi)存模塊主要是這三種:SDR,DDR,RAMBUS。其中,RAMBUS內(nèi)存采用阻抗受控制的串行連接技術(shù),在這里我們將不做進(jìn)一步探討,本文所總結(jié)的內(nèi)存設(shè)計(jì)技術(shù)就是針對(duì)SDRAM 而言(包括SDR 和DDR)。現(xiàn)在我們來(lái)簡(jiǎn)單地比較一下SDR 和DDR,它們都被稱為同步動(dòng)態(tài)內(nèi)存,其核心技術(shù)是一樣的。只是DDR 在某些功能上進(jìn)行了改進(jìn),所以DDR 有時(shí)也被稱為SDRAM II。DDR 的全稱是Double Data Rate,也就是雙倍的數(shù)據(jù)傳輸率,但是其時(shí)鐘頻率沒(méi)有增加,只是在時(shí)鐘的上升和下降沿都可以用來(lái)進(jìn)行數(shù)據(jù)的讀寫(xiě)操作。對(duì)于SDR 來(lái)說(shuō),市面上常見(jiàn)的模塊主要有PC100/PC133/PC166,而相應(yīng)的DDR內(nèi)存則為DDR200(PC1600)/DDR266(PC2100)/DDR333(PC2700)。
標(biāo)簽: DRAM 內(nèi)存模塊 設(shè)計(jì)技術(shù)
上傳時(shí)間: 2013-10-18
上傳用戶:宋桃子
X9241概述X9241是XICOR公司生產(chǎn)的、把4個(gè)E2POT數(shù)字電位器集成在單片的CMOS集成電路上的一種數(shù)字電位器。它包含4個(gè)電阻陣列,每個(gè)陣列包含63個(gè)電阻單元,在每個(gè)單元之間和2個(gè)端點(diǎn)之間都有被滑動(dòng)單元訪問(wèn)的抽頭點(diǎn)。滑動(dòng)單元在陣列中的位置由用戶通過(guò)2線串行總線接口控制。每個(gè)電阻陣列與1個(gè)滑動(dòng)端計(jì)數(shù)寄存器(WCR)和4個(gè)8位數(shù)據(jù)寄存器聯(lián)系在一起。這4個(gè)數(shù)據(jù)寄存器可由用戶直接寫(xiě)入和讀出。WCR的內(nèi)容控制滑動(dòng)端在電阻陣列中的位置,其功能框圖如圖1所示。X9241工作原理 X9241支持雙向總線的定向規(guī)約,是一個(gè)從屬器件。它的高4位地址為0101(器件類型辨識(shí)符),低4位地址由A3~A0輸入端狀態(tài)決定。在SDA線上的數(shù)據(jù)只有在SCL為低期間才能改變狀態(tài)。當(dāng)SCL為高時(shí),SDA狀態(tài)的改變用來(lái)表示開(kāi)始和終止條件(開(kāi)始條件:SCL為高時(shí),SDA由高至低的跳變;終止條件:SCL為高時(shí),SDA由低至高的跳變)。送給X9241的所有命令都由開(kāi)始條件引導(dǎo),在其后輸出X9241從器件的地址。X9241把串行數(shù)據(jù)流與該器件的地址比較,若地址比較成功,則作出一個(gè)應(yīng)答響應(yīng)。送到X9241的下一個(gè)字節(jié)包括指令及寄存器指針的信息,高4位為指令,低4位用來(lái)指出4個(gè)電位器中的1個(gè)及4個(gè)輔助寄存器中的1個(gè)。
標(biāo)簽: X9241 PIC 數(shù)字電位器 單片機(jī)
上傳時(shí)間: 2014-01-18
上傳用戶:黃酒配奶茶
引導(dǎo)裝載程序(boot loader)控制復(fù)位后的初始化操作,并提供對(duì)Flash存儲(chǔ)器進(jìn)行編程的方法。這可以對(duì)空片進(jìn)行初始編程、對(duì)事先已編程的芯片進(jìn)行擦除和再編程或者是在系統(tǒng)運(yùn)行時(shí)通過(guò)系統(tǒng)中的應(yīng)用程序?qū)lash存儲(chǔ)器進(jìn)行編程。19.3特性在系統(tǒng)編程:在系統(tǒng)編程(ISP)是通過(guò)使用引導(dǎo)裝載程序軟件和UART0串口對(duì)片內(nèi)Falsh存儲(chǔ)器進(jìn)行編程/再編程的方法。這種方法也可以在芯片位于終端用戶板時(shí)使用;在應(yīng)用編程:在應(yīng)用編程(IAP)是通過(guò)終端用戶的應(yīng)用代碼對(duì)片內(nèi)Flash存儲(chǔ)器進(jìn)行擦除/寫(xiě)操作的方法;只有LPC134x系列Cortex-M3微控制器支持從USB端口引導(dǎo),通過(guò)將其枚舉為大容量存儲(chǔ)器等級(jí)(MSC)設(shè)備來(lái)連接到USB主機(jī)接口(僅適用于Windows操作系統(tǒng));Flash訪問(wèn)時(shí)間可通過(guò)Flash控制器模塊中的寄存器來(lái)配置;每個(gè)扇區(qū)的擦除時(shí)間為100ms±5%;而每個(gè)256字節(jié)的模塊,其編程時(shí)間為1ms±5%。
標(biāo)簽: Flash 1300 LPC 用戶手冊(cè)
上傳時(shí)間: 2013-11-04
上傳用戶:weixiao99
上一個(gè)專欄討論了執(zhí)行模型和內(nèi)核啟動(dòng)執(zhí)行配置如何影響寄存器數(shù)量以及本地多處理器資源(比如共享內(nèi)存,share memo~)。現(xiàn)在我們繼續(xù)討論內(nèi)存的性能以及共享內(nèi)存在reverseArray_multiblock_fast.CU中的使用。
標(biāo)簽: 共享內(nèi)存
上傳時(shí)間: 2013-10-22
上傳用戶:zaizaibang
XComDrv是個(gè)通訊包,包含兩個(gè)控件:TXComm,封裝了一個(gè)通訊設(shè)備的若干特性;TXModem,MODEM與MODEM通訊的控件。最新的版本支持:定制流控制;任意波特率;完全的數(shù)據(jù)控制;指定事件字符;收/發(fā)數(shù)據(jù);插件。TXModem可以用來(lái):向MODEM設(shè)備發(fā)送AT指令;修改MODEM寄存器;撥號(hào);連接;斷開(kāi)。最新版本包括XAsync v.1.2,異步(覆蓋式)操作單元。功能無(wú)限制。源代碼:包含,還有EXE演示。適用語(yǔ)言:CB4 CB5 D4 D5
上傳時(shí)間: 2013-12-22
上傳用戶:Miyuki
1.模擬并發(fā)進(jìn)程共享的臨界資源m1、m2,它聯(lián)系著兩個(gè)信號(hào)量sem1、sem2. 2.模擬并發(fā)進(jìn)程的運(yùn)行現(xiàn)場(chǎng):通用寄存器i,程序計(jì)數(shù)器addr. 3.模擬三個(gè)并發(fā)進(jìn)程.
上傳時(shí)間: 2015-02-25
上傳用戶:wweqas
蟲(chóng)蟲(chóng)下載站版權(quán)所有 京ICP備2021023401號(hào)-1