
y1,y2 :OUT STD_LOGIC;
g1.g2 :OUT STD_LOGIC;
reset :IN STD_LOGIC);
END traffic_control;
ARHITECTURE a OF traffic_control IS
TYPE STATE_SPACE IS(S0,S1,S2,S3);
SIGNAL state:STATE_SPACE;
BEGIN
PROCESS(slk)
BEGIN
IF reset='1'THEN
State<=S0;
ELSIF(clk EVENT AND clk='1')THEN
CASE state IS
WHEN S0=>
IF w1='1'THEN
state<s1;
END IF;
WHEN S1=>
IF w2='1'THEN
state<=s2;
END IF;
WHEN S2=>
IF w3='1'THEN
State<=s3;
END IF;
WHEN S3=>
IF w2='1'THEN
state<=s0;
END IF;
END CASE;
END IF;
END PROCESS;
c1<='1'WHEN state=s0 ELSE'0'
c2<='1'WHEN state=S1 OR state=S3 ELSE '0'
c3<='1'WHEN state=s2 ELSE'0';
r1<='1'WHEN state=S1 OR state=S0 ELSE '0'
y1<='1'WHEN state=s3 ELSE'0';
g1<='1'WHEN state=s2 ELSE'0';
r2<='1'WHEN state=S2 OR state=S3 FLES'0';
y2<='1'WHEN state=S1 ELSE'0';
g2<='1'WHEN state=S0 ELSE'0';
END a;
3 功能編譯、設(shè)計(jì)仿真與硬件下載
本系統(tǒng)采用Altera公司生產(chǎn)的FLEX10K系列的CPLD芯片,應(yīng)用該公司的MAX+PLUS II開發(fā)軟件完成設(shè)計(jì)后,需對(duì)各種源文件從低層到頂層逐個(gè)編譯,再進(jìn)行邏輯仿真。選擇器件后,打開檢查項(xiàng)目中所有設(shè)計(jì)文件,通過檢測發(fā)發(fā)現(xiàn)在編程器件中可能存在的可靠性不好的邏輯器件引腳分配。Altera公司推薦的編譯器可自動(dòng)為項(xiàng)目進(jìn)行引腳分配,也可人工調(diào)整引腳。在編譯器窗口選擇Start按鈕,將對(duì)所有設(shè)計(jì)的項(xiàng)目進(jìn)行處理,出現(xiàn)錯(cuò)誤將給出具體錯(cuò)誤提示。為了保證設(shè)計(jì)的正確性,在編譯通過后,還需進(jìn)行邏輯仿真。仿真通過后再應(yīng)用MAX+PLUS II的編程器對(duì)所選可編程邏輯器件下載編程,便完成了交通控制系統(tǒng)的ASIC芯片設(shè)計(jì)和硬件固化。若在芯片外圍接入必要電源、脈沖信號(hào)、顯示器和指示燈,便構(gòu)成了一個(gè)完整交通控制系統(tǒng)。它具有工作穩(wěn)定、體積小、在線修改方便等特點(diǎn)。





