این دستور alliance-genpat است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
جنپات، تولید کننده فایل الگوی رویه ای
خلاصه
جنپات [-v] [-k] [فایل]
شرح
جنپات مجموعهای از فونکهای C است که امکان توصیف رویهای فایل الگوی ورودی را فراهم میکند
برای شبیه ساز منطق آسیموت. یونیکس جنپات دستور یک فایل C را به عنوان ورودی می پذیرد و
یک فایل توضیحات الگو را به عنوان خروجی تولید می کند. پسوند ".c" نباید داده شود. در
فایل تولید شده توسط جنپات در قالب pat است، بنابراین دیدن آن به شدت توصیه می شود اهسته دست زدن به(5)
قبل از این راهنما
OPTIONS
-v حالت پرحرف
-k پس از اتمام، فایل اجرایی را به همراه Makefile کامپایل نگه می دارد
GENPAT فایل FORMAT
از دیدگاه کاربر، جنپات یک زبان توصیف الگو با استفاده از تمام استاندارد C است
امکانات (شامل، تعریف، متغیرها، حلقه، ...). فانکشن های ارائه شده توسط جنپات به می
به ترتیب معین استفاده شود استفاده از آنها به ترتیبی دیگر باعث خرابی سیستم نمی شود، اما خراب می شود
منجر به خطاهای اجرا می شود. در اینجا توضیحات مربوط به فایل ورودی آمده است.
A اهسته دست زدن به فایل فرمت را می توان به دو بخش تقسیم کرد: قسمت اعلامیه و قسمت توضیحات.
قسمت اعلامیه لیست ورودی ها، خروجی ها، سیگنال های داخلی و رجیسترها است.
ورودی ها باید به مقدار معینی وادار شوند و بقیه باید در طول آن رعایت شوند
شبیه سازی.
بخش توضیحات مجموعه ای از الگوها است که در آن هر الگو مقدار ورودی ها را مشخص می کند
و خروجی ها عدد الگو در واقع نشان دهنده زمان مطلق برای شبیه ساز است.
به طور مشابه، a جنپات فایل را می توان به دو بخش تقسیم کرد: قسمت اعلامیه و قسمت توضیحات.
توابع مربوط به اعلان باید قبل از هر تابع مربوط به آن فراخوانی شوند
قسمت توضیحات
اعلام بخش
اولین کاری که باید در این قسمت انجام دهید این است که نام فایل خروجی را بدهید
(نگاه کنید به DEF_GENPAT(3)). سپس، این قسمت به شما اجازه می دهد تا ورودی ها را اعلام کنید
خروجی ها و نقاط مشاهده داخلی (نگاه کنید به اعلام کنید(3)). همچنین امکان پذیر است
ایجاد آرایه های مجازی (نگاه کنید به آرایه(3).
شرح بخش
پس از اعلام همه سیگنال ها، می توانید شروع به تعریف مقادیر ورودی کنید
به ورودی های مدار یا مقادیر خروجی که قرار است اعمال شود
با مقادیر تولید شده در طول شبیه سازی مقایسه کنید. (دیدن تاثیر می گذارد(3)). جنپات
محرک را با رویداد توصیف می کند: فقط انتقال سیگنال توصیف شده است. این
قسمت همچنین به شما اجازه می دهد تا دستورالعمل هایی را به ابزار شبیه سازی برای ذخیره سازی بدهید
وضعیت مدار در پایان شبیه سازی (دیدن صرفه جویی(3)). آخرین چیزی که تو
در این قسمت باید فایل خروجی تولید شود (نگاه کنید به SAV_GENPAT(3).
توابع
DEF_GENPAT() نام فایل خروجی را تعریف می کند.
SAV_GENPAT() کاری کنید که فایل خروجی تولید شود
DECLAR() ورودی ها، خروجی ها و نقاط مشاهده داخلی را اعلام می کند.
آرایه() اجازه می دهد تا سیگنال هایی از همان نوع در یک "آرایه مجازی" در گروه بندی شوند
به منظور سهولت دستکاری آنها
INIT() مقادیر ثبات ها را بین دو الگو تغییر می دهد.
تاثیر می گذارد() با یک عدد الگوی معین، مقداری را به یک سیگنال اختصاص می دهد. این مقدار حفظ می شود
روی سیگنال تا زمانی که مقدار جدیدی به سیگنال اختصاص داده شود.
صرفه جویی() به ابزار شبیه سازی اطلاع می دهد تا وضعیت مدار را در انتهای آن ذخیره کند
شبیه سازی
برچسب() به الگوی فعلی یک برچسب می دهد
GETCPAT() شماره الگوی فعلی را برگردانید
مثال ها
#عبارتند از
#include "genpat.h"
char *inttostr(entier)
int entier;
{
char *str;
str = (char *) mbkalloc (32 * sizeof (char));
sprintf (str, "%d",entier);
return(str);
}
/*------------------------------*/
/* انتهای توضیحات */
/*------------------------------*/
اصلی ()
{
بین من
int j;
int cur_vect = 0;
DEF_GENPAT ("مثال");
/* رابط */
DECLAR ("a"، ":2"، "X"، IN، "3 downto 0"، "" );
DECLAR ("b"، ":2"، "X"، IN، "3 downto 0"، "" );
DECLAR ("s"، ":2"، "X"، OUT، "3 downto 0"، "" );
DECLAR ("vdd"، ":2"، "B"، IN، ""، "")؛
DECLAR ("در مقابل"، ":2"، "B"، IN، ""، "")؛
LABEL ("جمع کننده")؛
AFFECT ("0"، "vdd"، "0b1")؛
AFFECT ("0"، "در مقابل"، "0b0")؛
برای (i=0; i<16; i++)
{
برای (j=0؛ j<16؛ j++)
{
AFFECT (inttostr(cur_vect)، "a"، inttostr(i));
AFFECT (inttostr(cur_vect)، "b"، inttostr(j));
cur_vect++;
}
}
SAV_GENPAT ();
}
محیط زیست متغیرها
جنپات متغیر محیطی VH_PATSFX را می خواند تا به فایل نتیجه پسوند بدهد.
از alliance-genpat به صورت آنلاین با استفاده از خدمات onworks.net استفاده کنید