Đây là lệnh liên minh-genpat có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS
CHƯƠNG TRÌNH:
TÊN
genpat, Trình tạo tệp mẫu thủ tục
SYNOPSIS
genpat [-v] [-k] [tập tin]
MÔ TẢ
Genpat là một tập hợp các fonctions C cho phép mô tả thủ tục của tệp mẫu đầu vào
cho trình mô phỏng logic ASIMUT. Unix genpat lệnh chấp nhận tệp C làm đầu vào và
tạo ra một tệp mô tả mẫu làm đầu ra. Phần mở rộng ".c" không được cung cấp. Các
tệp được tạo bởi genpat ở định dạng pat, vì vậy nó ĐƯỢC ĐỀ XUẤT MẠNH MẼ ĐỂ XEM pat(5)
TRƯỚC HƯỚNG DẪN NÀY.
LỰA CHỌN
-v chế độ tiết
-k giữ tệp thực thi cùng với Makefile biên dịch sau khi hoàn thành
GENPAT FILE FORMAT
Từ quan điểm của người dùng, genpat là một ngôn ngữ mô tả mẫu sử dụng tất cả C tiêu chuẩn
cơ sở vật chất (bao gồm, xác định, biến, vòng lặp, ...). Các bộ sưu tập được cung cấp bởi genpat là để
được sử dụng theo một thứ tự nhất định. Sử dụng chúng theo một thứ tự khác sẽ không làm hỏng hệ thống, nhưng sẽ
dẫn đến lỗi thực thi. Dưới đây là mô tả của tệp đầu vào.
A pat tập tin định dạng có thể được chia thành hai phần: phần khai báo và phần mô tả.
Phần khai báo là danh sách các đầu vào, đầu ra, tín hiệu bên trong và các thanh ghi.
Các đầu vào phải được ép buộc đến một giá trị nhất định và tất cả những giá trị khác phải được quan sát trong quá trình
mô phỏng.
Phần mô tả là một tập hợp các mẫu, trong đó mỗi mẫu xác định giá trị của các đầu vào
và kết quả đầu ra. Số mẫu thực sự đại diện cho thời gian tuyệt đối cho trình mô phỏng.
Tương tự, một genpat tệp có thể được chia thành hai phần: phần khai báo và phần mô tả.
Các hàm liên quan đến khai báo phải được gọi trước bất kỳ hàm nào liên quan đến
phần mô tả.
kê khai một phần
Điều đầu tiên bạn nên làm trong phần này là đặt tên cho tệp đầu ra
(xem DEF_GENPAT(3)). Sau đó, phần này cho phép bạn khai báo các đầu vào,
đầu ra và các điểm quan sát bên trong (xem KHAI BÁO(3)). Nó cũng có thể
tạo mảng ảo (xem MẢNG(3)).
Mô tả một phần
Sau khi tất cả các tín hiệu được khai báo, bạn có thể bắt đầu xác định các giá trị đầu vào là
được áp dụng cho các đầu vào của mạch hoặc các giá trị đầu ra sẽ
so sánh với các giá trị được tạo ra trong quá trình mô phỏng. (Thấy chưa CÓ ẢNH HƯỞNG ĐẾN(3)). Genpat
mô tả kích thích bằng sự kiện: chỉ các chuyển đổi tín hiệu được mô tả. Cái này
một phần cũng cho phép bạn đưa ra hướng dẫn cho công cụ mô phỏng để lưu
trạng thái của mạch khi kết thúc mô phỏng. (Thấy chưa LƯU GIỮ(3)). Điều cuối cùng bạn
nên làm trong phần này là tạo tệp đầu ra (xem SAV_GENPAT(3)).
CHỨC NĂNG
DEF_GENPAT () xác định tên của tệp đầu ra.
SAV_GENPAT () làm cho tệp đầu ra được tạo
DECLAR () khai báo đầu vào, đầu ra và các điểm quan sát bên trong.
MẢNG() cho phép các tín hiệu cùng loại được đưa vào một "mảng ảo" trong
để giảm bớt sự thao túng của họ
TRONG ĐÓ() thay đổi giá trị của thanh ghi giữa hai mẫu.
CÓ ẢNH HƯỞNG ĐẾN() gán một giá trị cho một tín hiệu, tại một số mẫu nhất định. Giá trị này được giữ
trên tín hiệu cho đến khi một giá trị mới được gán cho tín hiệu.
CỨU() thông báo cho công cụ mô phỏng để lưu trạng thái của mạch khi kết thúc
mô phỏng
NHÃN MÁC() đặt nhãn cho mẫu hiện tại
GETCPAT () trả về số lượng của mẫu hiện tại
VÍ DỤ
#bao gồm
#include "genpat.h"
char * inttostr (entier)
int nhập;
{
char * str;
str = (char *) mbkalloc (32 * sizeof (char));
sprintf (str, "% d", entier);
return (str);
}
/ * ------------------------------ * /
/ * cuối mô tả * /
/ * ------------------------------ * /
chính ()
{
int tôi;
intj;
int cur_vect = 0;
DEF_GENPAT ("ví dụ");
/ * giao diện * /
DECLAR ("a", ": 2", "X", IN, "3 downto 0", "");
DECLAR ("b", ": 2", "X", IN, "3 downto 0", "");
DECLAR ("s", ": 2", "X", OUT, "3 xuống 0", "");
DECLAR ("vdd", ": 2", "B", IN, "", "");
DECLAR ("vss", ": 2", "B", IN, "", "");
LABEL ("bộ cộng");
AFFECT ("0", "vdd", "0b1");
AFFECT ("0", "vss", "0b0");
cho (i = 0; i <16; i ++)
{
cho (j = 0; j <16; j ++)
{
AFFECT (inttostr (cur_vect), "a", inttostr (i));
AFFECT (inttostr (cur_vect), "b", inttostr (j));
cur_vect ++;
}
}
SAV_GENPAT();
}
MÔI TRƯỜNG BIẾN
Genpat đọc biến môi trường VH_PATSFX để tạo phần mở rộng cho tệp kết quả.
Sử dụng liên minh-genpat trực tuyến bằng các dịch vụ onworks.net