۰۸-خرداد-۱۳۹۳, ۰۳:۱۷:۳۵
۰۹-خرداد-۱۳۹۳, ۰۲:۳۱:۱۷
(۰۸-خرداد-۱۳۹۳, ۰۳:۱۷:۳۵)Ambassador نوشته است: [ -> ]حالا که اینقد خوبی بگو ببینم s1'quiet(5 ) یعنی چی؟:-)
فکر کنم اگه بالایی برا رخداد باشه این برا ترنزکشن باشه.
نقل قول: signal_name'STABLE(T)
This attribute defines a boolean signal whose value is TRUE if signal_name
has not had an event (i.e. not changed value) for the length of time T,
otherwise, the value of the signal is FALSE. If T is 0 ns, then signal_name
will be FALSE during the simulation cycle in which signal_name changed and
then will return to TRUE. The parameter T is optional, the default is 0 ns.
signal_name'QUIET(T)
This attribute defines a boolean signal whose value is TRUE if signal_name
has not had a transaction (i.e. not active) for the length of time T,
otherwise, the value of the signal is FALSE. If T is 0 ns, then signal_name
will be FALSE during the simulation cycle in which signal_name was
assigned to and then will return to TRUE. The parameter T is optional,
the default is 0 ns.
signal_name'TRANSACTION
This attribute defines a bit signal whose value toggles each time a
transaction occurs on signal_name (i.e. signal_name is active).
"Active" means an assignment but not neccessarily a modification
of the value of the signal. Example:
1. Signal DUMMY has the value '0'.
2. Now is the signal DUMMY assigned the value '0'
(again) with the VHDL-code "DUMMY <= '0';".
Conclusion: Above shows a transaction, but it is not an event since
no modification of the value of the signal DUMMY occured.
منبع
فرقش دقیقا چی شد؟
مفهموم transaction چیه دقیقا؟
اگه تغییر مقدار داشته باشیم، transaction نداریم؟
۰۹-خرداد-۱۳۹۳, ۰۸:۲۳:۵۵
سلام
هر رخدادی که تغییر نداشته باشه بهش میگن ترنزکشن.
+
برم فکر کنم :-)
هر رخدادی که تغییر نداشته باشه بهش میگن ترنزکشن.
+
برم فکر کنم :-)
۱۳-خرداد-۱۳۹۳, ۰۰:۰۳:۴۸
سلام
صالح جان اینکه داخل تست بنچ مقدار worst case رو بدست بیاریم یعنی چی؟
بعدش روچه حسابی اون سه تا ورودی رو صفر و یک کرده؟
[attachment=11912]
صالح جان اینکه داخل تست بنچ مقدار worst case رو بدست بیاریم یعنی چی؟
بعدش روچه حسابی اون سه تا ورودی رو صفر و یک کرده؟
[attachment=11912]
۱۳-خرداد-۱۳۹۳, ۰۱:۵۱:۴۱
سلام
درمورد مقایسه کننده چهار بیتی، اولش هنگ کردم :) بعد رفتم دیتاشیت 7485 رو خوندم، رفع شد :))
توی دیتاشیت، یه جدول درستی هست، اونجا قشنگ همه چیزو نوشته
در مورد worst case
به کتاب نگاه کردم (چند صفحه قبل و چند صفحه بعدش)
چیز زیادی نفهمیدم
قبلا هم نشنیدم.
یکمی بیشتر توضیح داده بشه شاید از گوگل بشه پیدا کرد که قضیه چیه
شب خوش
درمورد مقایسه کننده چهار بیتی، اولش هنگ کردم :) بعد رفتم دیتاشیت 7485 رو خوندم، رفع شد :))
توی دیتاشیت، یه جدول درستی هست، اونجا قشنگ همه چیزو نوشته
در مورد worst case
به کتاب نگاه کردم (چند صفحه قبل و چند صفحه بعدش)
چیز زیادی نفهمیدم
قبلا هم نشنیدم.
یکمی بیشتر توضیح داده بشه شاید از گوگل بشه پیدا کرد که قضیه چیه
شب خوش
۱۴-خرداد-۱۳۹۳, ۰۹:۱۵:۰۷
سلام
این تیکه کد:
فرض کنید تویه حلقه گذاشته شده حالا چرا 7 تا 1 گذاشته در حالی که 7تا 0 هستش.
[attachment=11926]
این تیکه کد:
کد:
resu<= sum & resu (7 downto 1)
فرض کنید تویه حلقه گذاشته شده حالا چرا 7 تا 1 گذاشته در حالی که 7تا 0 هستش.
[attachment=11926]
۱۴-خرداد-۱۳۹۳, ۱۶:۱۱:۲۳
وریلاگ به c نزدیک تر بود تا vhdl :-)
تا جایی که یادم مونده اون علامت & یعنی ادغام کردن
مفهمومش این میشه که
Resu7= sum
Resu6= resu7
Resu5= resu6
.
.
.
Resu0=resu1
راستی
سلام :-)
تا جایی که یادم مونده اون علامت & یعنی ادغام کردن
مفهمومش این میشه که
Resu7= sum
Resu6= resu7
Resu5= resu6
.
.
.
Resu0=resu1
راستی
سلام :-)
۱۳-تير-۱۳۹۳, ۰۹:۵۹:۲۹
سلام
من می خوام یه full adder 8 بیتی طراحی کنم. الان برای اینکه ورودی X , y رو 8 بیتی تعریف کنم می خوام بیت وکتور باشن. حالا برا اینکار باید اینجا بیت وکتور تعریف کنم؟ اصلا چطوری ؟ یا نه اینجا x , y همون بصورت معمولی ورودی تعریف میشن بعد داخل کد بیت وکتور مینویسمشون؟
[attachment=12118]
صالح جان بیا بگو که اصلا برا شروع یک تست بنچ از کجا شروع کنم.؟
من می خوام یه full adder 8 بیتی طراحی کنم. الان برای اینکه ورودی X , y رو 8 بیتی تعریف کنم می خوام بیت وکتور باشن. حالا برا اینکار باید اینجا بیت وکتور تعریف کنم؟ اصلا چطوری ؟ یا نه اینجا x , y همون بصورت معمولی ورودی تعریف میشن بعد داخل کد بیت وکتور مینویسمشون؟
[attachment=12118]
صالح جان بیا بگو که اصلا برا شروع یک تست بنچ از کجا شروع کنم.؟
۱۳-تير-۱۳۹۳, ۱۱:۴۶:۳۲
نقل قول: سلامسلام
من می خوام یه full adder 8 بیتی طراحی کنم. الان برای اینکه ورودی X , y رو 8 بیتی تعریف کنم می خوام بیت وکتور باشن. حالا برا اینکار باید اینجا بیت وکتور تعریف کنم؟ اصلا چطوری ؟ یا نه اینجا x , y همون بصورت معمولی ورودی تعریف میشن بعد داخل کد بیت وکتور مینویسمشون؟
bit_vector ....
آره
همون پنجره، LSB رو بذار صفر بمونه، ولی MSB رو 7 کن
یعنی با این کار بیت وکتوری تولید میشه که 8 تا درایه داره و پرارزش ترین بیت اش 7 ام ای هستش
توی شبیه سازی ها تا جایی که یادم مونده، std_logic و std_logic_vector و امثالش، بیشتر به درد میخورن
انگار به bit و bit_vec نمیشه حالت هایی مثل 'z' و ... اختصاص داد
البته یکمی مبهمه برام
شاید چیزی یادم رفته باشه
نقل قول: صالح جان بیا بگو که اصلا برا شروع یک تست بنچ از کجا شروع کنم.؟
[attachment=12120]
اون جایی که دورش خط کشیدم، کلیک راست کن، بعد new source
بعد تست بینچ رو از لیست انتخاب کن
بعد که next رو زدی، باید فایلی رو انتخاب کنی که میخوای براش تست بنچ درست بشه
موفق باشی
۱۳-تير-۱۳۹۳, ۱۱:۵۲:۰۹
ممنون ممنون
آره به std logic میشه مثلا صفر ضعیف و قوی و یک قوی و ضعیف داد. البته میگن :-)
چرا ندیدمش .خوب شد نرفت توچشم :-)
آره به std logic میشه مثلا صفر ضعیف و قوی و یک قوی و ضعیف داد. البته میگن :-)
چرا ندیدمش .خوب شد نرفت توچشم :-)
۱۳-تير-۱۳۹۳, ۲۳:۱۳:۳۶
الان این کد رو به من داده
اول که به ورودی ها صفر پیش فرض داده.
اینو که داده من میام جای کلاک مینویسم x اصلا چرا یه دونه داده مگه نباید به ازای هر ورودی یکی میداد.خودم اضاف کنم؟
بعدشم نمونه گیری.
میشه با این روش تست بنچ زد؟
[attachment=12124]
کد:
--------------------------------------------------------------------------------
-- Company:
-- Engineer:
--
-- Create Date: 11:56:11 07/04/2014
-- Design Name:
-- Module Name: G:/darsi/tamrin vhdl/93-04-14/fulladder1/fulladder_testbench.vhd
-- Project Name: fulladder1
-- Target Device:
-- Tool versions:
-- Description:
--
-- VHDL Test Bench Created by ISE for module: fulladder2
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
-- Notes:
-- This testbench has been automatically generated using types std_logic and
-- std_logic_vector for the ports of the unit under test. Xilinx recommends
-- that these types always be used for the top-level I/O of a design in order
-- to guarantee that the testbench will bind correctly to the post-implementation
-- simulation model.
--------------------------------------------------------------------------------
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
-- Uncomment the following library declaration if using
-- arithmetic functions with Signed or Unsigned values
--USE ieee.numeric_std.ALL;
ENTITY fulladder_testbench IS
END fulladder_testbench;
ARCHITECTURE behavior OF fulladder_testbench IS
-- Component Declaration for the Unit Under Test (UUT)
COMPONENT fulladder2
PORT(
x : IN std_logic;
y : IN std_logic;
cin : IN std_logic;
s : OUT std_logic;
cout : OUT std_logic
);
END COMPONENT;
--Inputs
signal x : std_logic := '0';
signal y : std_logic := '0';
signal cin : std_logic := '0';
--Outputs
signal s : std_logic;
signal cout : std_logic;
-- No clocks detected in port list. Replace <clock> below with
-- appropriate port name
constant <clock>_period : time := 10 ns;
BEGIN
-- Instantiate the Unit Under Test (UUT)
uut: fulladder2 PORT MAP (
x => x,
y => y,
cin => cin,
s => s,
cout => cout
);
-- Clock process definitions
<clock>_process :process
begin
<clock> <= '0';
wait for <clock>_period/2;
<clock> <= '1';
wait for <clock>_period/2;
end process;
-- Stimulus process
stim_proc: process
begin
-- hold reset state for 100 ns.
wait for 100 ns;
wait for <clock>_period*10;
-- insert stimulus here
wait;
end process;
END;
اول که به ورودی ها صفر پیش فرض داده.
کد:
<clock>_period
بعدشم نمونه گیری.
میشه با این روش تست بنچ زد؟
[attachment=12124]