第一篇:邏輯設(shè)計(jì)心得
序
很早之前就想對(duì)這幾個(gè)月工作經(jīng)歷寫的東西,一是作為自己的總結(jié),二是自己也很 想將自己這段時(shí)間的一些經(jīng)歷和大家分享一下,希望對(duì)初學(xué)者而言能使得他們能少走一 些彎路。只是公司里的事情很多,最近經(jīng)常加班,所以一直拖到現(xiàn)在。
能來(lái)到這家公司應(yīng)該是一種緣份--緣起NIOS。當(dāng)初三月份altera來(lái)我們學(xué)校建立SO PC實(shí)驗(yàn)室的時(shí)候自己還不知道NIOS是什么東西,只是想在altera的FAE講完NIOS后多問(wèn)他 幾個(gè)時(shí)序約束的問(wèn)題,然后拷一份PPT回去。但是想不到因?yàn)槟且环軳IOS的培訓(xùn)資料,我 認(rèn)識(shí)了edacn上的cawan,他給我講了很多NIOS的東西,之后是丁哥在SOC版帖了位NIOS大 賽的通知,然后我和隊(duì)友就去報(bào)了名,并去川大參加了NIOS的培訓(xùn),認(rèn)識(shí)了峻龍的FAE------o|> | | | / clk |--------|---------10)禁止用計(jì)數(shù)器分頻后的信號(hào)做其它模塊的時(shí)鐘,而要用改成時(shí)鐘使能的方式,否則這種時(shí)鐘滿天飛的方式對(duì)設(shè)計(jì)的可靠性極為不利,也大大增加了靜態(tài)時(shí)序分析的 復(fù)雜性。如FPGA的輸入時(shí)鐘是25M的,現(xiàn)在系統(tǒng)內(nèi)部要通過(guò)RS232與PC通信,要以rs232_ 1xclk的速率發(fā)送數(shù)據(jù)。不要這樣做: always(posedge rs232_1xclk or negedge rst_n)begin...end 而要這樣做:
always(posedge clk_25m or negedge rst_n)begin...else if(rs232_1xclk == 1'b1)...end 11)狀態(tài)機(jī)要寫成3段式的(這是最標(biāo)準(zhǔn)的寫法),即...always @(posedge clk or negedge rst_n)...current_state <= next_state;...always @(current_state...)...case(current_state)...s1: if...next_state = s2;......always @(posedge clk or negedge rst_n)...else a <= 1'b0;c <= 1'b0;c <= 1'b0;//賦默認(rèn)值 case(current_state)s1: a <= 1'b0;//由于上面賦了默認(rèn)值,這里就不用再對(duì)b、c賦值了
s2: b <= 1'b1;s3: c <= 1'b1;default:......3.ALTERA參考設(shè)計(jì)準(zhǔn)則
1)Ensure Clock, Preset, and Clear configurations are free of glitch es.2)Never use Clocks consisting of more than one level of combinatori al logic.3)Carefully calculate setup times and hold times for multi-Clock sy stems.4)Synchronize signals between flipflops in multi-Clock systems when the setup and hold time requirements cannot be met.5)Ensure that Preset and Clear signals do not contain race conditio ns.6)Ensure that no other internal race conditions exist.7)Register all glitch-sensitive outputs.Synchronize all asynchronous inputs.9)Never rely on delay chains for pin-to-pin or internal delays.10)Do not rely on Power-On Reset.Use a master Reset pin to clear al l flipflops.11)Remove any stuck states from state machines or synchronous logic.其它方面的規(guī)范一時(shí)沒有想到,想到了再寫,也歡迎大家補(bǔ)充。
如何提高電路工作頻率
對(duì)于設(shè)計(jì)者來(lái)說(shuō),我們當(dāng)然希望我們?cè)O(shè)計(jì)的電路的工作頻率(在這里如無(wú)特別說(shuō)明,工作頻率指FPGA片內(nèi)的工作頻率)盡量高。我們也經(jīng)常聽說(shuō)用資源換速度,用流水的 方式可以提高工作頻率,這確實(shí)是一個(gè)很重要的方法,今天我想進(jìn)一步去分析該如何提 高電路的工作頻率。
我們先來(lái)分析下是什么影響了電路的工作頻率。
我們電路的工作頻率主要與寄存器到寄存器之間的信號(hào)傳播時(shí)延及clock skew有關(guān)。在FPGA內(nèi)部如果時(shí)鐘走長(zhǎng)線的話,clock skew很小,基本上可以忽略, 在這里為了簡(jiǎn) 單起見,我們只考慮信號(hào)的傳播時(shí)延的因素。
信號(hào)的傳播時(shí)延包括寄存器的開關(guān)時(shí)延、走線時(shí)延、經(jīng)過(guò)組合邏輯的時(shí)延(這樣劃 分或許不是很準(zhǔn)確,不過(guò)對(duì)分析問(wèn)題來(lái)說(shuō)應(yīng)該是沒有可以的),要提高電路的工作頻率,我們就要在這三個(gè)時(shí)延中做文章,使其盡可能的小。
我們先來(lái)看開關(guān)時(shí)延,這個(gè)時(shí)延是由器件物理特性決定的,我們沒有辦法去改變,所以我們只能通過(guò)改變走線方式和減少組合邏輯的方法來(lái)提高工作頻率。1.通過(guò)改變走線的方式減少時(shí)延。
以altera的器件為例,我們?cè)趒uartus里面的timing closure floorplan可以看到有 很多條條塊塊,我們可以將條條塊塊按行和按列分,每一個(gè)條塊代表1個(gè)LAB,每個(gè)LAB里 有8個(gè)或者是10個(gè)LE。它們的走線時(shí)延的關(guān)系如下:同一個(gè)LAB中(最快)< 同列或者同 行 < 不同行且不同列。
我們通過(guò)給綜合器加適當(dāng)?shù)募s束(不可貪心,一般以加5%裕量較為合適,比如電路 工作在100Mhz,則加約束加到105Mhz就可以了,貪心效果反而不好,且極大增加綜合時(shí) 間)可以將相關(guān)的邏輯在布線時(shí)盡量布的靠近一點(diǎn),從而減少走線的時(shí)延。(注:約束 的實(shí)現(xiàn)不完全是通過(guò)改進(jìn)布局布線方式去提高工作頻率,還有其它的改進(jìn)措施)2.通過(guò)減少組合邏輯的減少時(shí)延。
上面我們講了可以通過(guò)加約束來(lái)提高工作頻率,但是我們?cè)谧鲈O(shè)計(jì)之初可萬(wàn)萬(wàn)不可 將提高工作頻率的美好愿望寄托在加約束上,我們要通過(guò)合理的設(shè)計(jì)去避免出現(xiàn)大的組 合邏輯,從而提高電路的工作頻率,這才能增強(qiáng)設(shè)計(jì)的可移植性,才可以使得我們的設(shè) 計(jì)在移植到另一同等速度級(jí)別的芯片時(shí)還能使用。
我們知道,目前大部分FPGA都基于4輸入LUT的,如果一個(gè)輸出對(duì)應(yīng)的判斷條件大于 四輸入的話就要由多個(gè)LUT級(jí)聯(lián)才能完成,這樣就引入一級(jí)組合邏輯時(shí)延,我們要減少組 合邏輯,無(wú)非就是要輸入條件盡可能的少,這樣就可以級(jí)聯(lián)的LUT更少,從而減少了組 合邏輯引起的時(shí)延。
我們平時(shí)聽說(shuō)的流水就是一種通過(guò)切割大的組合邏輯(在其中插入一級(jí)或多級(jí)D觸發(fā) 器,從而使寄存器與寄存器之間的組合邏輯減少)來(lái)提高工作頻率的方法。比如一個(gè)32 位的計(jì)數(shù)器,該計(jì)數(shù)器的進(jìn)位鏈很長(zhǎng),必然會(huì)降低工作頻率,我們可以將其分割成4位和 8位的計(jì)數(shù),每當(dāng)4位的計(jì)數(shù)器計(jì)到15后觸發(fā)一次8位的計(jì)數(shù)器,這樣就實(shí)現(xiàn)了計(jì)數(shù)器的切 割,也提高了工作頻率。
在狀態(tài)機(jī)中,一般也要將大的計(jì)數(shù)器移到狀態(tài)機(jī)外,因?yàn)橛?jì)數(shù)器這東西一般是經(jīng)常 是大于4輸入的,如果再和其它條件一起做為狀態(tài)的跳變判據(jù)的話,必然會(huì)增加LUT的級(jí) 聯(lián),從而增大組合邏輯。以一個(gè)6輸入的計(jì)數(shù)器為例,我們?cè)M?dāng)計(jì)數(shù)器計(jì)到111100后 狀態(tài)跳變,現(xiàn)在我們將計(jì)數(shù)器放到狀態(tài)機(jī)外,當(dāng)計(jì)數(shù)器計(jì)到111011后產(chǎn)生個(gè)enable信號(hào) 去觸發(fā)狀態(tài)跳變,這樣就將組合邏輯減少了。
上面說(shuō)的都是可以通過(guò)流水的方式切割組合邏輯的情況,但是有些情況下我們是很 難去切割組合邏輯的,在這些情況下我們又該怎么做呢?
狀態(tài)機(jī)就是這么一個(gè)例子,我們不能通過(guò)往狀態(tài)譯碼組合邏輯中加入流水。如果我 們的設(shè)計(jì)中有一個(gè)幾十個(gè)狀態(tài)的狀態(tài)機(jī),它的狀態(tài)譯碼邏輯將非常之巨大,毫無(wú)疑問(wèn),這極有可能是設(shè)計(jì)中的關(guān)鍵路徑。那我們?cè)撛趺醋瞿??還是老思路,減少組合邏輯。我 們可以對(duì)狀態(tài)的輸出進(jìn)行分析,對(duì)它們進(jìn)行重新分類,并根據(jù)這個(gè)重新定義成一組組小 狀態(tài)機(jī),通過(guò)對(duì)輸入進(jìn)行選擇(case語(yǔ)句)并去觸發(fā)相應(yīng)的小狀態(tài)機(jī),從而實(shí)現(xiàn)了將大的 狀態(tài)機(jī)切割成小的狀態(tài)機(jī)。在ATA6的規(guī)范中(硬盤的標(biāo)準(zhǔn)),輸入的命令大概有20十種,每一個(gè)命令又對(duì)應(yīng)很多種狀態(tài),如果用一個(gè)大的狀態(tài)機(jī)(狀態(tài)套狀態(tài))去做那是不可 想象的,我們可以通過(guò)case語(yǔ)句去對(duì)命令進(jìn)行譯碼,并觸發(fā)相應(yīng)的狀態(tài)機(jī),這樣做下來(lái) 這一個(gè)模塊的頻率就可以跑得比較高了。
總結(jié):提高工作頻率的本質(zhì)就是要減少寄存器到寄存器的時(shí)延,最有效的方法就是 避免出現(xiàn)大的組合邏輯,也就是要盡量去滿足四輸入的條件,減少LUT級(jí)聯(lián)的數(shù)量。我們 可以通過(guò)加約束、流水、切割狀態(tài)的方法提高工作頻率。
第二篇:控制邏輯設(shè)計(jì)_教案
11章 控制邏輯設(shè)計(jì)
一.定義對(duì)話模塊
對(duì)話程序主要是應(yīng)用于PBO,PAI.POV(F1幫助事件).POH(F4幫助事件)三個(gè)事件中。
對(duì)話程序主要的定義方式為:
Module name output.…….Endmodule.Module name input.…….Endmodule.定義好的對(duì)話模塊是不專屬與任何一個(gè)事務(wù)屏幕,而是可以在任意一個(gè)事務(wù)屏幕中調(diào)用。通過(guò)系統(tǒng)變量sy-dynnr來(lái)獲得當(dāng)前調(diào)用對(duì)話模塊的屏幕號(hào)。
二.調(diào)用對(duì)話模塊
調(diào)用對(duì)話模塊的語(yǔ)法:
Module mod.事物程序的執(zhí)行流程:P366。
三.無(wú)條件調(diào)用
無(wú)條件的調(diào)用,主要應(yīng)用與back,exit,cancel 這幾個(gè)按鈕當(dāng)中。
無(wú)條件調(diào)用的意義:
在用戶進(jìn)行操作時(shí),在不可避免的情況下不知道如何輸入數(shù)據(jù)和進(jìn)行了誤操作,進(jìn)入了一個(gè)無(wú)法操作的界面,而此界面又會(huì)有一些輸入的檢查,所以直接按后退或者退出的按鈕時(shí),不會(huì)進(jìn)行后退的功能。因此出現(xiàn)了無(wú)條件調(diào)用。無(wú)論用戶輸入滿足系統(tǒng)檢查與否,該模塊都將首先被其調(diào)用。
無(wú)條件調(diào)用的定義方式:
1.首先set pf-status 中設(shè)置一個(gè)BACK的按鈕。然后雙擊該功能代碼或者通過(guò)goto→object list → function list 進(jìn)行設(shè)定。2.將該功能碼的類型更改成E的類型。3.在接收和處理此功能的方式為:
a)在邏輯流中PBO事件里添加一個(gè)新的module。如:module mod at exit-command.(將功能碼的類型定義為E類型以后。必須使用此類型進(jìn)行處理)b)在程序中處理的方式為:
Module mod input.If ok_code = ‘BACK’.Clear ok_code.Leave to screen 0.Endif.Endmodule.四.?dāng)?shù)據(jù)傳輸控制
1.系統(tǒng)自動(dòng)傳輸
系統(tǒng)自動(dòng)傳輸?shù)闹饕绞綖?,將屏幕中的字段與ABAP程序中的字段同名。那么在屏幕的PBO執(zhí)行中。如果ABAP中的字段進(jìn)行了初始化,那么在PBO執(zhí)行結(jié)束時(shí),屏幕中的字段自動(dòng)被進(jìn)行了初始化。
2.模塊條件調(diào)用
1)單字段條件調(diào)用
Field dynpfield Module mod on input.Dynpfield :為屏幕中字段的名字。
Module:為ABAP中處理?xiàng)l件的module名。
另外一種形式:
Field dynpfield Module mod On Request.這種形式是只有在用戶對(duì)該字段進(jìn)行輸入值時(shí),才調(diào)用ABAP模塊。任何形式的手工輸入都會(huì)觸發(fā)On Request 條件,系統(tǒng)將下列設(shè)置字段的方式視為手工輸入:
a)實(shí)際用戶輸入。
b)通過(guò)set parameter字段輸入(手工和自動(dòng)兩種).c)通過(guò)hold data 功能設(shè)置字段輸入(在菜單system→user profile→hold data中設(shè)置)
d)用于事物調(diào)用時(shí)的參數(shù)輸入(call transaction…..using)。e)用于整個(gè)定制系統(tǒng)的全局字段。
2)組合字段條件調(diào)用
Chain.Field: f1, f2 …………
Module mod1 on chain-input | chain-request.Field: g1, g2………….Module mod2 on chain-input | chain-request.Endchain.其中chain-input 和chain-request 與單字段條件調(diào)用中的on input 和 on request類似。兩種的區(qū)別在于,如果field語(yǔ)句中的任意一個(gè)字段滿足條件,則觸發(fā)位于該字段之前的模塊。對(duì)于on chain-input,如果鏈中的任意字段包含初始值(空或零)以外的值,則調(diào)用ABAP模塊。對(duì)于on chain-request,如果鏈中的任一字段的值發(fā)生用戶輸入時(shí)間,則調(diào)用ABAP模塊,所以當(dāng)fi之一滿足條件時(shí),mod1被調(diào)用,當(dāng)fi或gi滿足條件時(shí),mod2調(diào)用。
五. 輸入檢查
1.檢查單個(gè)字段
field spfli-airpfrom MODULE check_fr_airport.module check_fr_airport input.select single * from sairport into it_spfli where id = spfli-airpfrom.if sy-subrc <> 0.MESSAGE e003(zp)WITH spfli-airpfrom.ENDIF.endmodule.2.檢查多個(gè)字段
Chain.Field: spfli-carrid, spfli-connid.Module check_flight.Endchain.如果二者之一出現(xiàn)錯(cuò)誤,將觸發(fā)錯(cuò)誤消息,兩個(gè)字段也均可輸入。
第三篇:數(shù)字邏輯設(shè)計(jì)報(bào)告
《數(shù)字邏輯課程設(shè)計(jì)》
姓名: 宋國(guó)正 班級(jí):計(jì)142 學(xué)號(hào):149074056
2016年9月25日
一、設(shè)計(jì)任務(wù)要求
數(shù)字時(shí)鐘是由振蕩器、分頻器、計(jì)秒電路、計(jì)分電路、計(jì)時(shí)電路組成。計(jì)時(shí)采用24h和12h兩種。當(dāng)接通電源或數(shù)字鐘走時(shí)出現(xiàn)誤差,都需要對(duì)數(shù)字鐘作時(shí)、分、秒時(shí)間校正。本次設(shè)計(jì)的具體要求如下:
1、顯示時(shí)、分、秒的十進(jìn)制顯示,采用24小時(shí)制。
2、校時(shí)功能。
3、整點(diǎn)報(bào)時(shí)。
二、設(shè)計(jì)思路
1、數(shù)字鐘的組成原理圖
數(shù)字式電子鐘實(shí)際上是一個(gè)對(duì)標(biāo)準(zhǔn)1Hz 進(jìn)行計(jì)數(shù)的計(jì)數(shù)電路!秒計(jì)數(shù)器滿60 后向分計(jì)數(shù)器進(jìn)位,分計(jì)數(shù)器滿60 后向時(shí)計(jì)數(shù)器進(jìn)位, 時(shí)計(jì)數(shù)器按24翻1 規(guī)律計(jì)數(shù), 計(jì)數(shù)輸出經(jīng)譯碼器送LED 顯示器,由于計(jì)數(shù)的起始時(shí)間不可能與標(biāo)準(zhǔn)時(shí)間一致,故需要在電路上加上一個(gè)校時(shí)電路。
同時(shí)標(biāo)準(zhǔn)的1Hz時(shí)間信號(hào)必須做到準(zhǔn)確、穩(wěn)定,通常使用石英晶體振蕩器電
路構(gòu)成。
時(shí)顯示器
分顯示器 秒顯示器
時(shí)譯碼器
分譯碼器
秒譯碼器
時(shí)計(jì)數(shù)器
時(shí)計(jì)數(shù)器 時(shí)計(jì)數(shù)器
校時(shí)電路
振蕩器
分頻器
2、數(shù)字鐘設(shè)計(jì)方案
為完成上述功能,可以把數(shù)字鐘系統(tǒng)劃分為三部分:時(shí)針源(即標(biāo)準(zhǔn)秒鐘的產(chǎn)生電路)主體電路,擴(kuò)展電路。主體電路EDA 設(shè)計(jì)又可劃分為計(jì)時(shí)電路、校時(shí)電路、譯碼顯示電路3部分。
3、底層電路設(shè)計(jì)
時(shí)針源——晶體振蕩器電路給數(shù)字式電子鐘提供一個(gè)頻率穩(wěn)定、準(zhǔn)確的32768Hz的方波信號(hào),將32768Hz的高頻方波信號(hào)經(jīng)32768次分頻后得到1Hz 的方波信號(hào)供秒計(jì)數(shù)器進(jìn)行計(jì)數(shù),實(shí)現(xiàn)該分頻功能的計(jì)數(shù)器相當(dāng)于15 級(jí)二進(jìn)制計(jì)數(shù)器。
計(jì)時(shí)電路——時(shí)間計(jì)數(shù)器電路由秒個(gè)位、秒十位計(jì)數(shù)器,分個(gè)位、分十位計(jì)數(shù)及時(shí)個(gè)位、時(shí)十位計(jì)數(shù)電路構(gòu)成。其中,秒個(gè)位和秒十位計(jì)數(shù)器,分個(gè)位和分十位計(jì)數(shù)為六十進(jìn)制計(jì)數(shù)器,而根據(jù)設(shè)計(jì)要求時(shí)個(gè)位和時(shí)十位構(gòu)成的為二十四進(jìn)制計(jì)數(shù)器,時(shí)間計(jì)數(shù)單元共有:時(shí)計(jì)數(shù),分計(jì)數(shù)和秒計(jì)數(shù)3部分,根據(jù)設(shè)計(jì)要求時(shí)計(jì)數(shù)單元為一個(gè)二十四進(jìn)制計(jì)數(shù)器,共輸出為兩位8421BCD碼形式;分計(jì)數(shù)和秒計(jì)數(shù)單元為六十進(jìn)制計(jì)數(shù)器!共輸出也為兩位8421BCD碼。圖1和圖2 分別給出了60進(jìn)制計(jì)數(shù)器和24進(jìn)制邏輯圖。
圖
一、60進(jìn)制計(jì)數(shù)器
圖
二、24進(jìn)制計(jì)數(shù)器
校時(shí)電路——當(dāng)剛接通電源或走時(shí)出現(xiàn)誤差時(shí)都需要對(duì)時(shí)間進(jìn)行校正。對(duì)時(shí)間的校正是通過(guò)截?cái)嗾5挠?jì)數(shù)通路,而用頻率較高的方波信號(hào)加到其需要校正的計(jì)數(shù)單元的輸入端!這樣可以很快使校正的時(shí)間調(diào)整到標(biāo)準(zhǔn)時(shí)間的數(shù)值,這時(shí)再將選擇開關(guān)打向正常時(shí)就可以準(zhǔn)確走時(shí)了。如圖3所示為時(shí)、分、秒校時(shí)的校時(shí)電路。在校時(shí)電路中,其實(shí)現(xiàn)方法是采用計(jì)數(shù)脈沖和計(jì)數(shù)使能來(lái)實(shí)現(xiàn)校時(shí)的。
譯 碼 顯 示 電 路——為了將計(jì)數(shù)器輸出的8421BCD碼顯示出來(lái),須用顯示譯碼電路將計(jì)數(shù)器的輸出數(shù)碼轉(zhuǎn)換為數(shù)碼顯示器件所需要的輸出邏輯和一定的電流,這種譯碼器通常稱為七段譯碼顯示驅(qū)動(dòng)器電路,本設(shè)計(jì)可選器件7447為譯碼驅(qū)動(dòng)電路。譯碼驅(qū)動(dòng)電路將計(jì)數(shù)器輸出的8421BCD碼轉(zhuǎn)換為數(shù)碼管需要的邏輯狀態(tài),并且為保證數(shù)碼管正常工作提供足夠的工作電流。
4、數(shù)字鐘頂層電路設(shè)計(jì)
首先按前面的設(shè)計(jì)方案進(jìn)行低層模塊的設(shè)計(jì)與編輯仿真,正確無(wú)誤后,即可將設(shè)計(jì)的低層模塊轉(zhuǎn)化為與之相對(duì)應(yīng)的元件符號(hào),而后我們就可以用這些元件符號(hào)來(lái)設(shè)計(jì)數(shù)字鐘的頂層原理圖,如圖4所示。本設(shè)計(jì)中要仿真的對(duì)象為數(shù)字鐘,須設(shè)定一個(gè)1Hz的輸入時(shí)鐘信號(hào)和一個(gè)校時(shí)脈沖SET,模擬的設(shè)置開關(guān)信號(hào)MODE的波形,為了能夠看到合適的仿真結(jié)果,假定網(wǎng)絡(luò)時(shí)間(Girl Size)為10.0ns,總模
擬的時(shí)間(END TIME)為3ms。
三、軟件仿真 1、60進(jìn)制計(jì)數(shù)器的仿真結(jié)果如下:
60進(jìn)制計(jì)數(shù)器仿真波形圖 2、24進(jìn)制計(jì)數(shù)器仿真結(jié)果如下:
24進(jìn)制計(jì)數(shù)器仿真波形圖
3、數(shù)字鐘的頂層電路仿真結(jié)果如下:
數(shù)字鐘的頂層電路波形仿真圖
四、討論
數(shù)字時(shí)鐘基于MAX+ plus II設(shè)計(jì), 經(jīng)過(guò)軟件仿真并下載到硬件(電子EDA 10
實(shí)驗(yàn)開發(fā)系統(tǒng))實(shí)現(xiàn), 結(jié)果表明本設(shè)計(jì)是合理可行的,但是感覺很繁瑣,是不是可以考慮一種過(guò)程簡(jiǎn)單一點(diǎn)的呢?通過(guò)查閱大量資料發(fā)現(xiàn)是可以的。其另一種設(shè)計(jì)思想及方法是以語(yǔ)言描述為主, 原理圖設(shè)計(jì)相結(jié)合。但是使用過(guò)多可能會(huì)導(dǎo)致編譯失敗。所以在設(shè)計(jì)的過(guò)程中,如何取舍是一個(gè)難題,本人認(rèn)為對(duì)于我這樣基礎(chǔ)不是很扎實(shí)的,采用前者是比較合理的。
五、參考文獻(xiàn)
(1)張輝宜,數(shù)字邏輯 中國(guó)科學(xué)技術(shù)大學(xué)出版社
(2)廖裕評(píng),陸瑞強(qiáng),CPLD數(shù)字電路設(shè)計(jì)__使用 MAX+Plus II[M],北京:清華大學(xué)出版社
六、心得體會(huì)
我學(xué)到了很多東西,掌握了數(shù)字邏輯的各種設(shè)計(jì)方法
第四篇:邏輯設(shè)計(jì)工程師崗位職責(zé)
1.根據(jù)項(xiàng)目需求完成相應(yīng)的PLD、FPGA程序設(shè)計(jì)、優(yōu)化及調(diào)試等工作。
2.根據(jù)要求書寫規(guī)范的編程手冊(cè)、調(diào)測(cè)報(bào)告等文檔。
3.配合硬件工程師進(jìn)行調(diào)測(cè)。
第五篇:數(shù)字電路與邏輯設(shè)計(jì)實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn) 報(bào)告書
課程名稱
數(shù)字電路與邏輯設(shè)計(jì)
專
業(yè)
計(jì)算機(jī)科學(xué)與技術(shù)
班
級(jí)
姓
名
劉
騰
飛
學(xué)
號(hào)
09030234
指導(dǎo)教師
王
丹
志
成績(jī)
2010年 年 11月 月 10 日
實(shí)驗(yàn)題目:
譯碼器、數(shù)據(jù)選擇器及其應(yīng)用
一、實(shí)驗(yàn)?zāi)康?1、掌握中規(guī)模集成譯碼器與數(shù)據(jù)選擇器的邏輯功能與使用方法
2、熟悉數(shù)碼管的使用 3、學(xué)習(xí)用數(shù)據(jù)選擇器構(gòu)成組合邏輯電路的方法 二、實(shí)驗(yàn)原理 1 1、中規(guī)模集成譯碼器 74 LS 138
74LS138是集成3線-8線譯碼器,在數(shù)字系統(tǒng)中應(yīng)用比較廣泛。圖-1是其引腳排列。其中 A2、A1、A0為地址輸入端,0Y~ 7Y為譯碼輸出端,S1、2S、3S為使能端。
圖-1 74LS138真值表圖-2如下:
圖-2 74HC138工作原理為:當(dāng)S1=1,S— 2+S — 3=0時(shí),器件使能,電路完成譯碼功能,輸出低電平有效。當(dāng)S=0,S— 2+S — 3=X時(shí),或S1=1, S— 2+S — 3=1,譯碼器被禁止,所有輸出同時(shí)為1 2 2、雙4 4 選1 1 數(shù)據(jù)選擇器
74LS153 ?
所謂雙4選1數(shù)據(jù)選擇器就是在一塊集成芯片上有兩個(gè)4選1數(shù)據(jù)選擇器。引腳排列如圖-3所示,功能表如圖-4所示。
圖-3
輸入 輸出 S—
A1 A0 Q 1 0 0 0 0 X 0 0 1 1 X 0 1 0 1 0 D0 D1 D2 D3 圖-4
1S—、2S — 為兩個(gè)獨(dú)立的使能端;A1、A0為兩個(gè)公用的地址輸入端;1D0~1D3和2D0~2D3分別為兩個(gè)4選1數(shù)據(jù)選擇器的數(shù)據(jù)輸入端;Q1、Q2為兩個(gè)輸出端。
當(dāng)使能端1S—(2S —)=1時(shí),多路開關(guān)被禁止,無(wú)輸出,Q=0。
當(dāng)使能端1S—(2S —)=0時(shí),多路開關(guān)正常工作,根據(jù)地址碼A1、A0的狀態(tài),將相應(yīng)的數(shù)據(jù)D0~D3送到輸出端Q。3、8 8 選1 1 數(shù)據(jù)選擇器 74LS151
74LS151為互補(bǔ)輸出的8選1數(shù)據(jù)選擇器,引腳排列如圖-5所示,功能表如圖-6所示。
圖-5
圖-6 選擇控制端(地址端)為A2~A0,按二進(jìn)制譯碼,從8個(gè)輸入數(shù)據(jù)D0~D7中,選擇一個(gè)需要的數(shù)據(jù)送到輸出端Q,S— 為使能端,低電平有效。
使能端S— =1時(shí),不論A2~A0狀態(tài)如何,均無(wú)輸出,多路開關(guān)被禁止。
使能端S— =0時(shí),多路開關(guān)正常工作,根據(jù)地址碼A2、A1、A0的狀態(tài)選擇D0~D7中某一個(gè)通道的數(shù)據(jù)輸送到輸出端Q。
三、實(shí)驗(yàn)設(shè)備及器件 ●
硬件:PC機(jī)一臺(tái) ●
軟件:QuartusⅡ5.0集成開發(fā)環(huán)境 四、實(shí)驗(yàn)內(nèi)容 1.使用74LS138實(shí)現(xiàn)邏輯函數(shù) F=A’B’C’+AB’C’+ABC 2.使用74LS151實(shí)現(xiàn)邏輯函數(shù) F=AB’+A’B+AB 3.使用74LS153實(shí)現(xiàn)邏輯函數(shù) F=A’BC+AB’C+ABC’+ABC
五、實(shí) 驗(yàn)過(guò)程 1、使用74LS138實(shí)現(xiàn)邏輯函數(shù) F=A’B’C’+AB’C’+ABC ① 由74LS138功能表(圖-1)可知電路圖連接如圖-7所示
圖-7 ② 經(jīng)編譯檢查無(wú)錯(cuò)(圖-8)
圖-8
③ 對(duì)其進(jìn)行仿真,設(shè)置好一定仿真時(shí)間區(qū)域與輸入波形后啟動(dòng)仿真器得仿真結(jié)果如圖-9
圖-9 2、使用74LS151實(shí)現(xiàn)邏輯函數(shù)F=AB’+A’B+AB
①將輸入變量C、B、A作為8選1數(shù)據(jù)選擇器的地址碼A2、A1、A0。使8選1數(shù)據(jù)選擇器的各個(gè)數(shù)據(jù)輸入D0~D7分別與函數(shù)F的輸出值一一對(duì)應(yīng),即A2A1A0=CBA、D0=D2=D3=0、D0=D4=D5=D6=D7=1則輸出Q便實(shí)現(xiàn)了函數(shù)AB’+A’B+AB接線圖如圖-10
圖-10 ②經(jīng)編譯檢查無(wú)錯(cuò)(圖-11)
圖-11 ③對(duì)其進(jìn)行仿真,設(shè)置好一定仿真時(shí)間區(qū)域與輸入波形后啟動(dòng)仿真器得仿真結(jié)果如圖-12
圖-12 3、使用74LS153實(shí)現(xiàn)邏輯函數(shù) F=A’BC+AB’C+ABC’+ABC
①函數(shù)F有3個(gè)輸入變量A、B、C,而數(shù)據(jù)選擇器有2個(gè)地址端A1、A0少于數(shù)據(jù)函數(shù)輸入變量個(gè)數(shù),在設(shè)計(jì)時(shí)可任選A接A1,B接A0。接線如圖-13
圖-13
②經(jīng)編譯檢查無(wú)錯(cuò)如圖-14
圖-14 ③對(duì)其進(jìn)行仿真,設(shè)置好一定仿真時(shí)間區(qū)域與輸入波形后啟動(dòng)仿真器得仿真結(jié)果如圖-15
圖-15 六、實(shí)驗(yàn)心得 通過(guò)這次試驗(yàn),我熟練掌握了74LS138譯碼器、74LS151和74LS153數(shù)據(jù)選擇器的使用特點(diǎn)和方法。加強(qiáng)了對(duì)這些知識(shí)的了解,熟練掌握了QuartusⅡ5.0集成開發(fā)環(huán)境的使用。