16bit模数转换器.vhd

来自「含有各类寄存器」· VHDL 代码 · 共 30 行

VHD
30
字号
--16-bit Analogue to Digital ConverterUSE WORK.rampac.ALL;USE WORK.adcpac.ALL;ENTITY adc16 ISGENERIC(tconv : TIME := 10 us); --conversion timePORT(vin : IN analogue; digout : OUT data16; --input and outputsc : IN BIT; busy : OUT BIT); --controlEND adc16;ARCHITECTURE behaviour OF adc16 ISBEGIN  PROCESS  VARIABLE digtemp : data16;  CONSTANT vlsb : analogue := (analogue'HIGH -                               analogue'LOW)/REAL(2*ABS(data16'LOW));BEGIN     digtemp := data16'LOW;        busy <= '0';WAIT UNTIL (sc'EVENT AND sc = '0');       busy <= '1';FOR i IN 0 TO (2*data16'HIGH) LOOP    IF vin >= (analogue'LOW + (REAL(i) + 0.5)*vlsb)    THEN digtemp := digtemp + 1;    ELSE EXIT;    END IF;END LOOP;   WAIT FOR tconv;        digout <= digtemp;          busy <= '0';   END PROCESS;END behaviour;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?