Synthesize
qatoridaga sichqonchaning o‘ng
tugmasi bosish Sintezlash parametrlari o‘rnatishlariga o‘tiladi. Bu erda, xususan,
sintez qaysi optimallashtirishga ko‘ra amalga oshirilishini tanlashingiz mumkin
(maksimal tezlik yoki minimal maydon bo‘yicha) (7.12-rasm).
106
7.12-rasm. Sintez parametrlari oynasi
Jarayonlar oynasida sintezni boshlash uchun
Synthesize
ga sichqonchaning
chap tugmachasini ikki marta bosish kerak. Sintez jarayoni muvaffaqiyatli
tugallangandan so‘ng, xabar oynasida "
Process "Synthesize – XST" completed
successfully
" muvaffaqiyatli yakunlandi xabari paydo bo‘lishi kerak. Aks holda,
mavjud xatolarni bartaraf etish va sintezni takrorlash talab qilinadi.
Keyinchalik, siz har qanday paketdagi (masalan,
Modelsim
yoki
ISim
)
sxemaning ishlashini taqlid qilishingiz mumkin, shuningdek, olingan qurilmaning
pinlarini(oyoqchalarini) FPGA kristalining jismoniy pinlariga tasdiqlashingiz
mumkin. Bu keyinroq muhokama qilinadi.
107
7.4. Yuqori darajadagi til yordamida raqamli qurilmaning ishlashini
tavsiflash.
Keling, yuqori darajadagi til - VHDL yordamida oldin ko‘rilgan muammoni
(50 MHz dan 1 kHz gacha chastotani bo‘lichni) amalga oshirishni qarab chiqaylik.
Buning uchun yangi loyiha modulini yaratishda (7.8-rasmga qarang)
VHDL
Module
bandi tanlanadi. Modul nomini kiritgandan so‘ng va kirish / chiqish
signallarini aniqlash oynasida Keyingi (
Next
) tugmasini bosgandan so‘ng, modul
interfeysini tavsiflash mumkin (7.13-rasm).
Keyingi tugmani bosgandan so‘ng, kelajakdagi modul haqida qisqacha
ma’lumot beruvchi boshqa oyna paydo bo‘ladi (7.14-rasm).
Agar modul parametrlarini kiritishda xatolikka yo‘l qo‘yilsa, orqaga qaytib,
parametrlarni to‘g‘rilash mumkin, agar hammasi to‘g‘ri bo‘lsa, Tayor
(
Finish
)tugmasini bosgandan so‘ng "bo‘sh shablon" VHDL fayli yaratiladi , unda
faqat interfeysning tavsifi mavjud bo‘ladi. Yaratilgan modulda faqat jarayon yoki
qurilmaning ishlashini tavsiflovchi jarayonlar tavsifi etishmaydi. Yaratilgan dastur
listingi 7.1 da keltirilgan.
7.13-rasm. I/U signallarining tavsifi
108
7.14-rasm.Yangi modul tafsilotlari oynasi
Listing 7.1. VHDL moduli bo‘sh shablonini ko‘rinishi.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity freq_vhdl is
Port (clk : in STD_LOGIC;
reset : in STD_LOGIC;
F_out : out STD_LOGIC);
end freq_vhdl;
architecture Behavioral of freq_vhdl is begin
end Behavioral;
109
Dastur kodini VHDL tilida yozishni osonlashtirish uchun tizim sxema
komponentlarining ko‘pchiligining til tavsifiga misollar bilan yordam beradi (bosh
menyuda
Edit > Language Templates…
) (7.15-rasm).
7.15-rasm. VHDL tili primitiv va misollar shablonlari oynasi
7.15 rasmdagi shaklda ko‘rsatilgan sanagich(counter) shablonini nusxalab
ko‘chirish mumkin va uning matnini muammoning holatiga qarab tahrirlash orqali
VHDL tilida ishlab chiqilayotgan qurilmaning 7.2. listing tavsifini olainadi.
Listing 7.2. VHDL moduli moslashtirilgan ko‘rinishi.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
110
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity freq_vhdl is
Port ( clock_en : in STD_LOGIC;
clk : in STD_LOGIC;
reset : in STD_LOGIC;
F_out : out STD_LOGIC
);
end freq_vhdl;
architecture Behavioral of freq_vhdl is
signal counter: std_logic_vector (15 downto 0);
signal F_out_temp: std_logic;
begin
process (clk, reset)
begin
if reset = '1' then
counter <= (others => '0');
elsif clk = '1' and clk'event then if clock_en = '1' then
counter <= counter + 1;
end if;
if counter = "0110000110101000" then
counter <= (others => '0');
F_out_temp <= not F_out_temp;
end if;
end if;
F_out <= F_out_temp;
end process;
end Behavioral;
111
Taqdim etilgan koddan ko‘rinib turibdiki, qurilma interfeysida sanashga
ruxsat qilish uchun mas'ul bo‘lgan yangi clock_en oyoqcha(PIN) paydo qilingan.
Jarayonlar oynasidagi
Check Syntax
opsiyasidan foydalanib, qo‘pol xatolar
yo‘qligini tekshirish mumkin (7.16-rasm).
Xatolar mavjud bo‘lsa, ularning xabarlar ro‘yxati oynasida paydo bo‘ladi
(7.17-rasm), undan tanlangan xato ustida sichqonchaning chap tugmachasini ikki
marta bosish orqali tasvirlangan modulning mos keladigan nuqtasiga o‘tish
mumkin.
Shuni ta’kidlash kerakki, xatolarning yo‘qligi har doim ham ishchi loyihani
yaratish imkoniyatini kafolatlamaydi. Agar kompilyatsiya va chipga yig‘ilgandan
so‘ng, loyihaning biron bir qismi kutilmaganda yo‘q bo‘lsa, xabar ro‘yxati oynasi
ogohlantirishlarni tahlil qilish kerak.
Bundan tashqari, qurilmaning VHDL tavsifidan siz sxematik tavsifda
foydalanish mumkin bo‘lgan kutubxona komponentini olishingiz
112
7.16-rasm. VHDL modulining sintaksisini tekshirish
7.17-rasm. VHDL tavsif kodidagi xatolar xabari ro‘yxati oynasi
mumkin. Buni amalga oshirish uchun “
Design Utilities
” yorlig‘idagi jarayon
oynasida “
Create Schematic Symbol
” variantini ikki marta bosing (7.18-rasm).
Shundan so‘ng, yaratilgan VHDL moduli sxematik muharrirdagi elementlar
kutubxonasida mavjud bo‘ladi, endi uni ustida sxemaning boshqa elementlari
singari bir xil amallarni bajarish mumkin bo‘ladi.
Modul tavsifining oxirida (sxema yoki VHDLda) uni sintez qilishni ishga
tushirish kerak. Boshlashdan oldin sintez parametrlarini
Synthesize
jarayoni
kontekst menyusida sichqonchaning o‘ng tugmasi bilan bosish va undagi
"
Properties…
" ni tanlash orqali o‘rnatish mumkin. Jarayonlar oynasida sintezni
boshlash uchun
Synthesize
punktida sichqonchaning chap tugmachasini ikki marta
bosish kerak. Sintez jarayoni muvaffaqiyatli yakunlangach, xabar oynasida
loyihaning maksimal takt chastotasining dastlabki qiymati paydo bo‘ladi (7.19-
rasm).
113
7.18-rasm. Qurilma uchun kutubxonadagi sxemoviy ko‘rinish qismini yaratish
7.19-rasm. Yakuniy natija xabar oynasi.
Dostları ilə paylaş: |