امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
CPLD های xilinx و شروع به کار با آنها و....
نویسنده پیام
Ambassador آفلاین
مدیر بخش موبایل
*****

ارسال‌ها: 1,324
موضوع‌ها: 79
تاریخ عضویت: شهریور ۱۳۹۰

تشکرها : 30371
( 9873 تشکر در 3843 ارسال )
ارسال: #56
RE: CPLD های xilinx و شروع به کار با آنها و....
سلام

فایل تست بنچ رو باز میکنم و اون پنجره مربوط به شبیه سازی هم باز میشه و من ران آل رو میزنم. درسته؟
خب مقدار خروجی با توجه به ورودی ها داره تغییر میکنه ولی از روی نمودار یا پالسا چیز متوجه نمیشم.!Confused


اینجا داریم ورودی خروجی تعریف می کنیم و مقدار صفر رو پیشفرض دادیم به ورودی ها.
کد:
--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;

START...

۲۲-فروردین-۱۳۹۳, ۱۳:۱۳:۱۰
ارسال‌ها
پاسخ
salehjg آفلاین
مدیر بخش
*****

ارسال‌ها: 1,281
موضوع‌ها: 133
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 9560
( 8557 تشکر در 2603 ارسال )
ارسال: #57
RE: CPLD های xilinx و شروع به کار با آنها و....
نقل قول: سلام

فایل تست بنچ رو باز میکنم و اون پنجره مربوط به شبیه سازی هم باز میشه و من ران آل رو میزنم. درسته؟
خب مقدار خروجی با توجه به ورودی ها داره تغییر میکنه ولی از روی نمودار یا پالسا چیز متوجه نمیشم.!Confused
سلام

خب پس الان میتونید خروجی رو بر حسب دو تا ورودی روی شبیه ساز ببنید(دیگه مثل عکس آخری که گذاشته بودید، ورودی ها "تخصیص نیافته" نیستند.






نقل قول: این یعنی چی ؟

کد:
BEGIN
    -- Instantiate the Unit Under Test (UUT)
   uut: and1 PORT MAP (
          a => a,
          b => b,
          x => x
        );
به این میگن Component Instance
با این کار از entity موجود در فایل ها ( که اینجا اسمش and1 هستش) یه instance یا نمونه میگیره

مثلا فرض کنید میکرو کنترلر از قسمت های مختلفی تشکیل شده و یک قسمت مرکزی داره که مثلا spi و twi و pio و ... بهش وصل شدن

هر قسمت (مثلا spi ) توی فایل جداگانه ای (مثلا با vhdl ) نوشته شده اند.

بعد توی فایل اصلی که معمولا اسمش رو TOP هستش، فایل های قسمت های جانبی مثل spi و... رو مرتبط میکنند... ( مثلا include در C )

ممکنه یه میکروکنترلر، 2 تا باس SPI داشته باشه... مثلا spi0 , spi1 که هر دوتا عینا شبیه هم ان....(کپی paste شدن)

این دقیقا به منزله ی این هستش که توی فایل TOP (قسمت مرکزی میکرو که با vhdl نوشته شده)، 2 تا instance از entity مربوط به spi گرفته شده...


توی هر instance ، ورودی و خروجی های هر زیر طرح (مثلا همون spi )، دقیقا مشخص میشن که توی فایل TOP، به کجا ها و کدوم سیگنال ها باید وصل بشن...


امیدوارم منظورمو رسونده باشم...
خیلی پر کاربرد هه

نوع دیگه ای هست که بهش component deceleration میگن
گوگل سرچ کنید میاد


منابع:
1) طراحی خدکار مدار های دیجیتال با FPGA و با زبان توصیف سخت افزار VHDL نوشته ی دکتر سید رضی / انتشارات ناقوس

2) گوگل Biggrin


Confused


نقل قول: اینجا هر 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;
بینهایت بار!
خب این همون پروسس مربوط به ورودی سیگنال a به instance مربوط به طرح اصلی هستش...
که از ثانیه صفر تا بینهایت قراره ادامه داشته باشه.



نقل قول: و این چیه؟
کد:
-- 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;
stim_proc همون پروسس ای هست که اولین لحظه پس از شبیه سازی اجرا میشه...
تقریبا معادل تابع main توی کد های C
اون wait آخری قبل از end process رو پاک کنید و بعدا شبیه سازی کنید...
خودتون متوجه میشید که قضیه چیه...



موفق باشید Happy
(آخرین ویرایش در این ارسال: ۲۳-فروردین-۱۳۹۳, ۰۰:۴۱:۴۵، توسط salehjg.)
۲۳-فروردین-۱۳۹۳, ۰۰:۰۷:۵۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Ambassador, babyy, رسول
Ambassador آفلاین
مدیر بخش موبایل
*****

ارسال‌ها: 1,324
موضوع‌ها: 79
تاریخ عضویت: شهریور ۱۳۹۰

تشکرها : 30371
( 9873 تشکر در 3843 ارسال )
ارسال: #58
RE: CPLD های xilinx و شروع به کار با آنها و....
سلام

نقل قول: خب پس الان میتونید خروجی رو بر حسب دو تا ورودی روی شبیه ساز ببنید(دیگه مثل عکس آخری که گذاشته بودید، ورودی ها "تخصیص نیافته" نیستند.

آره دیروز خوب بود اما باز الان ران که میزنم همون تخصیص نیافتست! دلیلش چیه؟ غیر از اینکه ران رو میزنم کار دیگه ای هم باید انجام داد؟

در مورد کامپوننت هم بزارید یکم کلاسا جلوتر بره بهتر درکش میکنم :)

START...

۲۳-فروردین-۱۳۹۳, ۰۷:۴۱:۱۲
ارسال‌ها
پاسخ
salehjg آفلاین
مدیر بخش
*****

ارسال‌ها: 1,281
موضوع‌ها: 133
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 9560
( 8557 تشکر در 2603 ارسال )
ارسال: #59
RE: CPLD های xilinx و شروع به کار با آنها و....
(۲۳-فروردین-۱۳۹۳, ۰۷:۴۱:۱۲)Ambassador نوشته است: سلام

نقل قول: خب پس الان میتونید خروجی رو بر حسب دو تا ورودی روی شبیه ساز ببنید(دیگه مثل عکس آخری که گذاشته بودید، ورودی ها "تخصیص نیافته" نیستند.

آره دیروز خوب بود اما باز الان ران که میزنم همون تخصیص نیافتست! دلیلش چیه؟ غیر از اینکه ران رو میزنم کار دیگه ای هم باید انجام داد؟

در مورد کامپوننت هم بزارید یکم کلاسا جلوتر بره بهتر درکش میکنم :)
سلام

باید،باید،باید فایل تست بنچ رو شبیه سازی کنید
کلا وظیفه فایل تست بنچ اختصاص. دادن سیگنال های ورودی با سیگنال های دلخواه خودتون، هستش
۲۵-فروردین-۱۳۹۳, ۱۴:۰۶:۲۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : babyy, Ambassador, sjh, رسول
Ambassador آفلاین
مدیر بخش موبایل
*****

ارسال‌ها: 1,324
موضوع‌ها: 79
تاریخ عضویت: شهریور ۱۳۹۰

تشکرها : 30371
( 9873 تشکر در 3843 ارسال )
ارسال: #60
RE: CPLD های xilinx و شروع به کار با آنها و....
سلام صالح جان
فعلاً بگین که این سوال چی می خواد تا برم ببینم خودم میتونم مغز بریزم روش :)
   

اسباب زحمت این یکی هم
   

از این کتاب در آوردم
   

START...

(آخرین ویرایش در این ارسال: ۰۴-خرداد-۱۳۹۳, ۰۶:۰۰:۰۰، توسط Ambassador.)
۰۴-خرداد-۱۳۹۳, ۰۵:۴۹:۱۸
ارسال‌ها
پاسخ
تشکر شده توسط : babyy, salehjg
salehjg آفلاین
مدیر بخش
*****

ارسال‌ها: 1,281
موضوع‌ها: 133
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 9560
( 8557 تشکر در 2603 ارسال )
ارسال: #61
RE: CPLD های xilinx و شروع به کار با آنها و....
درود

این section 5.1 چیه؟ (همونی که روی سوال بهش اشاره کرده؟)
حتما یه تیکه کدی هست اونجا
فکر کنم میخواد از اون کد برای نوشتن nor و ... استفاده کنید...


این کتاب رو چند هفته پیش از کتابخونه گرفته بودم، ولی امتحانا انقدر اذیت کردن، که برش گردوندم
۰۶-خرداد-۱۳۹۳, ۰۱:۲۹:۱۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Ambassador, sjh, رسول
Ambassador آفلاین
مدیر بخش موبایل
*****

ارسال‌ها: 1,324
موضوع‌ها: 79
تاریخ عضویت: شهریور ۱۳۹۰

تشکرها : 30371
( 9873 تشکر در 3843 ارسال )
ارسال: #62
RE: CPLD های xilinx و شروع به کار با آنها و....
درود بر تو ای جوان :-)

نگاه کردم سه تا کد زده. یکی یه کد نات یکی یه کد nand دو ورودی با تاخیر 5 نانو ثانیه و یکی کد nand سه ورودی با تاخیر 6 نانو.

صالح جان ببینید این لینک کتابس میتونید بازش کنید؟
https://www.dropbox.com/s/e6vg6ni9kxhy4u...20Size.pdf

سوال اول چیز خواصی نمی خواد حتماً ، اینطور من متوجه شدم میگه یه کد بزنیم برای ساخت or با تاخیر 4 نانو و xor با تاخیر 7 نانو که از همون مدل های شبیه سازی شده توسکشن 1 استفاده کنیم.درسته؟
سوال دو چی می خواد؟

START...

(آخرین ویرایش در این ارسال: ۰۶-خرداد-۱۳۹۳, ۰۶:۳۰:۱۰، توسط Ambassador.)
۰۶-خرداد-۱۳۹۳, ۰۵:۵۶:۰۰
ارسال‌ها
پاسخ
تشکر شده توسط : salehjg
salehjg آفلاین
مدیر بخش
*****

ارسال‌ها: 1,281
موضوع‌ها: 133
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 9560
( 8557 تشکر در 2603 ارسال )
ارسال: #63
RE: CPLD های xilinx و شروع به کار با آنها و....
نقل قول: درود بر تو ای جوان :-)

نگاه کردم سه تا کد زده. یکی یه کد نات یکی یه کد nand دو ورودی با تاخیر 5 نانو ثانیه و یکی کد nand سه ورودی با تاخیر 6 نانو.

صالح جان ببینید این لینک کتابس میتونید بازش کنید؟
https://www.dropbox.com/s/e6vg6ni9kxhy4u...20Size.pdf
سلام

آره امشب دانلودش میکنم..

ممنون


در ضمن، اون کد nand با 5 نانو تاخیر، قسمتی که باعث میشه تاخیر داشته باشه رو چطوری نوشته؟

منظورم اینکه فقط برای شبیه سازی برنامه نوشته شده؟ یا قابل پیاده سازی روی cpld اینا و ... هم هستش؟

اگه فقط برای شبیه سازی باشه، ممکنه از after 5ns یا waitFor استفاده کرده باشه

در غیر اینصورت حتما باید یه کانتر باشه که تعداد پالس هارو بشماره تا 5 نانو ثانیه رو باهاش ایجاد کنه



نقل قول: سوال اول چیز خواصی نمی خواد حتماً ، اینطور من متوجه شدم میگه یه کد بزنیم برای ساخت or با تاخیر 4 نانو و xor با تاخیر 7 نانو که از همون مدل های شبیه سازی شده توسکشن 1 استفاده کنیم.درسته؟
سوال دو چی می خواد؟
قسمت اول نوشته هات: آره خب...

قسمت دوم:
سوال دوم خیلی قاطی پاتیه، بذارم ببینم چی میخواد اصلا Biggrin
۰۸-خرداد-۱۳۹۳, ۰۰:۲۹:۱۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Ambassador, رسول
Ambassador آفلاین
مدیر بخش موبایل
*****

ارسال‌ها: 1,324
موضوع‌ها: 79
تاریخ عضویت: شهریور ۱۳۹۰

تشکرها : 30371
( 9873 تشکر در 3843 ارسال )
ارسال: #64
RE: CPLD های xilinx و شروع به کار با آنها و....
(۰۸-خرداد-۱۳۹۳, ۰۰:۲۹:۱۹)salehjg نوشته است: سلام

آره امشب دانلودش میکنم..

ممنون


در ضمن، اون کد nand با 5 نانو تاخیر، قسمتی که باعث میشه تاخیر داشته باشه رو چطوری نوشته؟

منظورم اینکه فقط برای شبیه سازی برنامه نوشته شده؟ یا قابل پیاده سازی روی cpld اینا و ... هم هستش؟

اگه فقط برای شبیه سازی باشه، ممکنه از after 5ns یا waitFor استفاده کرده باشه

در غیر اینصورت حتما باید یه کانتر باشه که تعداد پالس هارو بشماره تا 5 نانو ثانیه رو باهاش ایجاد کنه

سلام

خواهش می کنم.
نه فقط برای شبی سازیه . خیلی راحت از after استفاده کرده

نقل قول:
نقل قول: سوال اول چیز خواصی نمی خواد حتماً ، اینطور من متوجه شدم میگه یه کد بزنیم برای ساخت or با تاخیر 4 نانو و xor با تاخیر 7 نانو که از همون مدل های شبیه سازی شده توسکشن 1 استفاده کنیم.درسته؟
سوال دو چی می خواد؟
قسمت اول نوشته هات: آره خب...

قسمت دوم:
سوال دوم خیلی قاطی پاتیه، بذارم ببینم چی میخواد اصلا Biggrin

من اینطوری براشون کد زدم
کد:
entity NOR2in is

port(i1,i2:in bit;
o1:out bit);

end NOR2in;


architecture delay4 of NOR2in is

begin
o1<=i1 nor i2 after 4ns;

end delay4;

کد php:
entity XOR2in is 

 port
(i1,i2:in bit;
o1:out bit);

end XOR2in;


architecture delay7 of XOR2in is

begin
 o1
<=i1 xor i2 after 7ns;

end delay7
آره خب میگم قاطیه Biggrin

START...

(آخرین ویرایش در این ارسال: ۰۸-خرداد-۱۳۹۳, ۰۱:۳۶:۲۷، توسط babyy.)
۰۸-خرداد-۱۳۹۳, ۰۱:۲۹:۳۷
ارسال‌ها
پاسخ
تشکر شده توسط : salehjg
Ambassador آفلاین
مدیر بخش موبایل
*****

ارسال‌ها: 1,324
موضوع‌ها: 79
تاریخ عضویت: شهریور ۱۳۹۰

تشکرها : 30371
( 9873 تشکر در 3843 ارسال )
ارسال: #65
RE: CPLD های xilinx و شروع به کار با آنها و....
یه چیز دیگه . s1 یه سیگناله و بعد مینویسیم s1'stable(5ns دقیقاً چکار می کنه؟
یه سیگنال درست میکنه که همیشه 1 هست و بعد هر جا s1 تغییر داشت بمدت 5 نانو صفر میشه؟

START...

۰۸-خرداد-۱۳۹۳, ۰۱:۳۳:۰۴
ارسال‌ها
پاسخ
تشکر شده توسط : salehjg
salehjg آفلاین
مدیر بخش
*****

ارسال‌ها: 1,281
موضوع‌ها: 133
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 9560
( 8557 تشکر در 2603 ارسال )
ارسال: #66
RE: CPLD های xilinx و شروع به کار با آنها و....
من خودم این stable رو نمیدونستم...
سرچ کردم:

S'STABLE(t) is true if no even has occurred on signal S for t units of time.

منبع:
http://www.csee.umbc.edu/portal/help/VHD...ibute.html



یعنی اگه سیگنال 5 نانوثانیه اگه بدون تغییر موند، خروجی عبارت true میشه Biggrin



در مورد کد ها: خب ایول دیگه Happy Biggrin
۰۸-خرداد-۱۳۹۳, ۰۱:۴۷:۲۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : babyy, Ambassador, رسول


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [آموزشی] نحوه کار با نرم افزار Xilinx.ISE.Design.Suite.v14.7 Ambassador 10 19,765 ۲۴-اردیبهشت-۱۳۹۵, ۱۲:۱۹:۱۶
آخرین ارسال: sptspt
  [پروژه] شروع کار با Xilinx Spartan 3 - XC3S400 salehjg 3 3,818 ۰۷-تير-۱۳۹۴, ۰۲:۳۰:۱۹
آخرین ارسال: salehjg
  فیلم های آموزشی سایت Xilinx - **(دانلود کنید! با حجم کم)** محمد حسینی 0 6,852 ۰۲-تير-۱۳۹۰, ۲۳:۲۵:۰۲
آخرین ارسال: محمد حسینی
  cpld چیست emrah61 2 7,682 ۱۶-آبان-۱۳۸۹, ۰۱:۰۵:۵۶
آخرین ارسال: t3r!p3000
  مشکل با پروگرم cpld rezadevelop 1 3,255 ۲۶-شهریور-۱۳۸۸, ۰۸:۵۳:۵۵
آخرین ارسال: 1nafar

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS