ايران ويج

نسخه‌ی کامل: CPLD های xilinx و شروع به کار با آنها و....
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3 4 5 6 7 8 9 10
حالا که اینقد خوبی بگو ببینم s1'quiet(5 ) یعنی چی؟:-)
فکر کنم اگه بالایی برا رخداد باشه این برا ترنزکشن باشه.
(۰۸-خرداد-۱۳۹۳, ۰۳:۱۷:۳۵)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]
سلام

درمورد مقایسه کننده چهار بیتی، اولش هنگ کردم :) بعد رفتم دیتاشیت 7485 رو خوندم، رفع شد :))
توی دیتاشیت، یه جدول درستی هست، اونجا قشنگ همه چیزو نوشته

در مورد worst case
به کتاب نگاه کردم (چند صفحه قبل و چند صفحه بعدش)
چیز زیادی نفهمیدم
قبلا هم نشنیدم.
یکمی بیشتر توضیح داده بشه شاید از گوگل بشه پیدا کرد که قضیه چیه

شب خوش
سلام
این تیکه کد:

کد:
resu<= sum & resu (7 downto 1)


فرض کنید تویه حلقه گذاشته شده حالا چرا 7 تا 1 گذاشته در حالی که 7تا 0 هستش.

[attachment=11926]
وریلاگ به c نزدیک تر بود تا vhdl :-)

تا جایی که یادم مونده اون علامت & یعنی ادغام کردن

مفهمومش این میشه که
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 همون بصورت معمولی ورودی تعریف میشن بعد داخل کد بیت وکتور مینویسمشون؟
سلام
bit_vector ....
آره
همون پنجره، LSB رو بذار صفر بمونه، ولی MSB رو 7 کن
یعنی با این کار بیت وکتوری تولید میشه که 8 تا درایه داره و پرارزش ترین بیت اش 7 ام ای هستش Biggrin

توی شبیه سازی ها تا جایی که یادم مونده، std_logic و std_logic_vector و امثالش، بیشتر به درد میخورن

انگار به bit و bit_vec نمیشه حالت هایی مثل 'z' و ... اختصاص داد

البته یکمی مبهمه برام
شاید چیزی یادم رفته باشه





نقل قول: صالح جان بیا بگو که اصلا برا شروع یک تست بنچ از کجا شروع کنم.؟

[attachment=12120]
اون جایی که دورش خط کشیدم، کلیک راست کن، بعد new source

بعد تست بینچ رو از لیست انتخاب کن
بعد که next رو زدی، باید فایلی رو انتخاب کنی که میخوای براش تست بنچ درست بشه

موفق باشی
ممنون ممنون

آره به std logic میشه مثلا صفر ضعیف و قوی و یک قوی و ضعیف داد. البته میگن :-)

چرا ندیدمش .خوب شد نرفت توچشم :-)
الان این کد رو به من داده

کد:
--------------------------------------------------------------------------------
-- 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
اینو که داده من میام جای کلاک مینویسم x اصلا چرا یه دونه داده مگه نباید به ازای هر ورودی یکی میداد.خودم اضاف کنم؟

بعدشم نمونه گیری.


میشه با این روش تست بنچ زد؟
[attachment=12124]
صفحه‌ها: 1 2 3 4 5 6 7 8 9 10