




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第第第5 5 5章章章第第 5章章第一節(jié)第一節(jié) PLD的基本概念的基本概念第二節(jié)第二節(jié) 現(xiàn)場可編程門陣列現(xiàn)場可編程門陣列 FPGA第三節(jié)第三節(jié) 在系統(tǒng)可編程在系統(tǒng)可編程 ISP第四節(jié)第四節(jié) 可編程邏輯的原理圖方式設(shè)計(jì)可編程邏輯的原理圖方式設(shè)計(jì)第五節(jié)第五節(jié) 可編程邏輯的可編程邏輯的VHDL文本方式設(shè)計(jì)文本方式設(shè)計(jì)可編程邏輯可編程邏輯可編程邏輯可編程邏輯器件可編程邏輯器件 PLDPROMPLAGAL與陣列固定或與陣列固定或陣列可編程陣列可編程與陣列或陣列與陣列或陣列均可編程均可編程PAL通用邏輯陣列通用邏輯陣列與陣列可編程與陣列可編程或陣列固定或陣列固定CPLD學(xué)習(xí)指導(dǎo)學(xué)習(xí)指導(dǎo)P169FPGAFi
2、eld Programmable Gate Array復(fù)雜可編程邏復(fù)雜可編程邏輯器件輯器件Programmable Array LogicGeneric Array Logic“與或與或”兩級(jí)結(jié)構(gòu)器件兩級(jí)結(jié)構(gòu)器件最終邏輯結(jié)構(gòu)最終邏輯結(jié)構(gòu)和功能由用戶和功能由用戶編程決定。編程決定。特點(diǎn)特點(diǎn)PLD發(fā)展過程發(fā)展過程Programmable Logic Device現(xiàn)場可編程現(xiàn)場可編程門陣列門陣列數(shù)字邏輯電路中一定包含數(shù)字邏輯電路中一定包含邏輯器件邏輯器件邏輯器件邏輯器件可編程邏輯器件可編程邏輯器件固定邏輯器件固定邏輯器件可編程陣列(與)可編程陣列(與)可編程陣列(與) 一、可編程陣列一、可編程陣列由
3、與或陣列組成由與或陣列組成PLD結(jié)構(gòu)特點(diǎn)結(jié)構(gòu)特點(diǎn)ABX1 BAX2 BAX3 PLD輸入緩沖門輸入緩沖門三態(tài)門三態(tài)門XXX? 1、與陣列、與陣列輸出是輸入變輸出是輸入變量的與函數(shù)量的與函數(shù)編程點(diǎn)編程點(diǎn)可編程陣列(或)可編程陣列(或)可編程陣列(或) 2、或陣列、或陣列輸出是輸入變輸出是輸入變量的或函數(shù)量的或函數(shù)CBAX1 CBAX2 CBAX3 可編程陣列(與或)可編程陣列(與或)可編程陣列(與或) 4、可編程連接技術(shù)(自學(xué))、可編程連接技術(shù)(自學(xué))P124PLA與陣列可編程與陣列可編程或陣列可編程或陣列可編程DABCCDBABCDADBCAFDCABDCBAABCDF21 PLDPLDPLD
4、實(shí)現(xiàn)組合邏輯例題實(shí)現(xiàn)組合邏輯例題實(shí)現(xiàn)組合邏輯例題NOB3 B2 B1 B0G3 G2 G1 G000000000010001000120010001130011001040100011050101011160110010170111010081000110091001110110101011111110111110121100101013110110111411101001151111100033BG 23232BBBBG 12121BBBBG 01010BBBBG 例例100011110000412801151391137151110261410B3B2B1B0G311111111自然二進(jìn)制
5、碼轉(zhuǎn)換位循環(huán)二進(jìn)制碼用自然二進(jìn)制碼轉(zhuǎn)換位循環(huán)二進(jìn)制碼用PLA與或邏輯實(shí)現(xiàn)。與或邏輯實(shí)現(xiàn)。分析如下電路,列出真值表,說明它的邏輯功能。分析如下電路,列出真值表,說明它的邏輯功能。例例2Y=?超星超星_11647965Z=X Y其中其中X、Y均為二位二進(jìn)制數(shù),試畫出均為二位二進(jìn)制數(shù),試畫出Z的的PLA陣列。陣列。2例例3PLDPLDPLD類型類型類型 5、PLD類型類型按照容量按照容量PLD分為分為簡單可編程邏輯器件簡單可編程邏輯器件SPLD復(fù)雜可編程邏輯器件復(fù)雜可編程邏輯器件CPLDIC管腳數(shù):管腳數(shù):2428IC管腳數(shù):管腳數(shù):44160簡單可編程邏輯器件簡單可編程邏輯器件SPLD的內(nèi)部結(jié)構(gòu)的
6、內(nèi)部結(jié)構(gòu)與陣列與陣列固定固定或陣列或陣列可編程可編程輸輸 入入輸輸 出出(a) PROM與陣列與陣列可編程可編程或陣列或陣列固定固定輸輸 入入輸輸 出出(c) PAL與陣列與陣列可編程可編程或陣列或陣列可編程可編程輸輸 入入輸輸 出出(b) PLA與陣列與陣列可編程可編程或陣列或陣列固定固定輸輸 入入輸輸 出出(d) GAL一次可編程只讀存儲(chǔ)器一次可編程只讀存儲(chǔ)器可編程陣列邏輯可編程陣列邏輯可編程邏輯陣列可編程邏輯陣列通用陣列邏輯通用陣列邏輯內(nèi)部包含邏內(nèi)部包含邏輯宏單元輯宏單元(觸發(fā)器)(觸發(fā)器)三態(tài)三態(tài)PLDPLDPLD類型類型類型復(fù)雜可編程邏輯器件復(fù)雜可編程邏輯器件CPLD的內(nèi)部結(jié)構(gòu)的內(nèi)部
7、結(jié)構(gòu)I/OI/OI/OI/OI/OI/O互互 連連 總總 線線PLAPLD能做什么呢?能做什么呢? 可以毫不夸張的講,可以毫不夸張的講,PLDPLD能完成任何數(shù)字器件的功能,能完成任何數(shù)字器件的功能,上至高性能上至高性能CPUCPU,下至簡單的,下至簡單的7474電路,都可以用電路,都可以用PLDPLD來實(shí)現(xiàn)。來實(shí)現(xiàn)。PLDPLD如同一張白紙或是一堆積木,工程師可以通過傳統(tǒng)的原理如同一張白紙或是一堆積木,工程師可以通過傳統(tǒng)的原理圖輸入法,或是硬件描述語言自由的設(shè)計(jì)一個(gè)數(shù)字系統(tǒng)。圖輸入法,或是硬件描述語言自由的設(shè)計(jì)一個(gè)數(shù)字系統(tǒng)。 通過軟件仿真,可以事先驗(yàn)證設(shè)計(jì)的正確性。在通過軟件仿真,可以事先驗(yàn)
8、證設(shè)計(jì)的正確性。在PCBPCB完成以后,還可以利用完成以后,還可以利用PLDPLD的在線修改能力,隨時(shí)修改設(shè)的在線修改能力,隨時(shí)修改設(shè)計(jì)而不必改動(dòng)硬件電路。計(jì)而不必改動(dòng)硬件電路。 使用使用PLDPLD來開發(fā)數(shù)字電路,可以大大縮短設(shè)計(jì)時(shí)間,來開發(fā)數(shù)字電路,可以大大縮短設(shè)計(jì)時(shí)間,減少減少PCBPCB面積,提高系統(tǒng)的可靠性。面積,提高系統(tǒng)的可靠性。 PLDPLD的這些優(yōu)點(diǎn)使得的這些優(yōu)點(diǎn)使得PLDPLD技術(shù)在技術(shù)在9090年代以后得到飛速的發(fā)展,同時(shí)也大大推動(dòng)了年代以后得到飛速的發(fā)展,同時(shí)也大大推動(dòng)了EDAEDA軟軟件和硬件描述語言(件和硬件描述語言(HDL)HDL)的進(jìn)步。的進(jìn)步?,F(xiàn)場可編程門陣列現(xiàn)
9、場可編程門陣列現(xiàn)場可編程門陣列 一、一、FPGA的結(jié)構(gòu)的結(jié)構(gòu)FPGA -Field Programmable Gate Array特點(diǎn)特點(diǎn)不再受內(nèi)部結(jié)構(gòu)的限制,可以設(shè)計(jì)任何復(fù)雜的邏輯電路不再受內(nèi)部結(jié)構(gòu)的限制,可以設(shè)計(jì)任何復(fù)雜的邏輯電路三個(gè)基本部分組成:三個(gè)基本部分組成:(1)可組態(tài)邏輯模塊可組態(tài)邏輯模塊CLB(2) 輸入輸出模塊輸入輸出模塊I/OB(3)可編程連線可編程連線PI和由它組和由它組成的編程開關(guān)陣列成的編程開關(guān)陣列PSM。Altera EPF 10K10 dsf10k.pdfFPGAFPGAFPGA結(jié)構(gòu)結(jié)構(gòu)結(jié)構(gòu) 1、可組態(tài)邏輯模塊、可組態(tài)邏輯模塊CLB108108個(gè)個(gè)CLB 可用門達(dá)
10、到可用門達(dá)到25萬門以上萬門以上* 可實(shí)現(xiàn)組合邏輯電路和時(shí)序邏輯電路可實(shí)現(xiàn)組合邏輯電路和時(shí)序邏輯電路* 邏輯函數(shù)發(fā)生器邏輯函數(shù)發(fā)生器( Configurable Logic Block )CLBCLBCLB結(jié)構(gòu)結(jié)構(gòu)結(jié)構(gòu)XC2064的的CLB結(jié)構(gòu)結(jié)構(gòu)FPGAFPGAFPGA結(jié)構(gòu)結(jié)構(gòu)結(jié)構(gòu) 3、可編程連線、可編程連線PI及開關(guān)陣列及開關(guān)陣列PSM* 完成完成CLB之間邏輯連接并將信息傳遞到之間邏輯連接并將信息傳遞到I/OB* 開關(guān)陣列開關(guān)陣列PSM提供提供20種轉(zhuǎn)換方式種轉(zhuǎn)換方式* 將將CLB的輸出以接力方式傳送到芯片任意位置的輸出以接力方式傳送到芯片任意位置1265784312657843 2、輸
11、入輸出模塊、輸入輸出模塊I/OB* 提供外部封裝引腳和內(nèi)部信息的接口電路提供外部封裝引腳和內(nèi)部信息的接口電路* 通過編程可以分別組態(tài)為輸入引腳、通過編程可以分別組態(tài)為輸入引腳、輸出引腳和雙向引腳輸出引腳和雙向引腳* 可控制速率、降低功耗可控制速率、降低功耗( Input/Output Block )( Programmable Interconnect )( Programmable Switch Matrix )XC2064XC2064的的I/OBI/OB電路電路十大十大十大PLDPLDPLD公司公司公司排名公司市場占有率1AlteraAltera30.130.12XilinxXilinx2
12、9.029.03VantisVantis11.111.14LatticeLattice11.011.05ActelActel7.07.06LuccentLuccent4.34.37CypressCypress2.22.28AtmelAtmel2.12.19PhilipsPhilips1.41.410QuicklogicQuicklogic1.21.2十大十大CPLD/FPGA公司公司 Altera和和Xilinx占有了占有了60%以上的市場份額。以上的市場份額。 在歐洲用在歐洲用Xilinx的人多,在日本和亞太地區(qū)用的人多,在日本和亞太地區(qū)用Altera的人多,在美的人多,在美國則是平分秋色。
13、國則是平分秋色。 全球全球CPLD/FPGA產(chǎn)品產(chǎn)品60%以上是由以上是由Altera和和Xilinx提供的??商峁┑???梢灾v以講Altera和和Xilinx共同決定了共同決定了PLD技術(shù)的發(fā)展方向。技術(shù)的發(fā)展方向。全球三大全球三大CPLD/FPGA公司公司 Altera Xilinx Lattice ISPISPISP邏輯器件特點(diǎn)邏輯器件特點(diǎn)邏輯器件特點(diǎn)常規(guī)常規(guī)PLD開發(fā)過程開發(fā)過程邏輯設(shè)計(jì)邏輯設(shè)計(jì)選擇器件選擇器件PLD編程編程(下載)(下載)PLD測試測試將器件插將器件插入印制板入印制板編編 制制JEDEC文件文件熔絲圖熔絲圖文件文件( In System Programming )在系統(tǒng)
14、編程(在系統(tǒng)編程(ISP):):用戶在自己設(shè)計(jì)的用戶在自己設(shè)計(jì)的目標(biāo)系統(tǒng)中或線路板上為重構(gòu)邏輯而對目標(biāo)系統(tǒng)中或線路板上為重構(gòu)邏輯而對邏輯器件進(jìn)行編程或反復(fù)改寫的能力。邏輯器件進(jìn)行編程或反復(fù)改寫的能力。熔絲圖文件熔絲圖文件熔絲圖文件以碼點(diǎn)形式表示以碼點(diǎn)形式表示陣列的內(nèi)容:陣列的內(nèi)容:“0”表示該位置的可編表示該位置的可編程單元應(yīng)予接通,程單元應(yīng)予接通,“1”表示該位置的表示該位置的可編程連接應(yīng)予斷可編程連接應(yīng)予斷開。開。ISPISPISP邏輯器件特點(diǎn)邏輯器件特點(diǎn)邏輯器件特點(diǎn)常規(guī)常規(guī)PLD開發(fā)過程開發(fā)過程邏輯設(shè)計(jì)邏輯設(shè)計(jì)選擇器件選擇器件PLD編程編程(下載)(下載)PLD測試測試將器件插將器件插入
15、印制板入印制板編編 制制JEDEC文件文件采用采用ISP技術(shù)的技術(shù)的PLD開發(fā)過程開發(fā)過程邏輯設(shè)計(jì)及編程邏輯設(shè)計(jì)及編程選擇器件選擇器件編譯、仿真編譯、仿真下載、使用下載、使用將器件插將器件插入印制板入印制板編編 制制JEDEC文件文件編編程程器器上上進(jìn)進(jìn)行行( In System Programming )ABLE語言語言VHDL語言語言Verilog HDL原理圖原理圖103210321032管腳管腳管腳 定義定義定義查資料查資料ISP邏輯器件結(jié)構(gòu)邏輯器件結(jié)構(gòu)ispLSI1032ISPISPISP邏輯器件結(jié)構(gòu)邏輯器件結(jié)構(gòu)邏輯器件結(jié)構(gòu)它以固定方式將所有內(nèi)部邏輯聯(lián)系在一起它以固定方式將所有內(nèi)部邏
16、輯聯(lián)系在一起1、全局布線區(qū)、全局布線區(qū)GRPP131巨塊、全巨塊、全局布線區(qū)局布線區(qū)組成組成通用總線通用總線ispLSI1032巨塊巨塊巨塊巨塊通用邏輯塊通用邏輯塊GLB輸出布線輸出布線ORPI/O引腳及專用輸入引腳及專用輸入 一、一、ispLSI的體系結(jié)構(gòu)的體系結(jié)構(gòu)ISPISPISP的通用邏輯塊的通用邏輯塊的通用邏輯塊是是ispLSI最基本的邏輯單元最基本的邏輯單元2、通用邏輯塊、通用邏輯塊GLB特點(diǎn)特點(diǎn)乘積項(xiàng)共享陣列乘積項(xiàng)共享陣列A0 A7、 B0 B7、 C0 C7、 D0 D7=32塊塊ISPISPISP的的的GLBGLBGLB標(biāo)準(zhǔn)組態(tài)標(biāo)準(zhǔn)組態(tài)標(biāo)準(zhǔn)組態(tài)GLBGLB的的5 5種組態(tài)種組態(tài)
17、最多可將最多可將2020個(gè)乘積項(xiàng)集中于一個(gè)觸發(fā)器使用個(gè)乘積項(xiàng)集中于一個(gè)觸發(fā)器使用1 1 標(biāo)準(zhǔn)組態(tài)標(biāo)準(zhǔn)組態(tài)ISPISPISP的的的GLBGLBGLB標(biāo)準(zhǔn)組態(tài)例子標(biāo)準(zhǔn)組態(tài)例子標(biāo)準(zhǔn)組態(tài)例子ISPISPISP的的的GLBGLBGLB高速組態(tài)高速組態(tài)高速組態(tài)4 4個(gè)或門跨過乘積項(xiàng)共享陣列(個(gè)或門跨過乘積項(xiàng)共享陣列(PTSAPTSA)及異或門直接)及異或門直接與與4 4個(gè)觸發(fā)器相連,以提高速度支持高速計(jì)數(shù)器。個(gè)觸發(fā)器相連,以提高速度支持高速計(jì)數(shù)器。2 2 高速直通組態(tài)高速直通組態(tài)每個(gè)或門只有每個(gè)或門只有4 4個(gè)乘積項(xiàng),與個(gè)乘積項(xiàng),與觸發(fā)器一一對應(yīng),不能任意觸發(fā)器一一對應(yīng),不能任意調(diào)用。調(diào)用。ISPISPI
18、SP的的的GLBGLBGLB異或組態(tài)異或組態(tài)異或組態(tài)3 3 異或邏輯組態(tài)異或邏輯組態(tài)4 4個(gè)異或門的一個(gè)輸入分別是乘積項(xiàng)個(gè)異或門的一個(gè)輸入分別是乘積項(xiàng)0 0、4 4、8 8、1313,另一個(gè)則從另一個(gè)則從4 4個(gè)或門輸出中任意組合。個(gè)或門輸出中任意組合??蓪?shí)現(xiàn)計(jì)數(shù)器、可實(shí)現(xiàn)計(jì)數(shù)器、比較器和比較器和ALU??蓪⒖蓪觸發(fā)器轉(zhuǎn)換為觸發(fā)器轉(zhuǎn)換為JK、T觸發(fā)器。觸發(fā)器。ISPISPISP的的的GLBGLBGLB單乘積項(xiàng)組態(tài)單乘積項(xiàng)組態(tài)單乘積項(xiàng)組態(tài)4 4 單乘積項(xiàng)組態(tài)單乘積項(xiàng)組態(tài) 將乘積項(xiàng)將乘積項(xiàng)0 0、4 4、1010、1313分別跨越或門、分別跨越或門、PTSAPTSA直接輸直接輸出。速度最快。出。
19、速度最快。ISPISPISP的的的GLBGLBGLB多模式組態(tài)多模式組態(tài)多模式組態(tài)5 5 多模式組態(tài)多模式組態(tài)上述上述4 4種組態(tài)可以在同一個(gè)種組態(tài)可以在同一個(gè)GLBGLB中混合使用。中混合使用。ISPISPISP的輸出布線的輸出布線的輸出布線ORPORPORP介于通用邏輯塊介于通用邏輯塊GLB和輸入輸出單元和輸入輸出單元IOC之間之間3、輸出布線區(qū)、輸出布線區(qū)ORP可編程可編程ISPISPISP的輸出布線的輸出布線的輸出布線ORPORPORP編程編程編程對對ORP編程使編程使GLB與與I/O相連:相連:ISPISPISP的輸出布線的輸出布線的輸出布線ORPORPORP跨過跨過跨過跨過跨過OR
20、P使使GLB與與I/O直接相連:直接相連:高速高速ISPISPISP的輸入輸出單元的輸入輸出單元的輸入輸出單元IOCIOCIOC4、輸入輸出單元、輸入輸出單元 IOC*MUX1控制控制IOC處于專用輸出組態(tài)、專用輸入組態(tài)、處于專用輸出組態(tài)、專用輸入組態(tài)、I/O組態(tài)。組態(tài)。 *MUX2和和MUX3用來選擇信號(hào)的來源和輸出極性。用來選擇信號(hào)的來源和輸出極性。 *MUX4用來選擇寄存器輸入還是緩沖器輸入。用來選擇寄存器輸入還是緩沖器輸入。*MUX5和和MUX6用來選擇時(shí)鐘信號(hào)和調(diào)整時(shí)鐘信號(hào)的極性。用來選擇時(shí)鐘信號(hào)和調(diào)整時(shí)鐘信號(hào)的極性。 * IOC中的觸中的觸發(fā)器有兩種工作發(fā)器有兩種工作方式:一是鎖存
21、方式:一是鎖存方式,觸發(fā)器在方式,觸發(fā)器在時(shí)鐘信號(hào)低電平時(shí)鐘信號(hào)低電平時(shí)鎖存;二是寄時(shí)鎖存;二是寄存器方式,在時(shí)存器方式,在時(shí)鐘信號(hào)上升沿時(shí)鐘信號(hào)上升沿時(shí)將信號(hào)打入。兩將信號(hào)打入。兩種方式通過種方式通過R/L端編程來確定。端編程來確定。ISPISPISP的輸入輸出單元的輸入輸出單元的輸入輸出單元IOCIOCIOC輸入輸出單元輸入輸出單元 IOC共有八種組態(tài)共有八種組態(tài)輸出使能的公共乘積項(xiàng)輸出使能的公共乘積項(xiàng)輸出使能的公共乘積項(xiàng)OEOEOE用于輸出使能的公共乘積項(xiàng)用于輸出使能的公共乘積項(xiàng)OE,是本巨塊中某個(gè),是本巨塊中某個(gè)GLB的的19號(hào)乘積號(hào)乘積項(xiàng)產(chǎn)生的。利用它作為本巨塊所有項(xiàng)產(chǎn)生的。利用它作
22、為本巨塊所有16個(gè)個(gè)I/O單元公用的單元公用的OE信號(hào)。信號(hào)。巨塊的輸出使能控制:巨塊的輸出使能控制:IOC的的MUX1巨塊巨塊巨塊5、巨塊、巨塊 * 8個(gè)個(gè)GLB* 16個(gè)個(gè)I/O單元單元* 2個(gè)直接輸入個(gè)直接輸入* 輸出布線區(qū)輸出布線區(qū)C0時(shí)鐘分配網(wǎng)絡(luò)時(shí)鐘分配網(wǎng)絡(luò)時(shí)鐘分配網(wǎng)絡(luò)CDNCDNCDN6、時(shí)鐘分配網(wǎng)絡(luò)、時(shí)鐘分配網(wǎng)絡(luò)CDNY0Y1Y2Y3是外部輸入的時(shí)鐘信號(hào)是外部輸入的時(shí)鐘信號(hào)CDN可以產(chǎn)生五個(gè)全局時(shí)鐘可以產(chǎn)生五個(gè)全局時(shí)鐘將將GLB”C0”的輸出作為時(shí)鐘的輸出作為時(shí)鐘輸入,以便產(chǎn)生內(nèi)部時(shí)鐘。輸入,以便產(chǎn)生內(nèi)部時(shí)鐘。P131 圖圖5.13 右下角右下角信號(hào)流程信號(hào)流程信號(hào)流程I/O單元
23、單元全局布線全局布線通用邏輯單元通用邏輯單元輸出布線輸出布線I/O單元單元輸入信號(hào)輸入信號(hào)輸出信號(hào)輸出信號(hào)信號(hào)流程信號(hào)流程1、交作業(yè)、交作業(yè)2、本周作業(yè)、本周作業(yè)P156 8、9、10、13、14、15、16作業(yè)作業(yè)要求:提交編譯無錯(cuò)誤的源代碼要求:提交編譯無錯(cuò)誤的源代碼提問提問提問已知一個(gè)組合邏輯已知一個(gè)組合邏輯可以采用幾種電路形式來實(shí)現(xiàn)?可以采用幾種電路形式來實(shí)現(xiàn)?BACAABCY 1、直接用與門、或門、非門。、直接用與門、或門、非門。2、用中規(guī)模組合邏輯電路:、用中規(guī)模組合邏輯電路:數(shù)據(jù)選擇器、譯碼器。數(shù)據(jù)選擇器、譯碼器。3、用、用PROM。CBABCACBACABABCY BAYCA0
24、A1D1D0D2D3BA11ST0YYC0數(shù)數(shù)據(jù)據(jù)選選擇擇器器ABC0Y1Y3Y2Y4Y5Y6Y7YG1G2AG2BBAC“1”3:8譯譯碼碼器器Y或陣列的容量是或陣列的容量是8。CBAY4、用、用PLA。CBAY5、什么叫、什么叫PLD?6、P135圖圖5.17MUX1的作用?的作用?在系統(tǒng)編程原理和方法在系統(tǒng)編程原理和方法在系統(tǒng)編程原理和方法自學(xué)自學(xué)正常模式與編輯模式由誰控制?正常模式與編輯模式由誰控制?數(shù)據(jù)的寫入方式?數(shù)據(jù)的寫入方式?編程接口信號(hào)的關(guān)系?編程接口信號(hào)的關(guān)系?對某一行編程的三個(gè)步驟?對某一行編程的三個(gè)步驟?多芯片的編程方法?多芯片的編程方法?ispENSDISDOMODES
25、CLKP137 二、在系統(tǒng)編程原理二、在系統(tǒng)編程原理原理圖方式設(shè)計(jì)原理圖方式設(shè)計(jì)原理圖方式設(shè)計(jì)可編程邏輯設(shè)計(jì)可編程邏輯設(shè)計(jì) 一、可編程邏輯設(shè)計(jì)流程圖一、可編程邏輯設(shè)計(jì)流程圖 設(shè)計(jì)庫設(shè)計(jì)庫設(shè)計(jì)輸入設(shè)計(jì)輸入* 原理圖原理圖* HDL設(shè)計(jì)輸入設(shè)計(jì)輸入* 原理圖原理圖* HDL功能模擬功能模擬 綜合綜合 實(shí)現(xiàn)實(shí)現(xiàn) 時(shí)序模擬時(shí)序模擬 器件編程器件編程 (下載)(下載)編譯器編譯器所有的設(shè)計(jì)過程依賴于所有的設(shè)計(jì)過程依賴于CAD-(Computer aided design )模擬:模擬:先通過模擬器將設(shè)計(jì)進(jìn)行仿真。先通過模擬器將設(shè)計(jì)進(jìn)行仿真。實(shí)現(xiàn):實(shí)現(xiàn):將綜合后的邏輯放置到一個(gè)邏輯將綜合后的邏輯放置到一個(gè)
26、邏輯器件之中的過程,同時(shí)實(shí)現(xiàn)合理布線。器件之中的過程,同時(shí)實(shí)現(xiàn)合理布線。綜合:綜合:把高層次的描述轉(zhuǎn)換成底層電把高層次的描述轉(zhuǎn)換成底層電路,形成網(wǎng)表。路,形成網(wǎng)表。時(shí)序模擬:時(shí)序模擬:可以對設(shè)計(jì)的邏輯功能及時(shí)可以對設(shè)計(jì)的邏輯功能及時(shí)序進(jìn)行驗(yàn)證。序進(jìn)行驗(yàn)證。電子設(shè)計(jì)自動(dòng)化電子設(shè)計(jì)自動(dòng)化EDA-(Electronics Design Automation )下載過程下載過程原理圖輸入原理圖輸入原理圖輸入 二、原理圖輸入二、原理圖輸入CAD工具提供一系列表示不同輸入工具提供一系列表示不同輸入端數(shù)的各種類型門的圖形符號(hào)。端數(shù)的各種類型門的圖形符號(hào)。元件庫元件庫x3x1x2f演示原理圖輸入過程演示原理圖
27、輸入過程./ylt/ylt.bdf直接從元件庫中調(diào)直接從元件庫中調(diào)用器件進(jìn)行設(shè)計(jì)。用器件進(jìn)行設(shè)計(jì)。 LIBRARY ieee ; USE ieee.std_logic_1164.all ; ENTITY example1 IS PORT ( x1, x2, x3 : IN BIT ; f : OUT BIT ) ; END example1 ; ARCHITECTURE LogicFunc OF example1 IS BEGIN f = (x1 AND x2) OR (NOT x2 AND x3) ; END LogicFunc ; VHDLVHDLVHDL語言結(jié)構(gòu)語言結(jié)構(gòu)語言結(jié)構(gòu)可編程邏輯
28、的可編程邏輯的VHDL文本設(shè)計(jì)方式文本設(shè)計(jì)方式 一、一、VHDL語言結(jié)構(gòu)語言結(jié)構(gòu)庫庫實(shí)體實(shí)體結(jié)構(gòu)體結(jié)構(gòu)體每個(gè)部分通過關(guān)每個(gè)部分通過關(guān)鍵字引導(dǎo)出來鍵字引導(dǎo)出來描述邏輯功能描述邏輯功能引用庫中程序包引用庫中程序包/example ch1-1.cpp# include Void main () cout “Im a student.n” ; x3x1x2fVHDL結(jié)構(gòu)結(jié)構(gòu)VHDLVHDLVHDL語言結(jié)構(gòu)組成語言結(jié)構(gòu)組成語言結(jié)構(gòu)組成庫庫程序包程序包實(shí)體實(shí)體結(jié)構(gòu)體結(jié)構(gòu)體配置配置存放已編譯的實(shí)體、存放已編譯的實(shí)體、結(jié)構(gòu)體、程序包和結(jié)構(gòu)體、程序包和配置配置存放各種設(shè)計(jì)模塊存放各種設(shè)計(jì)模塊能共享的數(shù)據(jù)類型、能
29、共享的數(shù)據(jù)類型、常數(shù)、程序等常數(shù)、程序等描述所設(shè)計(jì)硬件系描述所設(shè)計(jì)硬件系統(tǒng)的外部接口信號(hào)統(tǒng)的外部接口信號(hào)描述所設(shè)計(jì)硬描述所設(shè)計(jì)硬件系統(tǒng)的內(nèi)部件系統(tǒng)的內(nèi)部結(jié)構(gòu)和功能結(jié)構(gòu)和功能用來從庫中選取用來從庫中選取所需單元來組成所需單元來組成新系統(tǒng)新系統(tǒng)實(shí)體說明、結(jié)構(gòu)體格式實(shí)體說明、結(jié)構(gòu)體格式實(shí)體說明、結(jié)構(gòu)體格式ENTITY IS 類屬參數(shù)說明類屬參數(shù)說明 ; 端口說明部分端口說明部分 ; 實(shí)體說明部分實(shí)體說明部分 ;END ; ARCHITECTURE OF IS 結(jié)構(gòu)體說明部分結(jié)構(gòu)體說明部分 ;BEGIN ;END ; ;實(shí)體說明格式實(shí)體說明格式結(jié)構(gòu)體格式結(jié)構(gòu)體格式ENTITY half_adder I
30、S PORT ( A,B : IN std_logic; Co : OUT std_logic; S : OUT std_logic);END half_adder; ARCHITECTURE rtl OF half_adder IS SIGNAL tmp1,tmp2 : std_logic;BEGIN tmp1 = A OR B; tmp2 = A NAND B; Co = NOT tmp2; S = tmp1 AND tmp2;END rtl;端口說明部分端口說明部分ABSCOABSCotmp1tmp2實(shí)體名一致實(shí)體名一致實(shí)體說明、結(jié)構(gòu)體格式實(shí)體說明、結(jié)構(gòu)體格式實(shí)體說明、結(jié)構(gòu)體格式ENTI
31、TY half_adder IS PORT ( A,B : IN std_logic; Co : OUT std_logic; S : OUT std_logic);END half_adder; ARCHITECTURE rtl OF half_adder IS BEGIN S = A XOR B; Co = A AND B; END rtl;ABSCOABSCo0000011010101101ABSCo半加器半加器半加器演示半加器演示LIBRARY ieee ;USE ieee.std_logic_1164.all ;對象及數(shù)據(jù)類型對象及數(shù)據(jù)類型對象及數(shù)據(jù)類型1、VHDL語言的三大對象語言
32、的三大對象常量常量(constant)信號(hào)信號(hào)(signal)變量變量(variable)2、VHDL語言的數(shù)據(jù)類型語言的數(shù)據(jù)類型* 標(biāo)準(zhǔn)數(shù)據(jù)類型標(biāo)準(zhǔn)數(shù)據(jù)類型* 用戶定義的數(shù)據(jù)類型用戶定義的數(shù)據(jù)類型信號(hào)信號(hào)=表達(dá)式表達(dá)式;變量變量:=表達(dá)式表達(dá)式;數(shù)據(jù)類型數(shù)據(jù)類型含義含義備注備注例子例子整數(shù)整數(shù)(integer)整數(shù) -(231-1) + (231-1)+136,-457實(shí)數(shù)實(shí)數(shù)(real)實(shí)數(shù) -1038 +1038一定有小數(shù)點(diǎn)-1.0,+2.5e23位位(bit)邏輯0或1 1, 0位矢量位矢量(bit_vector) 位矢量雙引號(hào)括起來的一組數(shù)“00101”布爾量布爾量(boolean)
33、邏輯假或真只有真(true)和假(false)字符字符(character)ASCII字符Character用單引號(hào)括起來a, b, c時(shí)間時(shí)間(time)整數(shù)和時(shí)間單位fs,ps,ns,us,ms,sec,min,hr20us, 32ns錯(cuò)誤等級(jí)錯(cuò)誤等級(jí)(SEVERITYLevel)VHDL程序在編譯、仿真、綜合過程中的工作狀態(tài)note,warning,error,failurenote,warning,可以忽略,error,failure不可以忽略自然數(shù)自然數(shù)(natural)和和正整數(shù)正整數(shù)(positive)整數(shù)的子集natural,positive字符串字符串(string)字符矢量
34、雙引號(hào)括起來的字符序列“START” 二、對象及數(shù)據(jù)類型二、對象及數(shù)據(jù)類型硬件電路中的一條硬件連接線硬件電路中的一條硬件連接線需要遵循的原則是需要遵循的原則是:先定義先定義,后使用。后使用。立即賦值立即賦值延遲賦值延遲賦值常用數(shù)據(jù)類型常用數(shù)據(jù)類型常用數(shù)據(jù)類型在在IEEE1164標(biāo)準(zhǔn)的標(biāo)準(zhǔn)的“std-logic-1164”程序包中程序包中, ,可枚舉類型可枚舉類型std - logic的定義格式如下所示的定義格式如下所示: : * IEEE標(biāo)準(zhǔn)數(shù)據(jù)類型標(biāo)準(zhǔn)數(shù)據(jù)類型標(biāo)準(zhǔn)邏輯位標(biāo)準(zhǔn)邏輯位 std-logic 數(shù)據(jù)類型數(shù)據(jù)類型標(biāo)準(zhǔn)邏輯矢量標(biāo)準(zhǔn)邏輯矢量 std-logic-vector數(shù)據(jù)類型數(shù)據(jù)類型T
35、YPE std logic IS (U, -Uninitialized X, -ForcingUnknown 0,-Forcing0 1,-Forcing1 Z,-HighImpedance W,-WeakUnknown L,-Weak0 H,-Weak1 ,-Dontcare );初始值初始值不定不定01高阻高阻弱信號(hào)不定,未知弱信號(hào)不定,未知弱信號(hào)弱信號(hào)0弱信號(hào)弱信號(hào)1不可能情況不可能情況 九值邏輯系統(tǒng)九值邏輯系統(tǒng)用戶定義的數(shù)據(jù)類型用戶定義的數(shù)據(jù)類型并行描述語并行描述語并行描述語句句句- - -進(jìn)程語句進(jìn)程語句進(jìn)程語句VHDL語言程序的結(jié)構(gòu)體中既存語言程序的結(jié)構(gòu)體中既存在并行語句又存在順序
36、語句。在并行語句又存在順序語句。描述一組并發(fā)行為,它是并發(fā)執(zhí)描述一組并發(fā)行為,它是并發(fā)執(zhí)行的,與程序的書寫順序無關(guān)。行的,與程序的書寫順序無關(guān)。描述一組嚴(yán)格順序執(zhí)行的行為。描述一組嚴(yán)格順序執(zhí)行的行為。與程序的書寫順序有關(guān)。與程序的書寫順序有關(guān)。 三、并行描述語句的格式三、并行描述語句的格式 PROCESS 敏感信號(hào)表敏感信號(hào)表 進(jìn)程語句說明部分進(jìn)程語句說明部分 ; BEGIN ; END PROCESS 一個(gè)結(jié)構(gòu)體可以包括一個(gè)或多個(gè)進(jìn)程語句,進(jìn)程內(nèi)部的語句是一個(gè)結(jié)構(gòu)體可以包括一個(gè)或多個(gè)進(jìn)程語句,進(jìn)程內(nèi)部的語句是順序語句,而結(jié)構(gòu)體的各個(gè)進(jìn)程語句之間是一組并發(fā)行為。順序語句,而結(jié)構(gòu)體的各個(gè)進(jìn)程語句
37、之間是一組并發(fā)行為。進(jìn)程進(jìn)程語句語句控制控制順序語句位順序語句位于程序的那于程序的那一部分?一部分?1、進(jìn)程語句、進(jìn)程語句進(jìn)程語句并發(fā)執(zhí)行進(jìn)程語句并發(fā)執(zhí)行!由順序語句構(gòu)成:由順序語句構(gòu)成:IF語句語句CASE語句語句LOOP語句語句敏感信號(hào)的值發(fā)生改變,敏感信號(hào)的值發(fā)生改變,能夠引起進(jìn)程語句執(zhí)行。能夠引起進(jìn)程語句執(zhí)行。LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;ENTITY gate IS PORT (A,B : IN std_logic; X,Y,Z : OUT std_logic);END gate; ARCHITECTURE behaveOF gat
38、e IS BEGIN X = A AND B; Y = A OR B; Z = A XOR B;END behave;并發(fā)信號(hào)賦值語句并發(fā)信號(hào)賦值語句并發(fā)信號(hào)賦值語句并發(fā)賦值語句在結(jié)構(gòu)體中是并行執(zhí)行的,并發(fā)賦值語句在結(jié)構(gòu)體中是并行執(zhí)行的,他們的執(zhí)行與書寫順序無關(guān)。他們的執(zhí)行與書寫順序無關(guān)。“ = ”2、并發(fā)信號(hào)賦值語句、并發(fā)信號(hào)賦值語句LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;ENTITY gate_circuits IS PORT (A,B : IN std_logic; X,Y,Z : OUT std_logic);END gate_circuits
39、; ARCHITECTURE behaveOF gate_circuits IS BEGIN p1:PROCESS(A,B) BEGIN X = A AND B; END PROCESS p1; p2:PROCESS(A,B) BEGIN Y = A OR B; END PROCESS p2; p3:PROCESS(A,B) BEGIN Z = A XOR B; END PROCESS p3 END behave;Z = A XOR B;Y = A OR B; X = A AND B ;與順序與順序無關(guān)無關(guān)王振紅王振紅p25一條并發(fā)信號(hào)賦值語句一條并發(fā)信號(hào)賦值語句與一個(gè)含有信號(hào)賦值語與一個(gè)含有
40、信號(hào)賦值語句的進(jìn)程等價(jià)。句的進(jìn)程等價(jià)。敏感信號(hào)敏感信號(hào)條件信號(hào)賦值語句條件信號(hào)賦值語句條件信號(hào)賦值語句根據(jù)不同條件將不同的表達(dá)式賦值給目標(biāo)信號(hào)。根據(jù)不同條件將不同的表達(dá)式賦值給目標(biāo)信號(hào)。3、條件信號(hào)賦值語句、條件信號(hào)賦值語句LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;ENTITY and_gate IS PORT (a,b : IN std_logic; x : OUT std_logic);END and_gate; ARCHITECTURE rtl OF and_gate IS BEGIN x = 0 WHEN a=0 AND b=0 ELSE 0 W
41、HEN a=0 AND b=1 ELSE 0 WHEN a=1 AND b=0 ELSE 1;END rtl;目標(biāo)信號(hào)目標(biāo)信號(hào) = 表達(dá)式表達(dá)式1 when 條件條件1 else 表達(dá)式表達(dá)式2 when 條件條件2 else 表達(dá)式表達(dá)式n-1 when 條件條件n-1 else 表達(dá)式表達(dá)式n;王振紅王振紅p26LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;ENTITY andgate IS PORT (a,b : IN std_logic; x : OUT std_logic);END andgate; ARCHITECTURE rtl OF andg
42、ate IS BEGIN PROCESS (a,b) BEGIN IF (a=0 AND b=0 )THEN x = 0 ELSIF (a=0 AND b=1 )THEN x = 0 ELSIF (a=1 AND b=0 )THEN x = 0 ELSE x = 1 END IF; END PROCESSEND rtl;等價(jià)的進(jìn)程語句等價(jià)的進(jìn)程語句功能描述:功能描述:二輸入與門二輸入與門選擇信號(hào)賦值語句選擇信號(hào)賦值語句選擇信號(hào)賦值語句根據(jù)選擇條件的不同而將不根據(jù)選擇條件的不同而將不同表達(dá)式賦給目標(biāo)信號(hào)。同表達(dá)式賦給目標(biāo)信號(hào)。4、選擇信號(hào)賦值語句、選擇信號(hào)賦值語句LIBRARY IEEE;USE
43、 IEEE.std_logic_1164.ALL;ENTITY mux4 IS PORT (d0,d1,d2,d3 : IN std_logic; sel: IN std_logic_vector(1 downto 0); q : OUT std_logic);END mux4; ARCHITECTURE rtl OF mux4 IS BEGIN WITH sel SELECT q = d0 WHEN “00”, d1 WHEN “01”, d2 WHEN “10”, d3 WHEN OTHER;END rtl;with 表達(dá)式表達(dá)式 select 目標(biāo)信號(hào)目標(biāo)信號(hào) =表達(dá)式表達(dá)式1 when
44、 選擇條件選擇條件1, 表達(dá)式表達(dá)式2 when 選擇條件選擇條件2, 表達(dá)式表達(dá)式n when 選擇條件選擇條件n,王振紅王振紅p28功能描述:功能描述:四選一電路。四選一電路。位矢量位矢量library ieee;use ieee.std_logic_1164.all;Entity multiplexer is port (S : in std_logic_vector(1 downto 0); I : in std_logic_vector(3 downto 0); Y : out std_logic);End multiplexer;Architecture function_tabl
45、e of multiplexer is begin Y =I(0) when S = 00 else I(1) when S = 01 else I(2) when S = 10 else I(3) when S = 11 else X;End function_table;library ieee;use ieee.std_logic_1164.all;Entity multiplexer_ws is port (S : in std_logic_vector(1 downto 0); I : in std_logic_vector(3 downto 0); Y : out std_logi
46、c);End multiplexer_ws;Architecture function_table_ws of multiplexer_ws is beginwith S selectY =I(0) when 00,I(1) when 01,I(2) when 10,I(3) when 11, X when others;End function_table_ws;順序描述語句順序描述語句順序描述語句if if if 四、順序描述語句四、順序描述語句* if語句語句if 條件條件1 then 第一組順序語句;第一組順序語句;elsif 條件條件2 then 第二組順序語句第二組順序語句;els
47、if 條件條件n then 第第n組順序語句組順序語句;else 第第n+1組順序語句組順序語句;end if;if 條件條件 then 順序語句順序語句;end if;if 條件條件 then 順序語句順序語句;else 順序語句順序語句;end if;LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;ENTITY mux4 IS PORT (d0 : IN std_logic_vector(3 DOWNTO 0); d1 : IN std_logic_vector(3 DOWNTO 0); d2 : IN std_logic_vector(3 DOWNTO
48、0); d3 : IN std_logic_vector(3 DOWNTO 0); sel : IN std_logic_vector(1 DOWNTO 0); q : OUT std_logic_vector(3 DOWNTO 0);END mux4;ARCHITECTURE rtl OF mux4 ISBEGIN PROCESS(d0,d1,d2,d3,sel) BEGIN IF (sel = 00) THEN q = d0; ELSIF (sel = 01) THEN q = d1; ELSIF (sel = 10) THEN q = d2; ELSE q q q q q q 一組順序語
49、句;一組順序語句; when 條件表達(dá)式的值條件表達(dá)式的值=一組順序語句;一組順序語句;end case;順序描述語句順序描述語句順序描述語句for loopfor loopfor loop* loop語句語句LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;ENTITY jioujy IS PORT (d : IN std_logic_vector ( 0 TO 7); q : OUT std_logic);END jioujy;ARCHITECTURE rtl OF jioujy ISBEGIN PROCESS(d) VARIABLE tmp : std_l
50、ogic; BEGIN tmp:=0; FOR i IN 0 to 7 LOOP tmp := tmp xor d(i); END LOOP; q = tmp; END PROCESS;END rtl;循環(huán)標(biāo)號(hào):循環(huán)標(biāo)號(hào):for 循環(huán)變量循環(huán)變量 in 范圍范圍 loop 順序處理語句;順序處理語句; end loop 循環(huán)標(biāo)號(hào);循環(huán)標(biāo)號(hào);* for loop語句語句功能描述:功能描述:8 8位奇偶校驗(yàn)電路位奇偶校驗(yàn)電路將輸入端口將輸入端口d送來的矢量進(jìn)行送來的矢量進(jìn)行按位異或,按位異或,d為奇數(shù)個(gè)為奇數(shù)個(gè)1,則,則q=1; d為偶數(shù)個(gè)為偶數(shù)個(gè)1,則,則q=0 。中間變量中間變量范圍范圍順序描
51、述語句順序描述語句順序描述語句while loopwhile loopwhile loopLIBRARY IEEE;USE IEEE.std_logic_1164.ALL;ENTITY logic_and IS PORT (input : IN std_logic_vector(7 DOWNTO 0); q : OUT std_logic);END logic_and;ARCHITECTURE behave OF logic_and ISBEGIN PROCESS(input) VARIABLE tmp : std_logic; VARIABLE i : integer; BEGIN tmp
52、:= 1; i := 0; WHILE (i8) LOOP tmp := tmp AND input(i); i :=i+1; END LOOP; q = tmp; END PROCESS;END behave;循環(huán)標(biāo)號(hào):循環(huán)標(biāo)號(hào):while 條件表達(dá)式條件表達(dá)式 loop 順序處理語句;順序處理語句; end loop 循環(huán)標(biāo)號(hào);循環(huán)標(biāo)號(hào); * while loop語句語句功能描述:功能描述:對輸入端口對輸入端口inputinput送來的送來的位矢量各位進(jìn)行邏輯與操作,當(dāng)輸入位矢量各位進(jìn)行邏輯與操作,當(dāng)輸入inputinput位矢量有一個(gè)位矢量有一個(gè)0 0時(shí)輸出時(shí)輸出q q為為0 0,輸,輸
53、入入inputinput位矢量全為位矢量全為1 1時(shí)輸出時(shí)輸出q q為為1 1。條件滿足時(shí)執(zhí)行循條件滿足時(shí)執(zhí)行循環(huán)體內(nèi)的語句。環(huán)體內(nèi)的語句。結(jié)構(gòu)體的三種描述結(jié)構(gòu)體的三種描述結(jié)構(gòu)體的三種描述( ( (數(shù)據(jù)流描述數(shù)據(jù)流描述數(shù)據(jù)流描述) ) ) 五、結(jié)構(gòu)體的三種描述方式五、結(jié)構(gòu)體的三種描述方式數(shù)據(jù)流描述方式數(shù)據(jù)流描述方式結(jié)構(gòu)描述方式結(jié)構(gòu)描述方式行為描述方式行為描述方式ABCinSCo1、數(shù)據(jù)流描述方式、數(shù)據(jù)流描述方式LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;ENTITY full_adder IS PORT (A,B : IN std_logic; Cin :
54、 IN std_logic; Co : OUT std_logic; S : OUT std_logic);END full_adder; ARCHITECTURE rtl OF full_adder IS SIGNAL tmp1,tmp2 : std_logic; BEGIN tmp1 = A XOR B; tmp2 = tmp1 AND Cin; S = tmp1 XOR Cin; Co = tmp2 OR (A AND B);END rtl;ABCinCOS描述從輸入到輸描述從輸入到輸出信號(hào)的走向出信號(hào)的走向tmp2tmp1三種方法設(shè)計(jì)全加器三種方法設(shè)計(jì)全加器P52 圖圖2.31(b)*
55、 SIGNAL用來描述組用來描述組件間的連接信號(hào)件間的連接信號(hào)結(jié)構(gòu)描述方式結(jié)構(gòu)描述方式結(jié)構(gòu)描述方式2、結(jié)構(gòu)描述方式、結(jié)構(gòu)描述方式ABSCO半加器半加器多層次設(shè)計(jì)中,通過調(diào)用庫中的元件或是已設(shè)多層次設(shè)計(jì)中,通過調(diào)用庫中的元件或是已設(shè)計(jì)好的模塊來完成設(shè)計(jì)實(shí)體功能的描述。計(jì)好的模塊來完成設(shè)計(jì)實(shí)體功能的描述。LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;ENTITY half_adder IS PORT ( A,B : IN std_logic; Co : OUT std_logic; S : OUT std_logic);END half_adder; ARCHI
56、TECTURE rtl OF half_adder IS SIGNAL tmp1,tmp2 : std_logic;BEGIN tmp1 = A OR B; tmp2 = A NAND B; Co = NOT tmp2; S = tmp1 AND tmp2;END rtl;書書VHDL語言程序設(shè)計(jì)語言程序設(shè)計(jì)P44LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;ENTITY or_gate IS PORT ( a,b : IN std_logic; c : OUT std_logic);END or_gate; ARCHITECTURE rtl OF or_g
57、ate ISBEGIN c A,B=B, S=tmp1,Co=tmp2); U1: half_adder PORT MAP (A=tmp1,B=Cin,S=S, Co=tmp3); U2: or_gate PORT MAP (a=tmp3,b=tmp2,c=Co);END structure;ABStmp3Cintmp1tmp2COU0U1U2*用組合語句用組合語句COMPONENT調(diào)用已有調(diào)用已有組件。組件。* PORT MAP語句將設(shè)計(jì)的端口名稱替語句將設(shè)計(jì)的端口名稱替換為被調(diào)用組件的端口名稱換為被調(diào)用組件的端口名稱2、結(jié)構(gòu)描述方式、結(jié)構(gòu)描述方式行為描述方式行為描述方式行為描述方式LIBR
58、ARY IEEE;USE IEEE.std_logic_1164.ALL;ENTITY full_adder IS PORT (A,B, Cin : IN std_logic; Co, S : OUT std_logic;END full_adder; ARCHITECTURE behave OF full_adder ISBEGIN PROCESS(A,B,Cin) VARIABLE n : integer RANGE 0 TO 3; CONSTANT S_vector : std_logic_vector(0 TO 3) :=0101; CONSTANT Co_vector : std_l
59、ogic_vector(0 TO 3) :=0011; BEGIN n := 0; IF (A =1) THEN n := n+1; END IF; IF (B =1) THEN n := n+1; END IF; IF (Cin =1) THEN n := n+1; END IF; S = S_vector(n); Co = Co_vector(n); END PROCESS;END behave;n是對是對A、B、Cin三個(gè)變?nèi)齻€(gè)變量中量中1的個(gè)數(shù)的記錄。的個(gè)數(shù)的記錄。A B Cin中中“1”的個(gè)數(shù)的個(gè)數(shù)SCO000110201311ABCinSCO00000001100101001101
60、10010101011100111111全加器真值表全加器真值表3、行為描述方式、行為描述方式常量常量組合邏輯設(shè)計(jì)組合邏輯設(shè)計(jì)組合邏輯設(shè)計(jì)- - -多輸入簡單門多輸入簡單門多輸入簡單門 六、六、VHDL的組合邏輯設(shè)計(jì)的組合邏輯設(shè)計(jì) 1、多輸入簡單門電路、多輸入簡單門電路ABCYABCY00000010010001101000101011001111LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;ENTITY and3_gate IS PORT (a,b,c : IN std_logic; y : OUT std_logic);END and3_gate;ARC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- ??漆t(yī)生調(diào)考練習(xí)試題及答案
- 藥理學(xué)復(fù)習(xí)試題含答案
- 融資居間服務(wù)合同(9篇)
- 產(chǎn)品銷售代理合同(28篇)
- JAVA方法重載試題及答案
- 數(shù)據(jù)庫考試實(shí)施方案試題及答案
- 電視節(jié)目制作合同(4篇)
- 店面租賃合同匯編(18篇)2
- 汽車維修技術(shù)發(fā)動(dòng)機(jī)系統(tǒng)試題集萃
- 國際商務(wù)禮儀與文化測試題集
- 湖北省武漢市武昌區(qū)2025屆高三5月質(zhì)量檢測考試語文及參考答案
- 核電站鋼板混凝土結(jié)構(gòu)技術(shù)標(biāo)準(zhǔn)
- 《兒童健康保障課件:理性選擇與購買策略》
- 中國多聚甲醛行業(yè)發(fā)展分析及投資價(jià)值預(yù)測研究報(bào)告2025-2028版
- 房建工程總承包EPC項(xiàng)目技術(shù)標(biāo)(投標(biāo)方案)(技術(shù)標(biāo))
- 贛州城投招聘試題及答案
- 2025屆海南中考地理高頻考點(diǎn)模擬檢測試題(一模)含解析
- 輸血流程培訓(xùn)試題
- 企業(yè)安全生產(chǎn)知識(shí)題庫
- 2025-2030方塊地毯行業(yè)市場現(xiàn)狀供需分析及重點(diǎn)企業(yè)投資評(píng)估規(guī)劃分析研究報(bào)告
- 鋼筋混凝土蓄水池施工方案
評(píng)論
0/150
提交評(píng)論