Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Tài liệu đang bị lỗi
File tài liệu này hiện đang bị hỏng, chúng tôi đang cố gắng khắc phục.
Examples of VHDL Descriptions phần 6 pptx
Nội dung xem thử
Mô tả chi tiết
Examples of VHDL Descriptions
WAIT FOR 20 us;
END PROCESS control_waves;
END block_struct;
Sinewave generator for testbench
--entity to generate a 2.5kHz sampled sinewave (sampled at 20 us intervals)
USE WORK.adcpac.ALL;
ENTITY sinegen IS
PORT(sinewave : OUT analogue);
END sinegen;
ARCHITECTURE behaviour OF sinegen IS
CONSTANT ts : TIME := 20 us; --sample interval
TYPE sinevals IS ARRAY (0 TO 5) OF analogue;
--sample values for one quarter period
CONSTANT qrtrsine : sinevals := (0.0, 1.545, 2.939, 4.045, 4.755, 5.0);
BEGIN
PROCESS --sequential process generates sinewave
BEGIN
FOR i IN 0 TO 19 LOOP --output 20 samples per period
IF (i >= 0) AND (i < 6) THEN --first quarter period
sinewave <= qrtrsine(i);
ELSIF (i >= 6) AND (i < 11) THEN --second quarter period
sinewave <= qrtrsine(10-i);
ELSIF (i >= 11) AND (i < 16) THEN --third quarter period
sinewave <= -qrtrsine(i-10);
ELSE --i IN 16 TO 19
sinewave <= -qrtrsine(20-i); --final quater period
END IF;
WAIT FOR ts;
END LOOP;
END PROCESS;
END behaviour;
Testbench for Digital Delay Unit
USE WORK.rampac.ALL;
USE WORK.adcpac.ALL;
ENTITY delay_bench IS
PORT(reset : IN BIT; delay : IN addr10);
END delay_bench;
ARCHITECTURE version1 OF delay_bench IS
COMPONENT sinegen
PORT(sinewave : OUT analogue);
END COMPONENT;
COMPONENT digdel2
PORT(clear : IN BIT; offset : IN addr10;
sigin : IN analogue; sigout : INOUT analogue);
END COMPONENT;
SIGNAL analogue_in, analogue_out : analogue;
BEGIN
sig_gen : sinegen PORT MAP(analogue_in);
delay_unit : digdel2 PORT MAP(reset, delay, analogue_in, analogue_out);
http://www.ami.bolton.ac.uk/courseware/adveda/vh