۲۲-فروردین-۱۳۹۳, ۱۳:۱۳:۱۰
سلام
فایل تست بنچ رو باز میکنم و اون پنجره مربوط به شبیه سازی هم باز میشه و من ران آل رو میزنم. درسته؟
خب مقدار خروجی با توجه به ورودی ها داره تغییر میکنه ولی از روی نمودار یا پالسا چیز متوجه نمیشم.!
اینجا داریم ورودی خروجی تعریف می کنیم و مقدار صفر رو پیشفرض دادیم به ورودی ها.
اینجا هم که مقدار ثابت تعریف کردی.
این یعنی چی ؟
اینجا هر 5 نانو ثانیه مقدار a صفر و یک میشه. خب این پروسس چند بار اجرا میشه؟
اینم مثل بالا
و این چیه؟
فایل تست بنچ رو باز میکنم و اون پنجره مربوط به شبیه سازی هم باز میشه و من ران آل رو میزنم. درسته؟
خب مقدار خروجی با توجه به ورودی ها داره تغییر میکنه ولی از روی نمودار یا پالسا چیز متوجه نمیشم.!

اینجا داریم ورودی خروجی تعریف می کنیم و مقدار صفر رو پیشفرض دادیم به ورودی ها.
کد:
--Inputs
signal a : std_logic := '0';
signal b : std_logic := '0';
--Outputs
signal x : std_logic;
اینجا هم که مقدار ثابت تعریف کردی.
کد:
-- No clocks detected in port list. Replace <clock> below with
-- appropriate port name
constant a_period : time := 10 ns;
constant b_period : time := 7 ns;
این یعنی چی ؟
کد:
BEGIN
-- Instantiate the Unit Under Test (UUT)
uut: and1 PORT MAP (
a => a,
b => b,
x => x
);
اینجا هر 5 نانو ثانیه مقدار a صفر و یک میشه. خب این پروسس چند بار اجرا میشه؟
کد:
-- Clock process definitions
a_process :process
begin
a <= '0';
wait for a_period/2;
a <= '1';
wait for a_period/2;
end process;
اینم مثل بالا
کد:
-- Clock process definitions
b_process :process
begin
b <= '0';
wait for b_period/2;
b <= '1';
wait for b_period/2;
end process;
و این چیه؟
کد:
-- Stimulus process
stim_proc: process
begin
-- hold reset state for 100 ns.
wait for 100 ns;
wait for a_period*10;
-- insert stimulus here
wait;
end process;