پرش به


تصویر

خطا در ورود به محیط شبیه سازی


  • لطفا وارد حساب کاربری خود شوید تا بتوانید پاسخ دهید
22 پاسخ برای این موضوع

#1 mirzaagha

mirzaagha

    کاربر عادی

  • کاربر عادی
  • ستارهستاره
  • 17 ارسال

ارسالی 03 April 2017 - 12:41 PM

سلام

میخوام یک کد مربوط به نوسان گیر از کتاب نمونه سازی Fpga با مثال هایی از Vhdl رو که در فصل FSm هست در محیط Isim شبیه سازی کنم اما خطا میده و ارور زیر رو مینویسه

 

FATAL_ERROR:Simulator:Fuse.cpp:209:1.129 - Failed to compile one of the generated C files. Please recompile with -mt off -v 1 switch to identify which design unit failed.  Process will terminate. For technical support on this issue, please open a WebCase with this project attached at http://www.xilinx.com/support.
 

لطفا راهنماییم کنید. با تشکر



#2 mahmoud

mahmoud

    Administrator

  • مدیریت انجمن
  • 100 ارسال

ارسالی 03 April 2017 - 03:12 PM

سلام.
اینطوری نمیشه گفت مشکل از چیه.

لطفا سورس کامل پروژه را در قالب یک فایل زیپ آپلود کنید و لینکش را اینجا قرار بدید.



#3 mirzaagha

mirzaagha

    کاربر عادی

  • کاربر عادی
  • ستارهستاره
  • 17 ارسال

ارسالی 04 April 2017 - 01:00 PM

 

سلام.
اینطوری نمیشه گفت مشکل از چیه.
لطفا سورس کامل پروژه را در قالب یک فایل زیپ آپلود کنید و لینکش را اینجا قرار بدید.

 

http://s9.picofile.c...sangir.rar.html

فایل زیپ شده



#4 mahmoud

mahmoud

    Administrator

  • مدیریت انجمن
  • 100 ارسال

ارسالی 04 April 2017 - 04:48 PM

فایل ویروسی هست ظاهرا!



#5 mirzaagha

mirzaagha

    کاربر عادی

  • کاربر عادی
  • ستارهستاره
  • 17 ارسال

ارسالی 04 April 2017 - 07:01 PM

فایل ویروسی هست ظاهرا!

سیستمم ویروسیه یعنی ؟؟؟؟؟



#6 mirzaagha

mirzaagha

    کاربر عادی

  • کاربر عادی
  • ستارهستاره
  • 17 ارسال

ارسالی 12 June 2017 - 08:15 PM

سلام
در مورد نمونه گری عناصر مشکل دارم.
زمانی که میخوام معرفی کنم عنصر رو مثل خط زیر
Example name:entity lib-name.entity-name(arc-name) اسم کتابخانه رو هر چیزی که میزنم ارور میگیره.
در کتاب پونگ پی چو نوشته شده کتابخانه ای که معمولا کدها درش کامپایل میشن به اسم work هست.اما با نوشتنش باز هم ارور میگیره.
لطفا راهنمایی کنید.
راستی یه سوال دیگه اینکه اون کد یا ساختاری که میخوایم ازش تو یه کد دیگه استفاده کنیم باید تو پروژمون add کنیم یا نه؟!

#7 mahmoud

mahmoud

    Administrator

  • مدیریت انجمن
  • 100 ارسال

ارسالی 13 June 2017 - 06:46 AM

سلام

باید فایل های تعریف کتابخانه را به لایبری ورک اضافه کنید.

زبانه‌ی libraries در پایین پنل سمت چپ نرم افزار ISE را نگاه کنید. فایل های تعریف کتابخانه باید ذیل کتابخانه‌ی ورک add شوند.



#8 mahmoud

mahmoud

    Administrator

  • مدیریت انجمن
  • 100 ارسال

ارسالی 13 June 2017 - 06:47 AM

سلام

باید فایل های تعریف کتابخانه را به لایبری ورک اضافه کنید.

زبانه‌ی libraries در پایین پنل سمت چپ نرم افزار ISE را نگاه کنید. فایل های تعریف کتابخانه باید ذیل کتابخانه‌ی ورک add شوند.


  • mirzaagha این پست را پسندیده است

#9 mirzaagha

mirzaagha

    کاربر عادی

  • کاربر عادی
  • ستارهستاره
  • 17 ارسال

ارسالی 13 June 2017 - 11:47 AM

سلام

باید فایل های تعریف کتابخانه را به لایبری ورک اضافه کنید.

زبانه‌ی libraries در پایین پنل سمت چپ نرم افزار ISE را نگاه کنید. فایل های تعریف کتابخانه باید ذیل کتابخانه‌ی ورک add شوند.

سلام مجدد

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

یک سوال دیگه برام پیش اومده

آیا توابع زمانی کتابخانه مربوط به خودشون رو دارن

دستورات تاخیر زمانی قابل سنتز نیستن؟

فایل پروژ هم برای دانلود میگذارم

http://s8.picofile.c...ortmap.rar.html



#10 mahmoud

mahmoud

    Administrator

  • مدیریت انجمن
  • 100 ارسال

ارسالی 14 June 2017 - 08:12 AM

سلام.

خیر تاخیرها قابل سنتز نیستند و فقط برای شبیه سازی و تست بنچ نوشتن مورد استفاده قرار میگیرند.



#11 mirzaagha

mirzaagha

    کاربر عادی

  • کاربر عادی
  • ستارهستاره
  • 17 ارسال

ارسالی 14 June 2017 - 06:43 PM

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

#12 mahmoud

mahmoud

    Administrator

  • مدیریت انجمن
  • 100 ارسال

ارسالی 15 June 2017 - 06:18 AM

تاخیر و ترتیب زمانی را باید با state machine پیاده سازی کنید.



#13 mirzaagha

mirzaagha

    کاربر عادی

  • کاربر عادی
  • ستارهستاره
  • 17 ارسال

ارسالی 11 July 2017 - 07:59 PM

سلام

در مباحث کتاب نمونه سازی fpga پونگ پی چو یک سوال برام پیش اومده

در فصل چهارم (مدار ترتیبی منظم) در بخش 5 قسمت 2یک نمونه کد زمان سنج رو آموزش داده.

در ابتدای توضیحات این رو مطرح میکنه که چون بورد آموزشی دارای اوسیلاتور 50 مگاهرتز هست باید یک شمارنده 5000000 داشته باشیم.من علت این رو نمیفهمم.

اگر راهنماییم کنید ممنون میشم.



#14 mahmoud

mahmoud

    Administrator

  • مدیریت انجمن
  • 100 ارسال

ارسالی 12 July 2017 - 06:24 PM

سلام

در مباحث کتاب نمونه سازی fpga پونگ پی چو یک سوال برام پیش اومده

در فصل چهارم (مدار ترتیبی منظم) در بخش 5 قسمت 2یک نمونه کد زمان سنج رو آموزش داده.

در ابتدای توضیحات این رو مطرح میکنه که چون بورد آموزشی دارای اوسیلاتور 50 مگاهرتز هست باید یک شمارنده 5000000 داشته باشیم.من علت این رو نمیفهمم.

اگر راهنماییم کنید ممنون میشم.

در واقع داره از کانتر برای تقسیم فرکانس استفاده میکنه.
یه شمارنده که تا 5000000 را بشماره، وقتی که یه پالس 50.000.000 هرتزی بهش اعمال میشه، 10 بار سرریز میشه و فرکانس تغییرات سرریزش برابر 50.000.000/5.000.000 = 10 هرتز میشه. به این ترتیب از کلاک 50 مگ، یه کلاک 10 هرتز ساخته میشه.



#15 mirzaagha

mirzaagha

    کاربر عادی

  • کاربر عادی
  • ستارهستاره
  • 17 ارسال

ارسالی 14 July 2017 - 10:47 AM

ممنونم.

#16 mirzaagha

mirzaagha

    کاربر عادی

  • کاربر عادی
  • ستارهستاره
  • 17 ارسال

ارسالی 24 July 2017 - 01:02 PM

سلام مجدد

دو دستور هست که متوجه نمیشم منظورشو راهنمایی بفرماید لطفا

 

type ram_type is array(2**w-1 downto 0) of std_logic_vector(b-1 downto 0)

آیا این دستور به معنی این هست که  آرایه 4بیتی داریمکه یک متغییر 8 بیت در آن ذخیره شده ؟

(اگر خودتون راهنمایی بفرمایید ممنون میشم)

 

 

array_reg(to_integer(unsigned(w_pntr_reg))<= w_data

منظور از to_integer در اینجا چی هست؟

 

با تشکر  از شما



#17 mahmoud

mahmoud

    Administrator

  • مدیریت انجمن
  • 100 ارسال

ارسالی 25 July 2017 - 06:09 AM

سلام

 

type ram_type is array(2**w-1 downto 0) of std_logic_vector(b-1 downto 0)

 

در این دستور یک نوع داده به اسم ram_type تعریف شده که یک آرایه دو بعدی شامل 2 بتوان w منهای 1 عنصر برداری با عرض b بیت است. مثلا اگر w را قبلا 3 تعریف کرده باشید و b را 8، نتیجه یک حافظه‌ی دو بعدی میشود که 7 خانه دارد و در هر خانه یک رجیستر 8 بیتی قرار دارد.

 

 

array_reg(to_integer(unsigned(w_pntr_reg))<= w_data

منظور از to_integer در اینجا چی هست؟

 

در خط اول مقدار w_data را در خانه‌ی w_pntr_reg ام حافظه‌ی مذکور می‌ریزد.
منظور از to_integer نیز همانطور که از اسمش پیدا است، تبدیل کردن مقدار باینری درون رجیستر w_pntr_reg به یک عدد صحیح قابل استفاده بعنوان آدرس حافظه است.



#18 mirzaagha

mirzaagha

    کاربر عادی

  • کاربر عادی
  • ستارهستاره
  • 17 ارسال

ارسالی 29 July 2017 - 08:05 PM

سلام مجدد خدمت همه دوستان و علی الخصوص مدیر انجمن

 

با تشکر بابت پاسخ هاتون.

 

خوشبختانه به انتهای فصل 4 کتاب نمونه سازی fpga پونگ پی چو رسیدم و تمرین هایی که باید انجام بدم.

 

اولین تمرین نوشتن کد مربوط به ایجاد پالس مربعی با دوسیگنال کنترلی میباشد که عرض پالس را در سطح 1 و 0 کنترل میکند.

من این کد رو نوشتم اما در نرم افزار Warning میده و متوجه نمیشم ایراد از کجاست

 

کدی که نوشتم رو براتون میگذارم ممنون میشم راهنماییم کنید.

 

 


library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;


entity progsquarepwm is
port(
clk,reset:in std_logic;
s:out std_logic;
m,n:in std_logic_vector(3 downto 0)
);

end progsquarepwm;

architecture Behavioral of progsquarepwm is


begin

--------------------------------------
process(clk,reset)
variable a:integer:=0;
variable b:integer:=0;
begin
    if (reset='1') then
    s <='0';
    elsif (clk'event and clk='1') then
    s <= '1';
        if (a < ((unsigned(m))*4)) then
        a := a+1;
        else
            a:=0;
            s <='0';
            if (b < ((unsigned(n))*4)) then
            b:= b+1;
            else
            b:=0;
            end if;
        end if;
    end if;
end process;
--------------------------------------



end Behavioral;
 



#19 mahmoud

mahmoud

    Administrator

  • مدیریت انجمن
  • 100 ارسال

ارسالی 30 July 2017 - 06:13 AM

سلام.

warning که یک چیز کاملا طبیعی هست توی ISE!
متن وارنینگ را بفرستید تا ببینیم چی هست.



#20 mirzaagha

mirzaagha

    کاربر عادی

  • کاربر عادی
  • ستارهستاره
  • 17 ارسال

ارسالی 01 August 2017 - 03:43 PM

سلام

یکی از وارنینگ ها

 

FF/Latch <a_31> has a constant value of 0 in block <progsquarepwm>. This FF/Latch will be trimmed during the optimization process.

 

 و دیگری که ازش خیلی زیاد هست اینه

 

Due to other FF/Latch trimming, FF/Latch <a_30> has a constant value of 0 in block <progsquarepwm>. This FF/Latch will be trimmed during the optimization process.

 

مشکل دیگم در نوشتن کد اسیلتور با پریود 100 نانو ثانیه هست.

زمانی که میخواد از سطح 0 به 1 بره میره اما مدت زمانی که باید در سطح 1 بمونه (100 نانو ثانیه) نیست و کلا یک کلاک میخوره.

کد در زیر ارسال میشه :

 


library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

use IEEE.NUMERIC_STD.ALL;


entity quad is
port(
clk,reset:in std_logic;
o:out std_logic
--m,n:in std_logic_vector(3 downto 0)
);

end quad;

architecture Behavioral of quad is

begin
process(clk,reset)
constant m :integer:=5;
variable m_1:integer range 0 to m;
begin
if reset='1' then
o <='0';
elsif (clk'event and clk='1') then
o <= '0';
m_1:=m_1+1;
    if (m_1=m) then
    m_1:=0;
    o <='1';
    m_1:=m_1+1;
        if (m_1=m) then
        m_1:=0;
        o<='0';
        end if;
    end if;
end if;
end process;



end Behavioral;

 






0 کاربر در حال خواندن این موضوع است

0 کاربر، 0 مهمان و 0 عضو مخفی