當前位置:編程學習大全網 - 編程語言 - 用FPGA寫adc0809時遇到的問題

用FPGA寫adc0809時遇到的問題

下面這段代碼復制到壹本教材上,也是講ADC0809的。請參考。好像START=1的時候,ALE也應該是1。

- ADC0809

-在-

- CLK1:模數轉換器

- IN(0~7):模擬輸入

- ALE:地址鎖定使能

- START:模數轉換開始

- OE: Out使能

- ADDA~C:模擬輸入通道

出去

- EOC:轉換結束

- D[7..0]:數據輸出

圖書館ieee

使用IEEE . STD _ logic _ 1164 . all;

實體狀態機是

端口(

clk:在std_logic中;

eoc:在std_logic中;

ale:out STD _ logic;

start:out STD _ logic;

OE:out STD _ logic;

addr:out STD _ logic _ vector(2 down to 0);

d:在std_logic_vector中(7下降到0);

q:out STD _ logic _ vector(7 down to 0);

lock0:out std_logic

);

結束狀態機;

狀態機的架構行為是

類型狀態為(st0,st1,st2,st3,st4);

信號current_state,next _ state:States:= st0;

signal regl:STD _ logic _ vector(7 down to 0);

信號鎖:std _ logic

開始

addr & lt="000";

q & lt= regl

lock0 & lt=鎖定;

COM:process(當前狀態,eoc)

開始

案例當前狀態為

當st0 = & gtale & lt='0';開始& lt='0';鎖定& lt='0';oe & lt='0';

next _ state & lt= ST 1;

當st1 = >ale & lt='1';開始& lt='1';鎖定& lt='0';oe & lt='0';

next _ state & lt= st2

當st2 = & gtale & lt='0';開始& lt='0';鎖定& lt='0';oe & lt='0';

如果eoc='1 ',則

next _ state & lt= st3

其他

next _ state & lt= st2

結束if;

當st3 = & gtale & lt='0';開始& lt='0';鎖定& lt='0';oe & lt='1';

next _ state & lt= st4

當st4 = >ale & lt='0';開始& lt='0';鎖定& lt='1';oe & lt='1';

next _ state & lt= st0

當別人= & gtnext _ state & lt= st0

結束案例;

結束進程COM

寄存器:進程(時鐘)

開始

如果clk事件和clk='1 '則

當前狀態& lt= next _ state

結束if;

結束進程註冊;

LATCH1:進程(鎖定)

開始

如果lock事件和lock='1 '則

regl & lt= d;

結束if;

結束進程latch 1;

結束行為;

  • 上一篇:可編程控制器零件1
  • 下一篇:二年級想象作文150字:吃水果的機器人
  • copyright 2024編程學習大全網