📄 16bit模数转换器.vhd
字号:
--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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -