一、實驗設計與程式
module shop
(y,ab,r,z,reset,clk)
;input reset,clk;
//定義變數reset和時鐘
input [1:
0]ab;
//投幣金額
output y,r,z;
//狀態,出貨標誌,退幣標誌
reg [2:
0]y;
reg r,z;
always @(posedge clk)
//在上公升沿有效
begin
if(reset==0)
//使用reset初始化
begin
y<=0;
//初始化置成零
r<=0;
z<=0;
endelse
//對y進行當前狀態判定並給出下一狀態
begin
case
(y)3'b000 :
//當前販賣機中有0元
begin
case
(ab)
//對投幣金額進行判定
2』b00:y<=0;
//狀態更改
2'b01:y<=1;
2'b10:y<=2;
endcase
end
3'b001 :
//當前販賣機中有0.5元
begin
case
(ab)
2'b00:y<=1;
2'b01:y<=2;
2'b10:y<=3;
endcase
end3'b010 :
//當前販賣機中有1元
begin
case
(ab)
2'b00:y<=2;
2'b01:y<=3;
2'b10:
begin
y<=4;
r<=1;
endendcase
end3'b011 :
//當前販賣機中有1.5元
begin
case
(ab)
2'b00:y<=3;
2'b01:
begin
y<=4;
r<=1;
end2'b10:
begin
y<=5;
r<=1;
z<=1;
endendcase
end3'b100 :
//當前販賣機中有2元
begin
case
(ab)
2'b00:y<=4;
2'b01:
begin
y<=1;
r<=0;
end2'b10:
begin
y<=2;
r<=0;
z<=0;
endendcase
end3'b101 :
//當前販賣機中有2.5元
begin
case
(ab)
2'b00:y<=5;
2'b01:
begin
y<=1;
r<=0;
z<=0;
end2'b10:
begin
y<=3;
r<=0;
z<=0;
endendcase
endendcase
endend
endmodule
二、實驗**
****?
initial begin
ab=0
;reset=0;
clk=0;
#100
;reset=1;
#100
;ab=1;
#20;ab=2;
#20;ab=1;
#20;ab=1;
#20;ab=2;
#20;ab=2;
#20;ab=1;
end always
#10 clk=clk+1;
endmodule
**波形?
三、電路圖
組合電路 時序電路在數位電路中的地位
我是文科出生,研究生階段才轉向計算機,中間有很長一段時間都只做軟體理論相關研究和一些具體的軟體專案,包括編譯器 電力系統監控器 軟體測試工具研發等 直到2009年,才開始陸陸續續接觸一些硬體專案,說是硬體專案,其實主要是一些嵌入式的專案,如世界盃前做的3g轉wifi和自己玩的一些小車和感測器等。在做...
同步時序電路與非同步時序電路,
同步時序電路與非同步時序電路的區別 簡而言之 同步電路 儲存電路中所有觸發器的時鐘輸入端都接同乙個時鐘脈衝源,因而所有觸發器的狀態的變化都與所加的時鐘脈衝訊號同步。非同步電路 電路沒有統一的時鐘,有些觸發器的時鐘輸入端與時鐘脈衝源相連 這有這些觸發器的狀態變化與時鐘脈衝同步,而 其他的觸發器的狀態變...
REV 時序電路
不僅和現在的輸入有關也和過去的狀態有關的電路.有反饋迴路.s 1 1r 1 0s 0r 0 ke eps 1r 1 ban ne ds 1 rightarrow 1 r 1 rightarrow 0 s 0 r 0 rightarrow keep s 1 r 1 rightarrow banned ...