用書:Digital Number WITH AN INTRODUCTION TOTHE VERILOG 5thEdition
作者:Mani Ciletti
習題解答:第四版解答(注意版本不一樣)
筆記作者:曾理碩/啾咪喵
分享模式:創用cc 姓名標示-相同方式分享 (cc分享限筆記,不包括連外文件、投影片、作業、作業解答)
歡迎分享本文
部格相關連結:
前言:
因為是筆記,通常以自己不會的地方做加強
主要寫概念
而較多複雜邏輯推理的地方會略過
因此使用時請作為導引手冊
請務必搭配課本使用(上方有連結)
內文提到頁碼以紙本課本為主與電子書誤差為16頁[建議以章節翻找]
7-1 簡介(由各方面分類)
記憶體(memory)
儲存資訊的裝置
藉由儲存位元來保存資料
依能否複寫分類
RAM (Random access memory) [隨機記憶體]
為揮發性記憶體
能多次寫入訊息
SRAM (static RAM) [靜態記憶體]
將資料存在latch,用其中的高低電位代表1, 0
需要持續供電來保持資訊
Cycle time, access time 較短,較快存取
DRAM (dynamic RAM) [動態記憶體]
放上電賀代表1, 0
不需要持續供電,較省電
但電荷會隨時間跑掉,因此要常常refresh
因為技術上能在小面積上做出許多MOS電容,因此容量常較大
為非揮發性記憶體
只能讀取的記憶體
但亦有”有重寫限制”的ROM
為狹義的ROM定義
可於IC製造完成後才依需要寫入資料
位元都由熔絲或反熔絲的狀態決定資料內容
可以用紫外線照射來抹除
不用紫外線,而能用特定電壓來抹除資訊
由揮發性分類
揮發性(Volatile)
關掉電源時資料將被清除
舉例:
RAM
非揮發性(Non-volatile)
關掉電源時資料依然存在
舉例:
磁碟機(magnetic disc)
ROM(燒錄)
Flash
memory
依可程式方式分類
可以做燒錄動作的電子元件
PROM(programmable ROM)
藉由改變OR gate來改變邏輯電路
PAL(programmable array logic)
藉由改變AND gate來改變邏輯電路
PLA(programmable logic array)
藉由改變AND, OR gate來改變邏輯電路
備註: 這些名字為何像回文一般?
噢!這些都是沿用最找製造的廠商取的名字
我也記不住呀!
7-2, 7-3 RAM
記憶體表示
例如: 1024*16 Memory
代表地址有1024個(由10bit表示)
每個地址能存16bit資訊
總共資訊量2K bytes
記憶體單元
記憶體控制
Select(En): select = 1時,代表”這個記憶體元素”被選中了,才能進行存取
Input: 輸入資料的地方
Output: 輸出資料的地方
R/W: 寫:給記憶體地址→將資料放在記憶體輸入→開始寫入
“控制輸入”要En=1, R/W=0
讀:給記憶體地址→開始讀取
“控制輸入”要En=1, R/W=1
備註:讀寫時存取時間(Access time)一定要
存取記憶體(I/O time)的時間
記憶體地址
選取地址
要表達
個記憶體地址需要有n個input跟相對應nx
的decoder
然而製造一個nx
的decoder需要用到
個AND
為了減少使用邏輯匣我們會用兩個
x
的decoder來達成
例如:1024個地址實作,原本需要1024個AND,改良後只需要64個
地址複用
為了減少存取地址時所需要的pin腳
利用”先後分開存取行與列的pin腳”的方式讓pin腳數縮減為一半
用CAS(Column Address Strobe), RAS(Row Address Strobe)
來控制現在地址輸入為”列”或”行”
Column代表行,”垂直線上為同一行”
Row代表列,”水平線上為同一列”
記憶體整體樣貌
以1024*16 Memory為例子
地址有1024條
這些地址由兩個5x32的decoder產生
每一條地址都會接入同一組memory element的select(En)輸入
每組有16個memory element,代表了每條地址所繫的16bit
唯有被選中的那條記憶體上的memory
element能被存取
此時其他的記憶體都會因會select(En) = 0而無法改變與讀取
每條記憶體的第一個memory element的output會被接到相同的OR邏輯匣
第二個、第三個也是
如此一來不管選中哪一條地址
其輸出都會從相同的output阜出來
7-5 ROM
我們知道我們能利用decoder跟一個OR來得到任意的函式
因為decoder的各線輸出就是一個minterm
將需要的minterm OR在一起就能完成任意函式
假想每個交錯點都有一個保險絲
將需要的焦點的保險絲留下(打個叉叉)
不需要的燒斷(不做記號)即可
7-4 偵錯
漢明碼(Hamming Code)
廣泛應用於RAM的偵錯方法
能偵測2個bit的錯誤、偵測並修復1個bit的錯誤
演算法
由1開始對每個bit編碼,並轉成二進位
將二進位表示只有一個1的設為parity bit,即1, 2, 4, 8, 16, 32等,在此依序標上
,
,
等
解碼確認正確性時,只要將
與自己群組內的第n位存值做XOR即可
總共需要k個parity bit,數量方程:
(n bit資訊)
正確來說,應該要=0
當有1bit錯掉,則將C =
依序排列就能知道是誰錯了
但當有2bit錯掉,會誤判,因此再加一碼驗證碼,在此標名
C =0, P=0 無錯
C
0, P=1 1bit錯,可更正
C
0, P=0 2bit錯,不可更正
C
=0, P=1 P自己錯了
7-6, 7-7 PLA與PAL
“函式”就是輸出方程式
SOP
= sum of product
函式簡化請見ch3
項目
|
PLA
|
PAL
|
實作
|
可改變AND跟OR燒錄位置
|
只能改變OR燒錄位置
|
概念
|
概念與ROM相同,但皆無法組合出所有邏輯電路
|
|
需求
|
OR個數 = XOR個數 = 最多能輸出函式個數
AND個數 = 能產生的product個數
函式要由各product 執行OR組成
|
OR個數 = 最多能輸出的函式個數
每個OR都有配給自己固定數量的AND邏輯匣
因此AND個數與OR個數成正比
|
流程
|
將需要的函式簡化成SOP,且反向也要找
例如有兩個函式
就要找出
比對找相同的product以減至所需的AND數量
|
因為只可程式OR邏輯匣,流程因此相對簡單
只要找出各個函式簡化的SOP直接實做即可
|
限制
|
跟PAL不同的是,PLA的AND是函式們共用
為了減少使用的AND數
因此流程需要把正反向函式都找出來比較
輸出也要加上XOR來將函式轉回來
如果超過就無法實作
以”
最後輸出時
|
函式必須要在配給的AND邏輯匣數目內達成
以”4個OR、每個OR配給3個AND為例”
函式就只能有3個product
但是如果其他的函式”剛好”是
可以拉來當其輸入,解原先無法達成問題
|
Programming table
可以寫出供製造商製造
輸出要標示(T)直接輸出(C)反向輸出
(T) = ture, (C) = complement
其他同左
|
每個AND的輸出都是product
每個product:
用到正向填1
用到反向填0
沒用到填 –
|
|
範例圖片
|
沒有留言:
張貼留言