lỗi ihave (timer trong mã VHDL),, (bất cứ ai có thể giúp tôi)

S

sherifhansol

Guest
luôn luôn nó mang lại cho tôi lỗi trong mã mà & bất kỳ ai có thể giúp tôi đưa ra ngay cả với các mã khác để hẹn giờ
thư viện IEEE;
IEEE.STD_LOGIC_1164.ALL sử dụng;
IEEE.STD_LOGIC_ARITH.ALL sử dụng;
IEEE.STD_LOGIC_UNSIGNED.ALL sử dụng;
thực thể chụp được
port (input: in std_logic;
đầu ra: ra thời gian);
cuối giờ;
kiến trúc hành vi của bộ đếm thời gian là
bắt đầu
p1: quá trình
biến time_elapsed: thời gian: = 0ns;
bắt đầu
chờ cho đến khi input'event và đầu vào = '1 ';
loop
chờ cho đến khi (input'event và đầu vào = '0 ');
time_elapsed: = input'last_event;
sản lượng <= time_elapsed;
kết thúc vòng lặp;
kết thúc quá trình p1;
kết thúc hành vi;

 
Bạn đã không tuyên bố bất cứ điều gì trong danh sách nhạy cảm của quá trình p1.Tôi nghĩ rằng đầu vào phải được bao gồm trong danh sách nhạy cảm.
Những gì các lỗi khác là bạn nhận được?

 
Không rõ ràng của nó whats ur tăng thêm được?Nếu bạn muốn để đo thời gian
giữa hai cạnh lên của tín hiệu InOut thì đây là mã!

Mã số:

thư viện IEEE;

IEEE.STD_LOGIC_1164.all sử dụng;

IEEE.STD_LOGIC_ARITH.all sử dụng;

IEEE.STD_LOGIC_UNSIGNED.all sử dụng;

thực thể chụp được

port (input: in std_logic;

đầu ra: ra thời gian);

cuối giờ;

kiến trúc hành vi của bộ đếm thời gian là

tín hiệu time1, time2: thời gian: = 0 ns;

bắt đầu

p1: quá trình (đầu vào)

bắt đầu

nếu (input'event và đầu vào = '1 ') sau đó

time2 <= time1;

time1 <= bây giờ;

nếu kết thúc;

kết thúc quá trình p1;

sản lượng <= time1 - time2;

kết thúc hành vi;
 
Các mã được để đo thời gian giữa tăng & rơi xuống cạnh NOW sử dụng không phải là synthsizable.

cần phải sử dụng đồng hồ tần số cao hơn referance, cho measurment thời gian,

 
Chào,
Tôi đoán ông muốn để đo thời gian giữa tăng cao và rơi xuống các cạnh của đầu vào này.tức là chiều rộng của pusle cao của đầu vào.
Mã số:thư viện IEEE;

IEEE.STD_LOGIC_1164.all sử dụng;

IEEE.STD_LOGIC_ARITH.all sử dụng;

IEEE.STD_LOGIC_UNSIGNED.all sử dụng;

thực thể chụp được

port (input: in std_logic;

đầu ra: ra thời gian);

cuối giờ;

kiến trúc hành vi của bộ đếm thời gian là

bắt đầu

p1: quá trình (đầu vào)

biến time1, time2, time3: thời gian: = 0 ns;

bắt đầu

nếu (input'event và đầu vào = '1 ') sau đó

time2: = now;

elsif (input'event và đầu vào = '0 ') sau đó

time1: = now;

time3: = time2-time1;

nếu kết thúc;

sản lượng <= time3;

kết thúc quá trình p1;

kết thúc hành vi;
 

Welcome to EDABoard.com

Sponsor

Back
Top