1. 畫出該存儲器的組成邏輯框圖
按大小來看,一共需要16塊DRAM晶元,將每四塊分為一組,形成32位的數據寬度,根據該儲存容量大小一共需要16位地址線(可以根據儲存容量除以數據寬度來確定)。將地址線的低14位作為全部DRAM晶元的地址,然後將高2位作為組片選信號,即選擇各組輸出的32位數據。
2. 基於圖結構應用《編碼,解碼器》的設計與實現 這個畢業設計應該從什麼思路下手啊~~計算機專高手請指點
基於FPGA的HDB3碼編解碼器設計
電子機械論文
目 錄
摘 要 I
Abstract II
第1章 緒論 1
1.1 HDB3碼簡述 1
1.2 FPGA和其設計方法 2
1.2.1 FPGA/CPLD簡介 2
1.2.2 FPGA設計方法 3
1.3 VHDL設計技術 4
1.3.1 VHDL簡介 4
1.3.2 利用VHDL語言設計硬體電路的方法 5
1.4 本文所做的工作內容安排 6
第2章 HDB3碼編譯原理 8
2.1 HDB3碼的編碼原理 8
2.2 HDB3碼的解碼原理 8
第3章 HDB3數字信源 10
3.1 數字信源單元 10
3.2 HDB3編碼單元 12
3.2.1 用CD22103A晶元實現 14
3.2.2 用VHDL建模實現 16
第4章 HDB3解碼器實現方法分析 25
第5章 HDB3解碼器的FPGA實現 26
5.1 HDB3解碼器的FPGA設計流程 26
5.2 HDB3解碼器設計的總體框圖 26
5.3 雙單極性變換模塊 27
5.4 解碼功能模塊的設計 28
5.4.1解碼模塊的VHDL設計 28
5.4.2 解碼模塊的原理圖設計 31
5.5 誤碼檢測模塊設計 32
5.6 位同步提取模塊設計 33
5.6.1 鑒相器模塊的設計 34
5.6.2 濾波器的設計 35
5.6.3 數控振盪器的設計 36
5.7 簡易顯示模塊 38
第6章 Max-plusⅡ與HDB3解碼器的模擬 39
6.1 MAX-PLUSⅡ簡述 39
6.1.1 功能簡介 39
6.1.2 設計流程 39
6.1.3 設計步驟 40
6.2 系統模擬與調試 41
6.2.1 編碼部分模擬結果 41
6.2.2 解碼模塊模擬結果 41
6.2.3 誤碼檢測模塊模擬結果 41
6.2.4 位同步提取模塊模擬結果 42
結束語 44
參考文獻 45
致 謝 46
附錄A 解碼器總圖 47
附錄B 鎖相環總圖 48
附錄C 濾波器電路圖 49
基於FPGA的HDB3碼編解碼器的設計
摘 要:HDB3 碼是基帶傳輸系統中常用的碼型。本設計是基於 EMP7128設計的一個完整的 HDB3 碼的編解碼器。給出了硬體設計電路圖、軟體設計流程和HDB3編解碼器的模擬波形。本設計中編碼器部分用了專用集成晶元CD22103和VHDL建模兩種方法來實現。解碼器中除了包含有解碼的電路外,還包含有單雙極性轉換,誤碼檢測和位同步提取等功能。雙單極性變換的作用是使得雙極性的 HDB3 碼能夠進入 CPLD,同時易於做數字邏輯分析。其中的位同步提取功能是利用超前滯後型數字鎖相環從編碼序列中提取出位同步信號,並把該信號作為解碼部分的時鍾。位同步模塊中最為關鍵的一步是在 CPLD 實現若干個上升沿觸發數字單穩。總體來說,該編解碼器具有外圍電路簡單,工作穩定,抗干擾能力強等特點。此實現方法具有硬體設計簡單、運行速度快、成本低等優點。同時由於CPLD可重復編程的特點,可以對它進行在線修改,便於設備的調試和運行。此編解碼器已經過實際測試,運行穩定可靠,可用於實際電路中。
關鍵詞:HDB3碼;FPGA;編解碼器;位同步
HDB3 Encoder Decoder Based on FPGA
Abstract: HDB3 code is the commonly used code in the transmission system . It is an intact HDB3 encoder and decoder designed on the basis of EMP7128 to originally design. This paper presents the circuit diagram of hardware design, the flow of software design and the simulated waveform of HDB3 encoder and decoder. The encoder is designed on the basis CD22103A and VHDL language. Also include single polarity to bipolar conversion besides including the circuit of the decode in this design, code measured by mistake , and location synchronized signals picked out. The function that vary bipolar to one polarity makes ambipolar HDB3 code can introce to CPLD and make digital logic analysis easy. Location among them draw function to utilize digital phase locking ring proce the synchronous signal in the location to draw from code array in step, and regard this signal as the clock of the part of the decoder. To location synchronous mole the most crucial one is to realize several rise along touch off digital form steady in CPLD. On the whole, this encoder and decoder has simple outside circuit, works steadily and better anti-interference ability. The method has the advantages of simple hardware design, high speed and low cost. In addition, since CPLD can be reprogrammed, it can be repaired online, thus making it convenient to debug and run the equipment. Testing shows that this encoder and decoder has stable performance and therefore can be applied to circuitry.
Keywords: HDB3 code; FPGA; Encoder and Decoder; Location sychronized
第1章 緒論
1.1 HDB3碼簡述
現代通信藉助於電和光來傳輸信息,數字終端產生的數字信息是以「1」和「0」兩種代碼(狀態)位代表的隨機序列,他可以用不同形式的電信號表示,從而構造不同形式的數字信號。在一般的數字通信系統中首先將消息變為數字基帶信號,稱為信源編碼,經過調制後進行傳輸,在接收端先進行解調恢復為基帶信號,再進行解碼轉換為消息。在實際的基帶傳輸系統中,並不是所有電波均能在信道中傳輸,因此有基帶信號的選擇問題,因此對碼型的設計和選擇需要符合一定的原則。當數字信號進行長距離傳輸時,高頻分量的衰減隨距離的增大而增大,電纜中線對之間的電磁輻射也隨著頻率的增高而加劇,從而限制信號的傳輸距離和傳輸質量,同時信道中往往還存在隔直流電容和耦合變壓器,他們不能傳輸直流分量及對低頻分量有較大的衰減,因此對於一般信道高頻和低頻部分均是受限的。對於這樣的信道,應使線路傳輸碼型的頻譜不含直流分量,並且只有很少的低頻分量和高頻分量。其次,傳輸碼型中應含有定時時鍾信息,以利於收端定時時鍾的提取,在基帶傳輸系統中,定時信息是在接收端再生原始信息所必需的。一般傳輸系統中,為了節省頻帶是不傳輸定時信息的,必須在接受端從相應的基帶信號中加以提取。再次,實際傳輸系統常希望在不中斷通信的前提下,能監視誤碼,如果傳輸碼型有一定的規律性,那麼就可以根據這一規律性來檢測傳輸質量,以便做到自動監測,因此,傳輸碼型應具有一定的誤碼檢測能力。當然,對傳輸碼型的選擇還需要編碼和解碼設備盡量簡單等要求,但以上的幾點是最主要的考慮因素。
HDB3碼又叫三階高密度雙極性碼,是基帶電信設備之間進行基帶傳輸的主要碼型之一。該碼具有以下特點:
(1) 無直流分量,且低頻分量也很少:其功率譜密度也與AMI碼類似,其方波中豐富的高頻分量同樣被消除了。
(2) 由於引入取代節,因而解決了AMI碼在連『0』過長時提取位定信號的困難。
(3) 具有內在檢錯能力。
由此可見,HDB3碼是一種優良碼,目前廣泛應用於基帶傳輸的介面碼。
3. 什麼叫選線法什麼叫解碼法
微處理器地址分配的方法通常有兩種:線選法和解碼法.
線選法
所謂線選法, 就是直接以系統的地址線作為存儲器晶元的片選信號, 為此只需把用到的地址線與存儲器晶元的片選端直接相連即可.
解碼法又分全解碼法和部分解碼法
全解碼法
全解碼法是指將地址匯流排中除片內地址以外的全部高位地址接到解碼器的輸入端參與解碼.
採用全解碼法,每個存儲單元的地址都是唯一的,不存在地址重疊,但解碼電路較復雜,連線也較多.
全解碼法可以提供對全部存儲空間的定址能力.當存儲器容量小於可定址的存儲空間時,可從解碼器輸出線中選出連續的幾根作為片選控制,多餘的令其空閑,以便需要時擴充.
部分解碼法
部分解碼法是將高位地址線中的一部分(而不是全部)進行解碼,產生片選信號.
該方法常用於不需要全部地址空間的定址能力,但採用線選法地址線又不夠用的情況.
採用部分解碼法時,由於未參加解碼的高位地址與存儲器地址無關,因此存在地址重疊問題.
當選用不同的高位地址線進行部分解碼時,其解碼對應的地址空間不同.
例6-2
CPU地址匯流排為16位,存儲器由4片容量為8KB的晶元構成時,採用部分解碼法定址32KB.
此外,還有混合解碼法,該法是將線選法與部分解碼法相結合的一種方法.該方法將用於片選控制的高位地址分為兩組,其中一組的地址(通常為較低位)採用部分解碼法,經解碼後的每一個輸出作為一塊晶元的片選信號;另一組地址則採用線選法,每一位地址線作為一塊晶元的片選信號.例如,當CPU地址匯流排為16位,存儲器由10片容量為2KB的晶元構成時,可用混合解碼法實現片選控制,圖3-17給出了採用該方法的結構示意圖.
顯然,採用混合解碼法同樣存在地址重疊與地址不連續的問題.
4. 設計一個用64K*1位的晶元構成256K*16位的存儲器,畫出組織結構圖。
用64個存儲晶元組成,每16個為一組,每組中的晶元將片選信號都接一起,每一組就等效為一個64K*16的存儲晶元,分為4組,每組晶元的片選信號都接在一個四分之一解碼器的輸出端。18根地址線的0-15位接晶元並聯進行片內定址,16-17接解碼器進行片選。
64個晶元圖太復雜了,我不好畫。
5. 微機原理 存儲器擴展&解碼器,有一些疑惑!
1:低位址也有進入6264中,那個A0~A12就是
2:memr跟memw是8086系統對外的讀取信號
3:圓圈代表低電平輸出,6264有兩個片選,一個高電平,一個低電平,兩個搭配可以組成很多的組合,在這里高電平就直接接5伏,低電平從A18獲得
6. 在對存儲器晶元進行片選時,全解碼方式、部分解碼方式和線選方式各有何特點
若cpu的定址空間等於存儲器晶元的定址空間,可直接將高低位地址線相連即可,這種方式下,可用單條讀寫指令直接定址,定址地址與指令中的地址完全吻合。
若cpu的定址空間大於存儲器晶元的定址空間,可直接將高低位地址線相連即可,cpu剩餘部分高位地址線,這種方式下,可用單條讀寫指令直接定址,未連接的地址線在指令中可以以0或1出現,即有多個地址對應每個存儲器空間,可在指令中將這些位默認為零。
若cpu的定址空間小於存儲器晶元的定址空間,可將其它io口連接剩餘存儲器高位地址線,定址前,需設置好這些io口。
當存在多片存儲器,且希望節省cpu的io口時,需要外加解碼電路。比如說,存儲器地址線為13根,共8片存儲器,可用74ls138連接cpu的高3位地址線,74ls38的8位輸出分別連接8片存儲器,讀寫時,定址地址與指令中的地址完全吻合。
上一種情況中,若希望簡化外圍電路,也可用其餘埠的8個io分別連接8片存儲的片選,其定址方式與第三種情況類似。
7. 在存儲器的內部結構中,解碼器的作用是
在存儲器的內部結構中,解碼器的作用是?簡單講,編譯器就是將「一種語言(通常為高級語言)」翻譯為「另一種語言(通常為低級語言)」的程序。一個現代編譯器的主要工作流程:源代碼 (source code) → 預處理器 (preprocessor) → 編譯器 (compiler) → 目標代碼 (object code) → 鏈接器 (Linker) → 可執行程序 (executables)
高級計算機語言便於人編寫,閱讀交流,維護。機器語言是計算機能直接解讀、運行的。編譯器將匯編或高級計算機語言源程序(Source program)作為輸入,翻譯成目標語言(Target language)機器代碼的等價程序。源代碼一般為高級語言 (High-level language), 如Pascal、C、C++、Java、漢語編程等或匯編語言,而目標則是機器語言的目標代碼(Object code),有時也稱作機器代碼(Machine code)。
對於C#、VB等高級語言而言,此時編譯器完成的功能是把源碼(SourceCode)編譯成通用中間語言(MSIL/CIL)的位元組碼(ByteCode)。最後運行的時候通過通用語言運行庫的轉換,編程最終可以被CPU直接計算的機器碼(NativeCode)。
中文名
編譯器
外文名
Compiler
別稱
解碼器
表達式
源代碼→預處理器 → 編譯器 → 目標代碼
提出者
葛麗絲·霍普
8. 用rom做解碼器,說明該如何去做
ROM的電路結構主要包括三部分:地址解碼器,存儲矩陣,輸出緩沖器。如圖24-1-2所示。
ROM的結構圖
圖中地址解碼器有n個輸入,它的輸出W0、W1、……、Wn-1共有N=2n個,稱為字線(或稱選擇線)。字線是ROM矩陣的輸入,ROM矩陣有M條輸出線,稱為位線。字線與位線的交點,即是ROM矩陣的存儲單元,存儲單元代表了ROM矩陣的容量,所以ROM矩陣的容量等於W×D。輸出緩沖器的作用有兩個,一是能提高存儲器的帶負載能力,二是實現對輸出狀態的三態控制,以便與系統的匯流排聯接。
ROM的工作原理
圖24-1-3是一個說明ROM結構和工作原理的電路,ROM矩陣的存儲單元是由N溝道增強型MOS管構成的,MOS管採用了簡化畫法。它具有2位地址輸入碼,即4條字線W0、W1、W2、W3,有4位數據輸出,即4條位線D0、D1、D2、D3,共16個存儲單元。地址解碼器相當最小項解碼器,其輸入A1、A0稱為地址線。二位地址代碼A1A0能給出4個不同的地址。每輸入一個地址,地址解碼器的字線輸出W0~W3中將有一根線為高電平,其餘為低電平。即
當字線W0~W3某根線上給出高電平信號時,都會在位線D3~D0四根線上輸出一個4位二進制代碼。輸出端的緩沖器不但可以提高帶負載能力,還可以將輸出的高、低電平變換為標準的邏輯電平。如果作為輸出緩沖器的反相器是三態門,還可以通過使能端
實現對輸出的三態控制。
(a) ROM存儲矩陣 (b) ROM矩陣中一條字線的分解圖
圖24-1-3 MOS 管ROM矩陣字線和位線關系
圖24-1-3中4×4=16個存儲單元,即跨接在字線和位線上的MOS管,MOS管的柵極接字線,源極接地。MOS管是否存儲信息用柵極是否與字線相連接來表示,如果MOS管存儲信息,該MOS管的柵極與字線連接,該單元是存「1」;如果該MOS管不存儲信息,則柵極與字線斷開,該單元是存「0」。根據圖24-1-2,例如,當輸入一個地址碼[A1A0]=00時,字線W0被選中(高電平),其他為低電平,則該字線上信息就從相應的位線上讀出,[D3D2D1D0]=0101。ROM全部4個地址內的存儲內容見表24-1中。
當給定地址代碼後,經解碼器譯成W0~W3中某一字線上的高電平,使接在這根字線上的MOS管導通,並使與這些MOS管漏極相連的位線為低電平,經輸出緩沖器反相後,在數據輸出端得到高電平,輸出為1。將圖24-1-3(a)中與位線D0相連的各字線的有關部分畫在圖24-1-2(b)中,顯然
每一個邏輯式是一個或門,即位線與字線間的邏輯關系是或邏輯關系,位線與地址碼A1、A2之間是與或邏輯關系。最小項解碼器相當一個與矩陣,ROM矩陣相當或矩陣,整個存儲器ROM是一個與或矩陣。
ROM存儲器的兩個矩陣一般與矩陣是不可編的,而或矩陣是可編的。編程時一般要通過專門的編程器,採用一定的編程工具軟體進行,以決定存儲單元的MOS管是否接入。不過存儲單元上使用的MOS管是一種特殊的MOS管,將在下面介紹。
集成只讀存儲器
在集成只讀存儲器中,最常用的是EPROM,EPROM有2716、2732、2764、27158等型號。存儲容量分別為2k×8、4k×8、8k×8、16k×8個單元,(型號27後面的數字即為以千計的存儲容量)。下面以EPROM2716為例說明它的六種工作方式,見表24-2。它管腳引線如圖24-1-4所示,共有24個管腳,除電源(VCC)和地(GND)外,A10~A0為地址解碼器輸入端,數據輸出端有8位,既它有211條字線,8條位線,存儲容量為211×8。
是
為低電平起作用片選端,
等於高電平時2716為高阻,與匯流排脫離,晶元不工作。PD/PGM為低功耗與編程信號,其作用是在兩次讀出的等待時間內降低器件的功率損耗,既當PD/PGM為「1」時,輸出為高阻。在編程時需要在PD/PGM端加編程脈沖,同時要在電源端加較高的編程電壓。
EPROM擦除需專用設備,寫入時需要較高的電壓,更改存儲的數據不太方便。而E2PROM在寫數據時不需要升壓,用電擦除所需時間也很短(幾十毫秒),型號如2815/2816和58064等。
EPROM2716管腳圖
9. 在外部擴展多片程序儲存器時,比較解碼法和線選法優缺點
在外部擴展多片程序儲存器時,解碼法採用解碼器造片,這樣,多片儲存器的地址是連續的。無重疊地,無空地址,屬於全地址存儲空間。
而線選法可以省掉一片解碼器,但地址有重疊現象,地址不連續,而且存在空地址。所以,線選法不適合多片程序存儲器,只適合數據存儲器。