數(shù)字系統(tǒng)設(shè)計 第6章_第1頁
數(shù)字系統(tǒng)設(shè)計 第6章_第2頁
數(shù)字系統(tǒng)設(shè)計 第6章_第3頁
數(shù)字系統(tǒng)設(shè)計 第6章_第4頁
數(shù)字系統(tǒng)設(shè)計 第6章_第5頁
已閱讀5頁,還剩193頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第6章 VHDL設(shè)計應(yīng)用實例第6章 VHDL設(shè)計應(yīng)用實例6.1 8位加法器的設(shè)計位加法器的設(shè)計6.2 8位乘法器的設(shè)計位乘法器的設(shè)計6.3 序列檢測器的設(shè)計序列檢測器的設(shè)計6.4 正負(fù)脈寬數(shù)控調(diào)制信號發(fā)生器的設(shè)計正負(fù)脈寬數(shù)控調(diào)制信號發(fā)生器的設(shè)計6.5 數(shù)字頻率計的設(shè)計數(shù)字頻率計的設(shè)計6.6 秒表的設(shè)計秒表的設(shè)計6.7 MCS51單片機與單片機與FPGA/CPLD總線接口邏輯設(shè)計總線接口邏輯設(shè)計6.8 交通燈信號控制器的設(shè)計交通燈信號控制器的設(shè)計6.9 語音信箱控制系統(tǒng)的設(shè)計語音信箱控制系統(tǒng)的設(shè)計6.10 PID控制器的設(shè)計控制器的設(shè)計6.11 空調(diào)系統(tǒng)有限狀態(tài)自動機的設(shè)計空調(diào)系統(tǒng)有限狀態(tài)自動機

2、的設(shè)計6.12 鬧鐘系統(tǒng)的設(shè)計鬧鐘系統(tǒng)的設(shè)計 第6章 VHDL設(shè)計應(yīng)用實例6.1 8位加法器的設(shè)計位加法器的設(shè)計 1設(shè)計思路設(shè)計思路 加法器是數(shù)字系統(tǒng)中的基本邏輯器件,減法器和硬件乘法器都可由加法器來構(gòu)成。多位加法器的構(gòu)成有兩種方式:并行進(jìn)位和串行進(jìn)位方式。并行進(jìn)位加法器設(shè)有進(jìn)位產(chǎn)生邏輯,運算速度較快;串行進(jìn)位方式是將全加器級聯(lián)構(gòu)成多位加法器。并行進(jìn)位加法器通常比串行級聯(lián)加法器占用更多的資源。隨著位數(shù)的增加,相同位數(shù)的并行加法器與串行加法器的資源占用差距也越來越大。因此,在工程中使用加法器時,要在速度和容量之間尋找平衡點。第6章 VHDL設(shè)計應(yīng)用實例 實踐證明,4位二進(jìn)制并行加法器和串行級聯(lián)加

3、法器占用幾乎相同的資源。這樣,多位加法器由4位二進(jìn)制并行加法器級聯(lián)構(gòu)成是較好的折中選擇。本設(shè)計中的8位二進(jìn)制并行加法器即是由兩個4位二進(jìn)制并行加法器級聯(lián)而成的,其電路原理圖如圖6.1所示。第6章 VHDL設(shè)計應(yīng)用實例圖6.1 8位加法器電路原理圖第6章 VHDL設(shè)計應(yīng)用實例2VHDL源程序源程序1) 4位二進(jìn)制并行加法器的源程序ADDER4B.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ADDER4B IS -4位二進(jìn)制并行加法器 PORT(CIN:IN STD_LOGIC

4、; -低位進(jìn)位 A: IN STD_LOGIC_VECTOR(3 DOWNTO 0); -4位加數(shù) B: IN STD_LOGIC_VECTOR(3 DOWNTO 0); -4位被加數(shù) S: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -4位和 CONT: OUT STD_LOGIC); -進(jìn)位輸出第6章 VHDL設(shè)計應(yīng)用實例END ADDER4B;ARCHITECTURE ART OF ADDER4B IS SIGNAL SINT:STD_LOGIC_VECTOR(4 DOWNTO 0); SIGNAL AA,BB: STD_LOGIC_VECTOR(4 DOWNTO

5、 0); BEGIN AA=0& A; -將4位加數(shù)矢量擴(kuò)為5位,為進(jìn)位提供空間 BB=0& B; -將4位被加數(shù)矢量擴(kuò)為5位,為進(jìn)位提供空間 SINT=AA+BB+CIN ; S=SINT(3 DOWNTO 0); CONTCIN,A=A(3 DOWNTO 0),B=B(3 DOWNTO0), S=S(3 DOWNTO 0),COUT=CARRY_OUT);U2:ADDER4B -例化(安裝)一個4位二進(jìn)制加法器U2 PORT MAP(CIN=CARRY_OUT,A=A(7 DOWNTO 4),B=B(7 DOWNTO 4), S=S (7 DOWNTO 4);CONT=CO

6、NT);END ART;第6章 VHDL設(shè)計應(yīng)用實例 3硬件邏輯驗證硬件邏輯驗證 選擇實驗電路結(jié)構(gòu)圖NO.1,由5.2的實驗電路結(jié)構(gòu)圖NO.1和圖6.1確定引腳的鎖定。如可取實驗電路結(jié)構(gòu)圖的PIO3PIO0接A3.0,PIO7PIO4接A7.4, PIO11PIO8接B3.0,PIO15PIO12接B7.4,PIO49接CIN。此加法器的被加數(shù)A和加數(shù)B分別由鍵2與鍵1、鍵4與鍵3輸入,加法器的最低位進(jìn)位CIN由鍵8輸入,計算結(jié)果將分別通過PIO23PIO20,PIO19PIO16輸出并顯示于數(shù)碼管6(高4位)和數(shù)碼管5(低4位),溢出進(jìn)位由PIO39輸出,當(dāng)有進(jìn)位時,結(jié)果顯示于發(fā)光管D8。第

7、6章 VHDL設(shè)計應(yīng)用實例6.2 8位乘法器的設(shè)計位乘法器的設(shè)計 1設(shè)計思路設(shè)計思路 純組合邏輯構(gòu)成的乘法器雖然工作速度比較快,但占用硬件資源多,難以實現(xiàn)寬位乘法器,而基于PLD器件外接ROM九九表的乘法器則無法構(gòu)成單片系統(tǒng),也不實用。這里介紹由8位加法器構(gòu)成的以時序邏輯方式設(shè)計的8位乘法器,此乘法器具有一定的實用價值。其乘法原理是:乘法通過逐項位移相加原理來實現(xiàn),從被乘數(shù)的最低位開始,若為1,則乘數(shù)左移后與上一次和相加;若為0,左移后以全零相加,直至被乘數(shù)的最高位。從圖6.2的邏輯圖上可以清楚地看出此乘法器的工作原理。第6章 VHDL設(shè)計應(yīng)用實例圖6.2 88位乘法器電路原理圖S77.0S6

8、7.0S6(8)ARIENDREG16BADDER8BARICTLSREG8BANDARITHOUT15.0B7.0A7.0STARTCLKQ15.0D8.0CLRCLKGNDS57.0S68.0RSTALLCLKOUTS57.0S715.8B7.0A7.0COUTS7.0CINDOUT7.0DIN7.0ABINQBDIN7.0LOADCLKARIENDCLKSTARTU1U2U3U4U5S2S3S4S715.0S715.8S1第6章 VHDL設(shè)計應(yīng)用實例 圖6.2中,ARICTL是乘法運算控制電路,它的START(可鎖定于引腳I/O 49)信號的上跳沿與高電平有兩個功能,即16位寄存器清零和

9、被乘數(shù)A7.0向移位寄存器SREG8B加載;它的低電平則作為乘法使能信號。乘法時鐘信號從ARICTL的CLK輸入。當(dāng)被乘數(shù)加載于8位右移寄存器SREG8B后,隨著每一時鐘節(jié)拍,最低位在前,由低位至高位逐位移出。當(dāng)為1時,與門ANDARITH打開,8位乘數(shù)B7.0在同一節(jié)拍進(jìn)入8位加法器,與上一次鎖存在16位鎖存器REG16B中的高8位進(jìn)行相加,其和在下一時鐘節(jié)拍的上升沿被鎖進(jìn)此鎖存器。而當(dāng)被乘數(shù)移出位為0時,與門全零輸出。如此往復(fù),直至8個時鐘脈沖后,由ARICTL的控制,乘法運算過程自動中止。ARIEND輸出高電平,以此可點亮一發(fā)光管,以示乘法結(jié)束。此時REG16B的輸出值即為最后乘積。第6

10、章 VHDL設(shè)計應(yīng)用實例 此乘法器的優(yōu)點是節(jié)省芯片資源,它的核心元件只是一個8位加法器,其運算速度取決于輸入的時鐘頻率。若時鐘頻率為100 MHz,則每一運算周期僅需80 ns。而若利用備用最高時鐘,即12 MHz晶振的MCS-51單片機的乘法指令,進(jìn)行8位乘法運算,僅單指令的運算周期就長達(dá)4 s。因此,可以利用此乘法器或相同原理構(gòu)成的更高位乘法器完成一些數(shù)字信號處理方面的運算。第6章 VHDL設(shè)計應(yīng)用實例2. VHDL源程序源程序1) 選通與門模塊的源程序ANDARITH.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ANDARITH

11、IS -選通與門模塊 PORT (ABIN:IN STD_LOGIC; -與門開關(guān) DIN:IN STD_LOGIC_VECTOR (7 DOWNTO 0) -8位輸入 DOUT:OUT STD_LOGIC_VECTOR (7 DOWNTO 0); -8位輸出END ANDARITH;ARCHITECTURE ART OF ANDARITH IS 第6章 VHDL設(shè)計應(yīng)用實例 BEGIN PROCESS (ABIN,DIN) BEGIN FOR I IN 0 TO 7 LOOP -循環(huán),分別完成8位數(shù)據(jù)與一位 DOUT (I)=DIN (I)AND ABIN; -控制位的與操作 END LOO

12、P; END PROCESS;END ART;第6章 VHDL設(shè)計應(yīng)用實例2) 16位鎖存器的源程序REG16B.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG16B IS -16位鎖存器 PORT (CLK:IN STD_LOGIC; -鎖存信號 CLR:IN STD_LOGIC; -清零信號 D:IN STD_LOGIC_VECTOR (8 DOWNTO 0) -8位數(shù)據(jù)輸入 Q:OUT STD_LOGIC_VECTOR(15 DOWNTO 0);-16位數(shù)據(jù)輸出END REG16B;ARCHITECTURE ART OF RE

13、G16B IS SIGNAL R16S:STD_LOGIC_VECTOR(15 DOWNTO 0); -16位寄存器設(shè)置第6章 VHDL設(shè)計應(yīng)用實例BEGINPROCESS (CLK,CLR) BEGIN IF CLR = 1 THEN R16S= 0000000000000000;-異步復(fù)位信號 ELSIF CLKEVENT AND CLK = 1 THEN-時鐘到來時,鎖存輸入值 R16S(6 DOWNTO 0)=R16S(7 DOWNTO 1);-右移低8位 R16S(15 DOWNTO 7)=D; -將輸入鎖到高能位 END IF; END PROCESS; Q=R16S;END AR

14、T;第6章 VHDL設(shè)計應(yīng)用實例3) 8位右移寄存器的源程序SREG8B.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; -8位右移寄存器ENTITY SREG8B IS PORT (CLK:IN STD_LOGIC; LOAD :IN STD _LOGIC; BIN:IN STD_LOGIC_VECTOR(7DOWNTO 0); QB:OUT STD_LOGIC );END SREG8B;ARCHITECTURE ART OF SREG8B IS SIGNAL REG8B:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN PRO

15、CESS (CLK,LOAD)第6章 VHDL設(shè)計應(yīng)用實例 BEGIN IF CLKEVENT AND CLK= 1 THEN IF LOAD = 1 THEN REG8=DIN; -裝載新數(shù)據(jù) ELSE REG8(6 DOWNTO0)=REG8(7 DOWNTO 1);-數(shù)據(jù)右移 END IF; END IF; END PROCESS; QB= REG8 (0); -輸出最低位END ART;第6章 VHDL設(shè)計應(yīng)用實例4) 乘法運算控制器的源程序ARICTL.VHD LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UN

16、SIGNED.ALL;ENTITY ARICTL IS -乘法運算控制器 PORT ( CLK:IN STD_LOGIC; START:IN STD_LOGIC; CLKOUT:OUT STD_LOGIC; RSTALL:OUT STD_LOGIC; ARIEND:OUT STD_LOGIC );END ARICTL;ARCHITECTURE ART OF ARICTL IS SIGNAL CNT4B:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN第6章 VHDL設(shè)計應(yīng)用實例 RSTALL=START; PROCESS (CLK,START) BEGIN IF START

17、 = 1 THEN CNT4B= 0000; -高電平清零計數(shù)器 ELSIF CLKEVENT AND CLK = 1 THEN IF CNT4B8 THEN-小于則計數(shù),等于8表明乘法運算已經(jīng)結(jié)束 CNT4B=CNT4B+1; END IF; END IF;END PROCESS;PROCESS (CLK,CNT4B,START)BEGIN第6章 VHDL設(shè)計應(yīng)用實例 IF START = 0 THEN IF CNT4B8 THEN -乘法運算正在進(jìn)行 CLKOUT =CLK; ARIEND= 0; ELSE CLKOUT = 0; ARIEND= 1;-運算已經(jīng)結(jié)束 END IF; ELS

18、E CLKOUT =CLK; ARIEND= 0; END IF; END PROCESS;END ART;第6章 VHDL設(shè)計應(yīng)用實例5) 8位乘法器的源程序MULTI8X8.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; -8位乘法器頂層設(shè)計ENTITY MULTI8X8 IS PORT(CLK:IN STD_LOGIC; START:IN STD_LOGIC;-乘法啟動信號,高電平復(fù)位與加載,低電平運算 A:IN STD_LOGIC_VECTOR(7 DOWNTO 0); -8位被乘數(shù) B:IN STD_LOGIC_VECTOR(7 DOWNTO

19、 0); -8位乘數(shù) ARIEND:OUT STD_LOGIC; -乘法運算結(jié)束標(biāo)志位 DOUT:OUT STD_LOGIC_VECTOR(15 DOWNTO 0);-16位乘積輸出END MULTI8X8;第6章 VHDL設(shè)計應(yīng)用實例ARCHITECTURE ART OF MULTI8X8 IS COMPONENT ARICTL -待調(diào)用的乘法控制器端口定義 PORT(CLK:IN STD_LOGIC;START:IN STD_LOGIC; CLKOUT:OUT STD_LOGIC;RSTALL:OUT STD_LOGIC; ARIEND:OUT STD_LOGIC);END COMPONE

20、NT;COMPONENT ANDARITH -待調(diào)用的控制與門端口定義 PORT(ABIN:IN STD_LOGIC; DIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0); DOUT:OUT_STD_LOGIC_VECTOR( 7 DOWNTO 0) );END COMPONENT;COMPONENT ADDER8B -待調(diào)用的8位加法器端口定義 第6章 VHDL設(shè)計應(yīng)用實例COMPONENT SREG8B -待調(diào)用的8位右移寄存器端口定義 COMPONENT REG16B -待調(diào)用的16右移寄存器端口定義 SIGNAL GNDINT:STD_LOGIC;SIGNAL IN

21、TCLK:STD_LOGIC;SIGNAL RSTALL:STD_LOGIC;SIGNAL QB:STD_LOGIC;SIGNAL ANDSD:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL DTBIN:STD_LOGIC_VECTOR(8 DOWNTO 0);SIGNAL DTBOUT:STD_LOGIC_VECTOR(15 DOWNTO 0);BEGIN第6章 VHDL設(shè)計應(yīng)用實例DOUT=DTBOUT;GNDINTCLK, START=START, CLKOUT=INTCLK, RSTALL=RSTALL, ARIEND=ARIEND); U2:SREG8B PO

22、RT MAP(CLK=INTCLK, LOAD=RSTALL. DIN=B, QB=QB);U3:ANDARITH PORT MAP(ABIN=QB,DIN=A,DOUT=ANDSD);U4:ADDER8B PORT MAP(CIN=GNDINT,A=DTBOUT(15 DOWNTO 8), B=ANDSD, S=DTBIN(7 DOWNTO 0),COUT =DTBIN(8);U5:REG16B PORT MAP(CLK =INTCLK,CLR=RSTALL, D=DTBIN, Q=DTBOUT);END ART;第6章 VHDL設(shè)計應(yīng)用實例 3. 硬件邏輯驗證硬件邏輯驗證 選擇實驗電路結(jié)構(gòu)

23、圖NO.1,由5.2節(jié)的實驗電路結(jié)構(gòu)圖NO.1和圖6.2確定引腳的鎖定。如乘法運算時鐘CLK接CLOCK0,清零及啟動運算信號START由鍵8 (PIO49)控制,乘數(shù)B7.0接PIO7PIO0(由鍵2,鍵1輸入8位二進(jìn)制數(shù)),被乘數(shù)A7.0接PIO15PIO8(由鍵4,鍵3輸入8位二進(jìn)制數(shù)),乘積輸出DOUT15.0接PIO31PIO16,乘法運算結(jié)束信號ARIEND接PIO39(D8)。第6章 VHDL設(shè)計應(yīng)用實例 進(jìn)行硬件驗證時方法如下: 鍵2和鍵1分別輸入乘數(shù)的高4位和低4位(輸入值顯示于數(shù)碼2和數(shù)碼1); 鍵4和鍵3分別輸入被乘數(shù)的高4位和低4位(輸入值顯示于數(shù)碼4和數(shù)碼3); 乘法

24、操作時鐘信號輸入接CLOCK0; 鍵8輸入高電平時,乘積鎖存器清零,乘數(shù)和被乘數(shù)數(shù)值加載,低電平時開始作乘法,8個脈沖后乘法結(jié)束,乘積顯示于數(shù)碼管85,高位在左。 第6章 VHDL設(shè)計應(yīng)用實例6.3 序列檢測器的設(shè)計序列檢測器的設(shè)計 1設(shè)計思路設(shè)計思路 序列檢測器可用于檢測一組或多組由二進(jìn)制碼組成的脈沖序列信號,這在數(shù)字通信領(lǐng)域有廣泛的應(yīng)用。當(dāng)序列檢測器連續(xù)收到一組串行二進(jìn)制碼后,如果這組碼與檢測器中預(yù)先設(shè)置的碼相同,則輸出1,否則輸出0。由于這種檢測的關(guān)鍵在于正確碼的收到必須是連續(xù)的,這就要求檢測器必須記住前一次的正確碼及正確序列,直到在連續(xù)的檢測中所收到的每一位碼都與預(yù)置數(shù)的對應(yīng)碼相同。在

25、檢測過程中,任何一位不相等都將回到初始狀態(tài)重新開始檢測。如圖6.3所示,當(dāng)一串待檢測的串行數(shù)據(jù)進(jìn)入檢測器后,若此數(shù)在每一位的連續(xù)檢測中都與預(yù)置的密碼數(shù)相同,則輸出“A”,否則仍然輸出“B”。 第6章 VHDL設(shè)計應(yīng)用實例圖6.3 8位序列檢測器邏輯圖CHKAB3.0D7.0CLRCLKDINCLKDINCLRD7.0AB3.0第6章 VHDL設(shè)計應(yīng)用實例2VHDL源程序源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CHK IS PORT(DIN:IN STD_LOGIC; -串行輸入數(shù)據(jù)位 CLK,CLR:IN STD_LOGIC; -工

26、作時鐘/復(fù)位信號 D:IN STD_LOGIC_VECTOR(7 DOWNTO 0);-8位待檢測預(yù)置數(shù) AB:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);-檢測結(jié)果輸出END CHK;ARCHITECTURE ART OF CHK IS 第6章 VHDL設(shè)計應(yīng)用實例SIGNAL Q :INTEGER RANGE 0 TO 8;BEGINPROCESS ( CLK,CLR )BEGIN IF CLR= 1 THEN Q IF DIN =D(7) THEN Q= 1 ;ELSE Q IF DIN =D(6) THEN Q= 2 ;ELSE Q IF DIN =D(5) TH

27、EN Q= 3 ;ELSE Q IF DIN =D(4) THEN Q= 4 ;ELSE Q IF DIN =D(3) THEN Q= 5 ;ELSE Q IF DIN =D(2) THEN Q= 6 ;ELSE Q IF DIN =D(1) THEN Q= 7 ;ELSE Q IF DIN =D(0) THEN Q= 8 ;ELSE Q Q=0;END IF ;第6章 VHDL設(shè)計應(yīng)用實例END PROCESS;PROCESS(Q) -檢測結(jié)果判斷輸出BEGIN IF Q= 8 THEN AB= 1010; -序列數(shù)檢測正確,輸出“A” ELSE AB= 1011; -序列數(shù)檢測錯誤,輸出

28、“B” END IF ; END PROCESS;END ART;第6章 VHDL設(shè)計應(yīng)用實例 3硬件邏輯驗證硬件邏輯驗證 選擇實驗電路結(jié)構(gòu)圖NO.8,由5.2節(jié)的實驗電路結(jié)構(gòu)圖NO.8和圖6.3確定引腳的鎖定。待檢測串行序列數(shù)輸入DIN接PIO10(左移,最高位在前),清零信號CLR接PIO8,工作時鐘CLK接PIO9,預(yù)置位密碼D7.0接PIO7PIO0,指示輸出AB3.0接PIO39PIO36(顯示于數(shù)碼管6)。第6章 VHDL設(shè)計應(yīng)用實例 進(jìn)行硬件驗證時方法如下: 選擇實驗電路結(jié)構(gòu)圖NO.8,按實驗板“系統(tǒng)復(fù)位”鍵; 用鍵2和鍵1輸入兩位十六進(jìn)制待測序列數(shù); 利用鍵4和鍵3輸入兩位十六

29、進(jìn)制預(yù)置碼; 按鍵8,高電平初始化清零,低電平清零結(jié)束(平時數(shù)碼6應(yīng)顯“B”); 按鍵6(CLK)8次,這時若串行輸入的8位二進(jìn)制序列碼與預(yù)置碼相同,則數(shù)碼7應(yīng)從原來的“B”變成“A”,表示序列檢測正確,否則仍為“B”。第6章 VHDL設(shè)計應(yīng)用實例6.4 正負(fù)脈寬數(shù)控調(diào)制信號發(fā)生器的設(shè)計正負(fù)脈寬數(shù)控調(diào)制信號發(fā)生器的設(shè)計 1設(shè)計思路設(shè)計思路 圖6.4 是脈寬數(shù)控調(diào)制信號發(fā)生器邏輯圖,此信號發(fā)生器是由兩個完全相同的可自加載加法計數(shù)LCNT8組成的,它的輸出信號的高低電平脈寬可分別由兩組8位預(yù)置數(shù)進(jìn)行控制。第6章 VHDL設(shè)計應(yīng)用實例圖6.4 脈寬數(shù)控調(diào)制信號發(fā)生器邏輯圖I2DQCLRNPRNVCC

30、PSOUTLCNT8CAOD7.0LDCLKBACLKLCNT8CAOD7.0LDCLKU1U2LD1CAO1LD2CAO2PSINT第6章 VHDL設(shè)計應(yīng)用實例 如果將初始值可預(yù)置的加法計數(shù)器的溢出信號作為本計數(shù)器的初始預(yù)置加載信號LD,則可構(gòu)成計數(shù)初始值自加載方式的加法計數(shù)器,從而構(gòu)成數(shù)控分頻器。圖6.4中D觸發(fā)器的一個重要功能就是均勻輸出信號的占空比,提高驅(qū)動能力,這對驅(qū)動,諸如揚聲器或電動機十分重要。第6章 VHDL設(shè)計應(yīng)用實例2VHDL源程序源程序1) 8位可自加載加法計數(shù)器的源程序LCNT8.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164,.ALL;

31、ENTITY LCNT8 IS -8位可自加載加法計數(shù)器 PORT(CLK,LD:IN STD_LOGIC; -工作時鐘/預(yù)置值加載信號 D:IN INTEGER RANGE 0 TO 255;-8位分頻預(yù)置數(shù) CAO:OUT STD_LOGIC); -計數(shù)溢出輸出END LCNT8;ARCHITECTURE ART OF LCNT8 IS SIGNAL COUNT:INTEGER RANGE 0 TO 255; -8位計數(shù)器設(shè)置 BEGIN PROCESS ( CLK )第6章 VHDL設(shè)計應(yīng)用實例BEGIN IF CLKEVENT AND CLK= 1 THEN IF LD= 1 THEN

32、 COUNT=D; -LD為高電平時加載預(yù)置數(shù) ELSE COUNT=COUNT+1; -否則繼續(xù)計數(shù) END IF; END IF;END PROCESS;PROCESS (COUNT)BEGIN IF COUNT=255 THEN CAO= 1; -計數(shù)滿后,置于溢出位 ELSE CAOCLK,LD=LD1, D=A,CAO=CAO1); U2:LCNT8 PORT MAP(CLK=CLK,LD=LD2, D=B,CAO=CAO2);第6章 VHDL設(shè)計應(yīng)用實例PROCESS(CAO1,CAO2)BEGIN IF CAO1= 1 THEN PSINT= 0; ELSIF CAO2 EVEN

33、T AND CAO2= 1 THEN PSINT=1; END IF; END PROCESS; LD1=NOT PSINT;LD2=PSINT;PSOUT=PSINT;END ART;第6章 VHDL設(shè)計應(yīng)用實例 3. 硬件邏輯驗證硬件邏輯驗證 選擇實驗電路結(jié)構(gòu)圖NO.1,由5.2節(jié)的實驗電路結(jié)構(gòu)圖NO.1和圖6.4確定引腳的鎖定。輸入時鐘CLK接CLOCK0(用于發(fā)聲時,接頻率65536 Hz);8位數(shù)控預(yù)置輸入B7.0接PIO15PIO8,由鍵4和鍵3控制輸入,輸入值分別顯示于數(shù)碼管4和數(shù)碼管3;另8位數(shù)控預(yù)置輸入A7.0接PIO7PIO0,由鍵1和鍵2控制輸入,輸入值分別顯示于數(shù)碼管2

34、和數(shù)碼管1;輸出PSOUT 接SPEAKER(對應(yīng)1032E是第5引腳PIN5;對應(yīng)EPF10K是第3引腳PIN3)。第6章 VHDL設(shè)計應(yīng)用實例 進(jìn)行硬件驗證時方法如下:通過鍵2和鍵1輸入控制高電平信號脈寬的預(yù)置數(shù)(顯示于數(shù)碼管2和1);由鍵4和鍵3輸入控制低電平信號脈寬的預(yù)置數(shù)(顯示于數(shù)碼管4和3);取待分頻率F=12 MHz、6 MHz或3 MHz,通過短路帽輸入CLK9;頻率輸出可利用示波器觀察波形隨預(yù)置數(shù)的變化而變化的情況。在沒有示波器時,“CLK”可接低頻率信號,然后接通揚聲器,通過聲音音調(diào)的變化來了解輸出頻率的變化。第6章 VHDL設(shè)計應(yīng)用實例6.5 數(shù)字頻率計的設(shè)計數(shù)字頻率計的

35、設(shè)計 1. 設(shè)計思路設(shè)計思路 圖6.5是8位十進(jìn)制數(shù)字頻率計的電路邏輯圖,它由一個測頻控制信號發(fā)生器TESTCTL、8個有時鐘使能的十進(jìn)制計數(shù)器CNT10、一個32位鎖存器REG32B組成。以下分別敘述頻率計各邏輯模塊的功能與設(shè)計方法。 第6章 VHDL設(shè)計應(yīng)用實例圖6.5 8位十進(jìn)制數(shù)字頻率計邏輯圖SD31.0REG32BTESTCTLGNDFSINCLKDOUT31.0SD31.28SD27.24SD23.20SD19.16SD15.12SD11.8SD7.4SD3.0DOUT31.0DIN31.0LOADCLKCQ3.0CARRY_OUTENACLRCNT10CNT10CLKCQ3.0C

36、ARRY_OUTENACLRCNT10CNT10CLKCQ3.0CARRY_OUTENACLRCNT10CNT10CLKCQ3.0CARRY_OUTENACLRCNT10CNT10CLKCQ3.0CARRY_OUTENACLRCNT10CNT10CLKCQ3.0CARRY_OUTENACLRCLKCQ3.0CARRY_OUTENACLRCNT10CLKCQ3.0CARRY_OUTENACLRLOADCLR_CNTTSTENRSTCLKU0U9U2U1U3U4U8U7U6U5SESCSLS1S2S3S4S5S6S7S8第6章 VHDL設(shè)計應(yīng)用實例 1) 測頻控制信號發(fā)生器設(shè)計 頻率測量的基本原理

37、是計算每秒鐘內(nèi)待測信號的脈沖個數(shù)。這就要求TESTCTL的計數(shù)使能信號TSTEN能產(chǎn)生一個1秒脈寬的周期信號,并對頻率計的每一計數(shù)器CNT10的ENA使能端進(jìn)行同步控制。當(dāng)TSTEN高電平時,允許計數(shù);低電平時,停止計數(shù),并保持其所計的數(shù)。在停止計數(shù)期間,首先需要一個鎖存信號LOAD的上跳沿將計數(shù)器在前1秒鐘的計數(shù)值鎖存進(jìn)32位鎖存器REG32B中,并由外部的7段譯碼器譯出并穩(wěn)定顯示。鎖存信號之后,必須有一清零信號CLR_CNT對計數(shù)器進(jìn)行清零,為下1秒鐘的計數(shù)操作作準(zhǔn)備。測頻控制信號發(fā)生器的工作時序如圖6.6所示。為了產(chǎn)生這個時序圖,需首先建立一個由D觸發(fā)器構(gòu)成的二分頻器,在每次時鐘CLK上

38、沿到來時其值翻轉(zhuǎn)。第6章 VHDL設(shè)計應(yīng)用實例 其中控制信號時鐘CLK的頻率取1 Hz,而信號TSTEN的脈寬恰好為1 s,可以用作閘門信號。此時,根據(jù)測頻的時序要求,可得出信號LOAD和CLR_CNT的邏輯描述。由圖6.6可見,在計數(shù)完成后,即計數(shù)使能信號TSTEN在1 s的高電平后,利用其反相值的上跳沿產(chǎn)生一個鎖存信號LOAD,0.5 s后,CLR_CNT產(chǎn)生一個清零信號上跳沿。 高質(zhì)量的測頻控制信號發(fā)生器的設(shè)計十分重要,設(shè)計中要對其進(jìn)行仔細(xì)的實時仿真(TIMING SIMULATION),防止可能產(chǎn)生的毛刺。第6章 VHDL設(shè)計應(yīng)用實例圖6.6 測頻控制信號發(fā)生器工作時序I RSTI C

39、LKO TSTENO LOADO CLR_CNT第6章 VHDL設(shè)計應(yīng)用實例 2) 寄存器REG32B設(shè)計 設(shè)置鎖存器的好處是,顯示的數(shù)據(jù)穩(wěn)定,不會由于周期性的清零信號而不斷閃爍。若已有32位BCD碼存在于此模塊的輸入口,在信號LOAD的上升沿后即被鎖存到寄存器REG32B的內(nèi)部,并由REG32B的輸出端輸出,然后由實驗板上的7段譯碼器譯成能在數(shù)碼管上顯示輸出的相對應(yīng)的數(shù)值。第6章 VHDL設(shè)計應(yīng)用實例 3) 十進(jìn)制計數(shù)器CNT10的設(shè)計 如圖6.5所示,此十進(jìn)制計數(shù)器的特殊之處是,有一時鐘使能輸入端ENA,用于鎖定計數(shù)值。當(dāng)高電平時計數(shù)允許,低電平時禁止計數(shù)。第6章 VHDL設(shè)計應(yīng)用實例2.

40、 VHDL源程序源程序1) 有時鐘使能的十進(jìn)制計數(shù)器的源程序CNT10.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; -有時鐘使能的十進(jìn)制計數(shù)器ENTITY CNT10 ISPORT (CLK:IN STD_LOGIC; -計數(shù)時鐘信號 CLR:IN STD_LOGIC; -清零信號 END:IN STD_LOGIC; -計數(shù)使能信號 CQ:OUT INTEGER RANGE 0 TO 15;-4位計數(shù)結(jié)果輸出 CARRY_OUT:OUT STD_LOGIC); -計數(shù)進(jìn)位 END CNT10;ARCHITECTURE ART OF CNT10 IS

41、 第6章 VHDL設(shè)計應(yīng)用實例SIGNAL CQI :INTEGER RANGE 0 TO 15;BEGIN PROCESS(CLK,CLR,ENA) BEGIN IF CLR= 1 THEN CQI= 0; -計數(shù)器異步清零 ELSIF CLKEVENT AND CLK= 1 THEN IF ENA= 1 THEN IF CQI9 THEN CQI=CQI+1; ELSE CQI=0;END IF; -等于9,則計數(shù)器清零 END IF; END IF; END PROCESS; PROCESS (CQI) BEGIN IF CQI=9 THEN CARRY_OUT= 1; -進(jìn)位輸出 EL

42、SE CARRY_OUT= 0;END IF; END PROCESS; CQ=CQI;END ART;第6章 VHDL設(shè)計應(yīng)用實例2) 32位鎖存器的源程序REG32B.VHDLIBRARY IEEE; -32位鎖存器USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG32B IS PORT(LOAD:IN STD_LOGIC; DIN:IN STD_LOGIC_VECTOR(31 DOWNTO 0); DOUT:OUT STD_LOGEC_VECTOR(31 DOWNTO 0);END REG32B;ARCHITECTURE ART OF REG32B IS BEG

43、INPROCESS ( LOAD, DIN )BEGINIF LOAD EVENT AND LOAD= 1 THEN DOUT=DIN; -鎖存輸入數(shù)據(jù) END IF ; END PROCESS;END ART;第6章 VHDL設(shè)計應(yīng)用實例3) 測頻控制信號發(fā)生器的源程序TESTCTL.VHD LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; -測頻控制信號發(fā)生器USE IEEE.STD_LOGIC_UNSIGNED.ALLENTITY TESTCTL IS PORT (CLK:IN STD_LOGIC; -1 Hz測頻控制時鐘 TSTEN:OUT STD_L

44、OGIC; -計數(shù)器時鐘使能 CLR_CNT:OUT STD_LOGIC; -計數(shù)器清零 LOAD:OUT STD_LOGIC); -輸出鎖存信號END TESTCTL;ARCHITECTURE ART OF TESTCTL IS SIGNAL Dvi2CLK :STD_LOGIC; BEGIN第6章 VHDL設(shè)計應(yīng)用實例PROCESS ( CLK )BEGINIF CLKEVENT AND CLK= 1 THEN -1 Hz時鐘二分頻Div2CLK=NOT Div2CLK;END IF ;END PROCESS;PROCESS ( CLK,Div2CLK )BEGIN IF CLK= 0 A

45、ND Div2CLK = 0 THEN -產(chǎn)生計數(shù)器清零信號 CLR_CNT= 1; ELSE CLR_CNT= 0 ; END IF; END PROCESS; LOAD=NOT Div2CLK; TSTENCLK,TSTEN=TSTEN, CLR_CNT=CLR_CNT,LOAD=LOAD);U1:CNT10 PORT MAP(CLK=FSIN,CLR=CLR_CNT,ENA=TSTEN, CQ=DIN (3 DOWNTO 0),CARRY_OUT=CARRY1);U2:CNT10 PORT MAP(CLK=CARRY1,CLR=CLR_CNT,ENA=TSTEN, CQ=DIN (7 D

46、OWNTO 4),CARRY_OUT=CARRY2);U3:CNT10 PORT MAP(CLK=CARRY2,CLR=CLR_CNT,ENA=TSTEN, CQ=DIN (11 DOWNTO 8),CARRY_OUT=CARRY3);U4:CNT10 PORT MAP(CLK=CARRY3,CLR=CLR_CNT,ENA=TSTEN, CQ=DIN (15 DOWNTO 12),CARRY_OUT=CARRY4);U5:CNT10 PORT MAP(CLK=CARRY4,CLR=CLR_CNT,ENA=TSTEN,第6章 VHDL設(shè)計應(yīng)用實例 CQ=DIN (19 DOWNTO 16),CA

47、RRY_OUT=CARRY5);U6:CNT10 PORT MAP(CLK=CARRY5,CLR=CLR_CNT,ENA=TSTEN, CQ=DIN (23 DOWNTO 20),CARRY_OUT=CARRY6);U7:CNT10 PORT MAP(CLK=CARRY6,CLR=CLR_CNT,ENA=TSTEN, CQ=DIN (27 DOWNTO 24),CARRY_OUT=CARRY7);U8:CNT10 PORT MAP(CLK=CARRY7,CLR=CLR_CNT,ENA=TSTEN, CQ=DIN (31 DOWNTO 28),CARRY_OUT=CARRY8);U9:REG32

48、B PORT MAP(LOAD=LOAD,DIN=DIN(31 DOWNTO 0),DOUT=DOUT);END ART;第6章 VHDL設(shè)計應(yīng)用實例 3. 硬件邏輯驗證硬件邏輯驗證 選擇實驗電路結(jié)構(gòu)圖NO.0,由5.2節(jié)的實驗電路結(jié)構(gòu)圖NO.0和圖6.5確定引腳的鎖定,測頻控制器時鐘信號CLK(1 Hz)可接CLOCK1,待測頻FSIN可接CLOCK0,8位數(shù)碼顯示輸出DOUT31.0接PIO47PIO16。 進(jìn)行硬件驗證時方法如下:選擇實驗?zāi)J?,測頻控制器時鐘信號CLK與CLOCK1信號組中的1 Hz信號相接,待測頻FSIN與CLOCK0信號組中的某個信號相接,數(shù)碼管應(yīng)顯示來自CLOCK

49、0的頻率。第6章 VHDL設(shè)計應(yīng)用實例6.6 秒秒 表表 的的 設(shè)設(shè) 計計 1設(shè)計思路設(shè)計思路 今需設(shè)計一個計時范圍為0.01秒1小時的秒表,首先需要獲得一個比較精確的計時基準(zhǔn)信號,這里是周期為1/100 s的計時脈沖。其次,除了對每一計數(shù)器需設(shè)置清零信號輸入外,還需在6個計數(shù)器設(shè)置時鐘使能信號,即計時允許信號,以便作為秒表的計時起停控制開關(guān)。因此秒表可由1個分頻器、4個十進(jìn)制計數(shù)器 (1/100秒、1/10秒、1秒、1分)以及2個六進(jìn)制計數(shù)器(10秒、10分)組成,如圖6.7所示。6個計數(shù)器中的每一計數(shù)器的4位輸出,通過外設(shè)的BCD譯碼器輸出顯示。圖6.7中6個4位二進(jìn)制計數(shù)輸出的最小顯示值

50、分別為:DOUT3.01/100秒、DOUT7.41/10秒、DOUT11.81秒、DOUT15.1210秒、DOUT19.161分、DOUT23.2010分。第6章 VHDL設(shè)計應(yīng)用實例圖6.7 秒表電路邏輯圖DOUT11.8DOUT7.4ENACLRCLKCNT10CARRY_OUTCQ3.0CLRCLKCLKNEWCLKCLKGENENAENACLRCLKCNT10CARRY_OUTCQ3.0ENACLRCLKCNT10DOUT3.0CARRY_OUTCQ3.0ENACLRCLKCNT6DOUT23.20CARRY_OUTCQ3.0ENACLRCLKCNT10DOUT19.16CARRY

51、_OUTCQ3.0ENACLRCLKCNT6DOUT15.12CARRY_OUTCQ3.0DOUT23.0U0U1S1U2S2U3S3U6U5S5S4U4S0第6章 VHDL設(shè)計應(yīng)用實例2. VHDL源程序源程序1) 3 MHz100 Hz分頻器的源程序CLKGEN.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CLKGEN IS PORT (CLK:IN STD_LOGIC; -3 MHz信號輸入 NEWCLK:OUT STD_LOGIC ); -100 Hz計時時鐘信號輸出END CLKGEN;ARCHITECTURE ART OF

52、CLKGEN IS SIGNAL CNTER:INTEGER RANGE 0 TO 10#29999#; -十進(jìn)制計數(shù)預(yù)制數(shù) BEGIN PROCESS(CLK) -分頻計數(shù)器,由3 MHz時鐘產(chǎn)生100 Hz信號 BEGIN 第6章 VHDL設(shè)計應(yīng)用實例 IF CLKEVENT AND CLK=1 THEN IF CNTER=10#29999# THEN CNTER=0;-3 MHz信號變?yōu)?00 Hz,計數(shù)常數(shù)為30 000 ELSE CNTER=CNTER+1; END IF; END IF;END PROCESS;PROCESS(CNTER) -計數(shù)溢出信號控制BEGIN IF CNT

53、ER=10#29999# THEN NEWCLK=1; ELSE NEWCLK=0; END IF; END PROCESS;END ART; 第6章 VHDL設(shè)計應(yīng)用實例 2) 六進(jìn)制計數(shù)器的源程序CNT6.VHD(十進(jìn)制計數(shù)器的源程序CNT10.VHD與此類似)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT6 ISPORT (CLK:IN STD_LOGIC; CLR:IN STD_LOGIC; ENA: IN STD_LOGIC; CQ:OUT STD_LOGIC_VE

54、CTOR(3 DOWNTO 0); 第6章 VHDL設(shè)計應(yīng)用實例 CARRY_OUT: OUT STD_LOGIC );END CNT6;ARCHITECTURE ART OF CNT6 ISSIGNAL CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(CLK,CLR,ENA)BEGIN IF CLR=1 THEN CQI=0000; ELSIF CLKEVENT AND CLK=1 THEN IF ENA=1 THEN IF CQI=“0101” THEN CQI=“0000”;第6章 VHDL設(shè)計應(yīng)用實例 ELSE CQI=CQI+1;END I

55、F; END IF; END IF; END PROCESS; PROCESS(CQI) BEGIN IF CQI=“0000” THEN CARRY_OUT=1; ELSE CARRY_OUT=0;END IF; END PROCESS; CQCLK,NEWCLK=NEWCLK); U1:CNT10 PORT MAP(CLK=NEWCLK,CLR=CLR,ENA=ENA, CQ=DOUT(3 DOWNTO 0),CARRY_OUT=CARRY1);第6章 VHDL設(shè)計應(yīng)用實例 U2:CNT10 PORT MAP(CLK=CARRY1,CLR=CLR,ENA=ENA, CQ=DOUT(7 DO

56、WNTO 4),CARRY_OUT=CARRY2); U3:CNT10 PORT MAP(CLK=CARRY2,CLR=CLR,ENA=ENA, CQ=DOUT(11 DOWNTO 8),CARRY_OUT=CARRY3); U4:CNT6 PORT MAP(CLK=CARRY3,CLR=CLR,ENA=ENA, CQ=DOUT(15 DOWNTO 12),CARRY_OUT=CARRY4); U5:CNT10 PORT MAP(CLK=CARRY4,CLR=CLR,ENA=ENA, CQ=DOUT(19 DOWNTO 16),CARRY_OUT=CARRY5); U6:CNT6 PORT M

57、AP(CLK=CARRY5,CLR=CLR,ENA=ENA, CQ=DOUT(23 DOWNTO 20);END ART; 第6章 VHDL設(shè)計應(yīng)用實例 3. 硬件邏輯驗證硬件邏輯驗證 選擇實驗電路結(jié)構(gòu)圖NO.0,由5.2節(jié)的實驗電路結(jié)構(gòu)圖NO.0和圖6.7確定引腳的鎖定。時鐘信號CLK可接CLOCK0,計數(shù)清零信號接鍵1,計數(shù)使能信號接鍵2,數(shù)碼管16分別顯示以1/100 s、1/10 s、1 s、10 s、1 min、10 min為計時基準(zhǔn)的計數(shù)值。 進(jìn)行硬件驗證時方法如下:選擇實驗?zāi)J?,時鐘信號CLK與CLOCK0信號組中的3 MHz信號相接,鍵1和鍵2分別為計數(shù)清零信號和計數(shù)使能信號

58、,計數(shù)開始后時間顯示在6個數(shù)碼管上。第6章 VHDL設(shè)計應(yīng)用實例6.7 MCS-51單片機與單片機與FPGA/CPLD總線接口邏輯設(shè)計總線接口邏輯設(shè)計 單片機具有性能價格比高、功能靈活、易于人機對話和良好的數(shù)據(jù)處理能力等特點;PLD則具有高速、高可靠以及開發(fā)便捷規(guī)范等方面的優(yōu)點,以此兩類器件相結(jié)合的電路結(jié)構(gòu)在許多高性能儀器儀表和電子產(chǎn)品中將被廣泛應(yīng)用。單片機與CPLD的接口方式一般有兩種,即總線方式與獨立方式。 單片機以總線方式與FPGA/CPLD進(jìn)行數(shù)據(jù)與控制信息通信有許多優(yōu)點:第6章 VHDL設(shè)計應(yīng)用實例 (1) 速度快。其通信工作時序是純硬件行為,對于MCS-51單片機,只需一條單字節(jié)指

59、令就能完成所需的讀/寫時序,如:MOV DPTR,A;MOV A,DPTR。 (2) 節(jié)省PLD芯片的I/O口線。如圖6.9,如果將圖中的譯碼DECODER設(shè)置足夠的譯碼輸出,以及安排足夠的鎖存器,就能僅通過19根I/O口線在FPGA/CPLD與單片機之間進(jìn)行各種類型的數(shù)據(jù)與控制信息交換。 (3) 相對于非總線方式,單片機的編程簡捷,控制可靠。第6章 VHDL設(shè)計應(yīng)用實例 (4) 在FPGA/CPLD中通過邏輯切換,單片機易于與SRAM或ROM接口。這種方式有許多實用之處,如利用類似于微處理器DMA的工作方法,首先由FPGA/CPLD與接口的高速A/D等器件進(jìn)行高速數(shù)據(jù)采樣,并將數(shù)據(jù)暫存于SR

60、AM中,采樣結(jié)束后,通過切換,使單片機與SRAM以總線方式進(jìn)行數(shù)據(jù)通信,以便發(fā)揮單片機強大的數(shù)據(jù)處理能力。第6章 VHDL設(shè)計應(yīng)用實例 1設(shè)計思路設(shè)計思路 對單片機與FPGA/CPLD以總線方式通信的邏輯設(shè)計, 應(yīng)詳細(xì)了解單片機的總線讀寫時序,根據(jù)時序圖來設(shè)計邏輯結(jié)構(gòu)。圖6.8 是MCS-51系列單片機的時序圖,其時序電平變化速度與單片機工作時鐘頻率有關(guān)。圖中,ALE為地址鎖存使能信號,可利用其下降沿將低8位地址鎖存于FPGA/CPLD中的地址鎖存器(LATCH_ADDRES)中。當(dāng)ALE將低8位地址通過P0鎖存的同時,高8位地址已穩(wěn)定建立于P2口,單片機利用讀寫指令允許信號PSEN的低電平,從外部ROM中將

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論