Modelsim

آموزش نرم افزار Modelism و نکات کاربردی که باید بدانید

Modelsim برنامه ای است که توسط Mentor Graphics برای شبیه سازی طرح های VHDL و Verilog ساخته شده است. این برنامه پرکاربردترین برنامه شبیه سازی در تجارت و آموزش است. این مقاله اول برای تان باز می کند که شبیه سازی چه اهمیتی دارد و به بعد این که چه طور می توانید از Modelsim Student Edition برای استفاده شخصی تان بهره ببرید، می پردازد.

شبیه سازی یک مرحله حیاتی در طراحی FPGA و ASIC است. شبیه سازی به طراح این امکان را می دهد که به طرحش پر و بال دهد و ببیند کدی که نوشته است؛ چه طور به محرک واکنش نشان می دهد. در یک شبیه سازی کامل تمام حالت های ممکن طراحی پیاده سازی می شود تا این اطمینان به وجود بیاید که به تمام ورودی ها به درستی پرداخته می شود. خطا های مختلفی هستند که اگر طراحی تان را شبیه سازی نکنید، خیلی راحت ممکن است مرتکب شان شوید، مثال بارزِ یکی از آن ها جا گذاشتن عبارت if است. خب پس بهتر است وقت را تلف نکنیم و نصب و راه اندازی مدلیسم را شروع کنیم!

 


برنامه نویسی شبکه معماری کامپیوتر هوش مصنوعی و تجاری

توی این پک فوق العاده، صفرتاصد مبانی برنامه نویسی رو جوری یاد میگیری که تو هیچ کلاس آموزشی یا پک دیگه ای نه دیدی نه شنیدی! بدون هیچ کلاسی، با صفرتاصد مبانی برنامه نویسی اپلیکیشن بزن، پروژه محور یاد بگیر و حسابی پول در بیار! 


 

Modelsim را با پارامتر های پیش فرض نصب کنید. توجه داشته باشید که باید از منتور گرافیک مجوز بگیرید. در پایان نصب هم باید گزینه Finish را انتخاب کنید، یک پنجره مرورگر با فرم License Request باز می شود. یادتان باشد که با کلیک کردن روی لینک درخواست مجوز موجود در Bookmark مرورگرتان یا لینک ارسال شده در وب جوابی نخواهید گرفت.

محیط  نرم افزار Modelism

کدی که شبیه سازی خواهیم کرد، طرح VHDL زیر است. کد فعلی اهمیتی ندارد، بنابراین اگر در حال یادگیری Verilog هستید ، نگران نباشید! برای این آموزش نیازی به دانستن VHDL نیست. کد VHDL یک And Gate ساده درست می کند و برخی از ورودی ها را از طریق یک محیط تست می گیرد. کد زیر موجود در and_gate.vhd و testbench را در and_gate_tb.vhd کپی کنید.

and_gate.vhd:

library ieee;

use ieee.std_logic_1164.all;

entity and_gate is

  port (

    input_1    : in  std_logic;

    input_2    : in  std_logic;

    and_result : out std_logic

    );

end and_gate;

architecture rtl of and_gate is

  signal and_gate : std_logic;

begin

  and_gate   <= input_1 and input_2;

  and_result <= and_gate;

end rtl;

and_gate_tb.vhd:

library ieee;

use ieee.std_logic_1164.all;

entity and_gate_tb is

end and_gate_tb;

architecture behave of and_gate_tb is

  signal r_SIG1   : std_logic := ‘0’;

  signal r_SIG2   : std_logic := ‘0’;

  signal w_RESULT : std_logic;

  component and_gate is

    port (

      input_1    : in  std_logic;

      input_2    : in  std_logic;

      and_result : out std_logic);

  end component and_gate;

begin

  and_gate_INST : and_gate

    port map (

      input_1    => r_SIG1,

      input_2    => r_SIG2,

      and_result => w_RESULT

      );

process is

  begin

    r_SIG1 <= ‘0’;

    r_SIG2 <= ‘0’;

    wait for 10 ns;

    r_SIG1 <= ‘0’;

    r_SIG2 <= ‘1’;

    wait for 10 ns;

    r_SIG1 <= ‘1’;

    r_SIG2 <= ‘0’;

    wait for 10 ns;

    r_SIG1 <= ‘1’;

    r_SIG2 <= ‘1’;

    wait for 10 ns;

  end process;

end behave;

بیایید Modelsim را باز کنیم . با پنجره ای به این شکل رو به رو خواهید شد:

Modelsim Main Window

برای شبیه سازی، باید یک پروژه ایجاد کنید. روی File > New > Project کلیک کنید. پنجره ای را در سمت چپ مشاهده خواهید کرد. یک مکان برای پروژه جدیدتان انتخاب کنید و نامش را and_gate تایپ کنید . پروژه ها در Modelsim پسوند فایل .prj دارند. سایر تنظیمات را بگذارید در حالت پیش فرض شان باشند. گزینه Default Library Name می گوید که همه کد ها در کتابخانه Work کامپایل می شوند.

tutorial-modelsim-beginner-2

روی Add Existing File کلیک کنید. به مکانی که and_gate.vhd و and_gate_tb.vhd را دانلود کرده اید؛ بروید و هر دو را به پروژه تان اضافه کنید . سایر تنظیمات را در حالت پیش فرض شان رها کنید. بعد از اتمام کار، روی گزینه OK کلیک کنید.

tutorial-modelsim-beginner-3

Files added to Modelsim Project

حالا اگر دقت کنید می بینید که فایل ها با موفقیت به پروژه تان اضافه شده اند. آن دو علامت سوال آبی را در شکل پنجره پروژه Modelsim در بالا می بینید ؟ این یعنی Modelsim هنوز فایل ها را کامپایل نکرده است. شما باید فایل های منبع را کامپایل کنید. برای این کار بر روی and_gate.vhd راست کلیک کنید، روی گزینه Compile و بعد روی Compile All کلیک کنید. همان طور که در تصویر زیر نشان داده شده است، باید پیام ها در پنجره کنسول به رنگ سبز در بیایند. این یعنی کامپایل موفقیت آمیز بوده است.

https://www.nandland.com/vhdl/tutorials/images/tutorial-modelsim-beginner-5.png

روی Simulate در نوار منو کلیک کنید، بعد روی Start Simulation کلیک کنید. با این کار پنجره Start Simulation باز می شود . روی علامت مثبت در کنار work کلیک کنید، بعد روی علامت مثبت در کنار and_gate_tb کلیک کنید. مطمئن شوید که and_gate_tb و نه and_gate را انتخاب کرده اید؛ زیرا می خواهیم طرح را در محیط تست شبیه سازی کنیم. هنگامی که and_gate_tb برجسته شد، روی OK کلیک کنید.

Buttons to start a simulation

add wave

تقریبا تمام شد! حالا همه چیز برای شبیه سازی آماده است. حالا بیشتر زمانی که از Modelsim استفاده می‌کنید، صرف مشاهده شکل موج می ‌شود. نمای شکل موج شامل امواج (0 و 1 باینری ، ارقام هگزا دسیمال، ارقام باینری ، انواع داده شمارشی و غیره ) برای همه سیگنال های طرح تان است. این موج نشان می دهد که ماژول شما چه طور به محرک های مختلف واکنش نشان می دهد. شکل بعدی به شما نشان می دهد که نمای شکل موج شما چه طور به نظر می رسد، البته اول باید چند سیگنال برای نظارت اضافه کنید. در این مثال، ما تمام سیگنال‌ های موجود در محیط تست را بررسی می‌ کنیم . برای این کار روی and_gate_tb در پنجره Sim در سمت راست و روی Add Wave کلیک کنید. همچنین می ‌توانید روی سیگنال ‌ها کلیک کنید و آن ها را از پنجره‌ های دیگر Modelsim به پنجره موج Drag‌ کنید.

Viewing a waveform

در کنار این مطلب دانلود کنید: آموزش صفر تا صد مهندسی نرم افزار

اینجا پنجره شکل موج شما است. همه سیگنال های موجود در محیط تست به عنوان سیگنال هایی که می توانید بر آن ها نظارت کنید، اضافه شده اند. برای راه اندازی عملیات شبیه سازی ، روی نماد یک تکه کاغذی که کنارش یک فلش رو به پایین دارد و در کنار فیلد 100 ns قرار گرفته کلیک کنید. با این کلیک ، شبیه سازی شما به مدت 100 نانوثانیه اجرا می شود. می بینید چه طور سیگنال ها تغییر می کنند! تبریک می گویم ! شما اولین شبیه سازی Modelsim تان را انجام دادید!

 

 

دانلود رایگان: آموزش همه زبانهای برنامه نویسی رایج

تفاوت پک های حرفه ای ما با آموزشهای رایگان: بطور خلاصه از زمین تا آسمان! 1-پکها، جدیدترین نسخه نرم افزارها را آموزش می دهند با قابلیت های بسیار بیشتر. 2-پکها توسط متخصص آن نرم افزار، به صورت کاملا پروژه محور و با حل چالش هایی که در مسیر کار عملی و حرفه ای با آن روبرو می شوید تهیه شده اند و بعد از استفاده، کاملا برای بازار کار آماده اید! 3- متد این پکها کاملا کار شده و تا ماهها، در ذهن تان ماندگارند و یادگیری بسیار سریعتر و کاملتری خواهید داشت. آموزشهای رایگان فقط دستورات نرم افزارها را (آنهم ناقص) بیان می کنند و تازه برای ورود به بازار باید ماهها تجربه عملی هم کسب کنید !!

turned_in,

چرب زبان

با این اپلیکیشن ساده، هر زبانی رو فقط با 5 دقیقه در روز، توی 80 روز مثل بلبل حرف بزن! بهترین متد روز، تقویت حافظه، آموزش تصویری. یادگیری زبان کلید یادگیری هر مهارتی در قرن 21 !


حتما بخوانید!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.

فهرست