Existing Pin/Location/Chip/Assignments терезесіндегі шықпалардың
қызметін танымалдандырылады:
бірінші жолды (IN1) айқында. Chip Resource терезесінде кез келген
нөмір шығуы мүмкін;
IN1 шықпасына (S1 ауыстырғышына қосылған) 45 нөмірін бекіту
үшін, оны Chip Resource Pin терезесіндегі түсірілімнен таңдау керек (ол санды
тікелей қоюға да болады). Сосын Add түймесі басылады;
IN1 шықпасының ескі қойылымын Delete түймесін басу арқылы
өшіріледі;
бұл қадамдарды 46 нөмірін (S2) IN2 шықпасына бекіту үшін
қайталанады;
осы сияқты OUT1 шықпасына 33 нөмірін қойып, Change түймесі
басылады;
кері
жазылым
процедурасын
бітіріп,
жаңа
шықпа
қойылымдарымдарын сақтау үшін OK басылады.
71
1.5 Бастапқы файлды қайта компиляциялау
Жаңа шықпа қойылымдарының компиляциялаушы файлға жіберілуі
үшін кері жазылымды бірінші компиляцияның жолымен қайта компиляциялау
керек.
1.6 Файлды құрылғыға енгізу
Компиляцияланған файлды компьютердің параллель порты арқылы
платада орналастырылған Altera 10K20 құрылғысының бағдарлаушы JTAG
шықпаларына жіберу келесі тәртіппен жүргізіледі (JTAG DOWNLOAD
индикаторының жарықтанған жағдайы енгізу процесінің жүргізіліп
жатқандығын куәлайды):
негізгі мәзірден MAX+Plus II/Programmer таңдалады;
А13 Сурет
JTAG ашып, онда Multi-Device JTAG Chain белгіле де, тағы да JTAG
ашып, түспе мәзірден Multi-Device JTAG Chain Setup JTAG таңдалады;
А14 Сурет
Select Programming File... түймесін басып, файлдар терезесінен
and.sof файлын таңдалып, OK басылады. Add түймесі арқылы and.sof файлын
файл аталымдарының тізіміне қосылады;
72
А15 Сурет
EB-136 қондырғысындағы аппараттық құралдарды тексеру үшін De-
tect JTAG Chain Info түймесін басып, сосын OK арқылы Programmer
терезесіне қайтылады;
құрылғыны бағдарлауға арналған and.sof файлын енгізу үшін
Configure түймесі басылады. “Configuration Complete” хабары шыққаннан
кейін, OK басылады. Енгізу индикаторы сөнеді.
1.7 Аппараттық құралдарды ақырғы тексеру
SI және S2 ауыстырғыштарының әртүрлі позициясындағы LED1
жағдайының жүзеге асырылатын функцияның орындалуына сәйкестілігі
тексеріледі. А16,а сурет SI және S2 ауыстырғыштарының «0 0»
позициясындағы
LED1
көрсетілді.
А16,б
сурет
SI
және
S2
ауыстырғыштарының «1 1» позициясындағы LED1 көрсетілді.
а
б
А16 Сурет
73
Жаттығу 2. Екілік LPM санауышы
The MAX+Plus II бағдарламасына әртүрлі есептерді шешуге жеңіл
бағытталатын стандартты функциялардан тұратын LPM қоры кіреді.
Өзгертілмейтін стандартты қалыпты объектілерді қолдану орнына
арнайы қажеттіліктерге сәйкесті ыңғайландырылатын LPM қорындағы арнайы
құрылымдарды пайдалану мүмкіндігі көптеген жеңілдік береді. Сұлба
құрушы бұндай құрылымдардың кірістері мен шығыстарын, әртүрлі қойылым
түрлерін, тазарту және санау механизмдерін өзара байланысты LPM
параметрлерін анықтау арқылы бағыттай алады.
Бұл жаттығу логикалық тізбектер құруға параметрлік модулдерді (library
of parameterized modules, LPM) пайдалану жолдарын түсініп игеруіне, 4-
разрядты екілік санауышын жобалау арқылы, мүмкіндік алады.
2.1 LPM негізіндегі санауыш сұлбасын құру
LPM санауышын алып, оның ең басты параметрлерін анықтау керек.
Ондай параметрлердің саны онша көп емес. Санауыштың төрт шығысы төрт
индикаторға жалғану керек.
maxplus2\max21ib\Mega_lpm қорындағы Enter Symbol терезесінен
lpm_counter символы таңдалады;
ашылған Edit Ports/Parameters терезесінде қажетті кіріс және шығыс
сигналдары анықталады;
А17 Сурет
aclr, asset, clock и q[lpm_width-1..0] сигналдарының Port Status
жағдайына – Used, ал қалғанына Unused қойылады;
74
Parameters терезесінен LPM-WIDTH таңдап, ондағы Parameter Val-
ue алаңына 4 санын енгіз. Change түймесі басылады;
параметр анықтамаларын енгізу үшін OK басылады.
Parameters терезесіне санауыш символының жоғарғы оң жақ аймағындағы
параметрлер тізімін екі рет тырсылдату арқылы шығаруға болады.
maxplus2\max21ib\prim қорынан input және output символдары
шығарылады;
санауыштың q[ ] шығысын оңға созып, оны output символына
қосылады;
тағы екі input символын алып, оларды санауыштың aset и aclr
сигналдарына қосып, сәйкесті белгілер қойылады.
А18 Сурет
Кіріс сигналын беру түймесінен туатын дірілді жою үшін, екі NAND
кілті негізінде құрылатын, RS-триггер пайдалануға болады.
А19 Сурет
екі NAND кілті мен екі input символын суретке сәйкесті жалғасады;
діріл фильтрінің кірістеріне SET және RESET аталымдары қойылады;
фильтр шығысын санауыштың CLOCK кірісіне жалғанады.
2.2 ACF файлын құру және құралдарды тексеру
компиляция жүргізіп, сосын кері жазылым барысында кірістік SET,
RESET, aset, aclr сигналдары мен шығыстық q0, ql, q2 и q3 сигналдарына
қажетті нөмірлер бекітіледі;
75
I/O hardware
I/O signal name
Pin number
S1
aset
45
S2
aclr
46
S9(NO)
RESET
31
S9(NC)
SET
30
LED1
q0
33
LED2
q1
34
LED3
q2
35
LED4
q3
36
қайта компиляция жүргізіледі;
компиляцияланған файл құрылғыға енгізіледі.
А20 Сурет
S9 түймесін басқан сайын санауыш бірге өсіп отырады. S1
ауыстырғышы санды 15 (шестнадцатеричный “F”) мәніне қояды, ал S2
ауыстырғышы оны нөлге түсіреді. Санауыш мәні төрт жарықдиодты LED1,
LED2, LED3 и LED4 индикаторларымен көрсетіледі. А21 суретте S9 түймесін
басқан сайын санауыштың бірге өсіп отыруы көретілген. А22 суретте S1
ауыстырғышы санды 15 (шестнадцатеричный “F”) мәніне қояды, ал S2
ауыстырғышы санды нөлге түсіреді.
А21 Сурет
76
А22 Сурет
Жаттығу 3. Макрофункция негізіндегі Декодер
Бұл жаттығу логикалық құрылғылардың сәйкесті макрофункциялар-мен
(Macrofunction, mf) жүзеге асырылуын екілік-ондық санды (binary-coded
decimal, BCD) 7-сегментті дисплейдің кодына түрлендіруші Декодер
мысалымен түсіндіруге арналған.
BCD кодын 7-сегментный кодқа түрлендіруге арналған LPM функциясы
болмаса да, оның қызметін 7446 Декодерінің (BCD-to-7-Segment Decoder)
сәйкесті макрофункциясымен жүзеге асыруға болады.
3.1 Санауыш режимін жаңарту
LPM_COUNTER 0...15 арасында санауға арналған. 7446 декодері 0...9
арасындағы BCD сандармен жұмыс істейтіндіктен, 4-разрядты санауыштың
санау модулін өзгерту керек.
санауыш жанындағы Parameters терезесі екі тырсылдатылады;
LPM_MODULUS таңдап, ондағы Parameter Value алаңына 10 санын
енгізіледі. Change түймесі, сосын ОК басылады.
77
А23 Сурет
3.2 Тізбекті 7-сегментті декодерге айналдыру
А24 Сурет
4-разрядты екілік санауыштың төрт шығысын 7446 макрофункциясына,
ал декодердің жеті шығысын EB-136 платасындағы 7-сегментті дисплейдің
шықпаларына қосу керек.
санауыштың q[3..0] шықпаларын алып таста;
Symbol Libraries терезесінде maxplus2\max21ib\mf қорын ашып,
оның Enter Symbol терезесінен 7446 макрофункциясын шығар да, OK бас.
Макрофункцияның ешқандай параметрі қойылмайтындығын ескертеміз;
78
А25 Сурет
декодердің А, В, С және D кірістерін солға сызып, q[3..0] желісін оңға
созып, төрт кірістің әрбірін желіге (жуан жолға) қосылады;
А26 Сурет
А, В, С және D кірістеріне q[0], q[l], q[2] және q[3] белгілері
қойылады;
79
А27 Сурет
примитив қорынан output символын алып, оны санауыштың OA
шықпасына қосылады;
А28 Сурет
шығыс символын көшіру арқылы қалған OB, ОС, OD, OE, OF OG
шықпаларына қосылады;
7 шықпаны OA, OB, ОС, OD, OE, OF және OG түрінде белгіленеді.
3.3 ACF файлын құру және құралдарды тексеру
компиляция жүргізіп, сосын кері жазылым барысында кірістік SET,
RESET, aset, aclr сигналдары мен шығыстық q0, ql, q2 и q3 сигналдарына
қажетті нөмірлер бекітіледі.
I/O hardware
I/O signal name
Pin number
SI
aset
45
S2
aclr
46
S9(NO)
RESET
31
S9(NC)
SET
30
segment a
OA
6
segment b
OB
7
segment с
ОС
8
segment d
OD
9
segment e
OE
11
segment f
OF
12
segment g
OG
13
қайта компиляция жүргізіледі;
компиляцияланған файлды құрылғыға енгізіледі.
80
S9 түймесін басқан сайын санауыштағы сан бірге өсіп, оның мәні ондық
сан түрінде 7-сегментті дисплейде көрсетіледі.
А29 Сурет
Жаттығу 4. RAM түрлі жады құрылғысы
Altera FLEX 10K микросұлбаларына енгізілген матрицалық блоктардың
(EAB, Embedded Array Blocks) ерекшеліктері ROM және RAM түрлі жады және
оған қоса, қиыстырма логикасын құруға мүмкіндік береді. EAB құрамында
ішкі дерек регистрлері арқылы әрекеттесетін дерек таратушылары қамтылған,
басқару сигналдарымен сілтенетін ұяшықтар массиві орналастырылған.
Бағдарламалы 10K20 логикалық құрылғысында 12288 жады ұяшығы
бар, оларды 256*8, 512*4, 1024*2 немесе 2048*1 бит пішіміндегі EAB
блоктарына жинастыруға болады.
Үлкенірек жады блоктарын құру үшін бірнеше EAB біріктіруге болады.
Микросұлба құрамындағы алты EAB біріктірілуі арқылы алынатын ең үлкен
жады мөлшері – 1536 байт; нәтижелік жадыны 1536*8, 3072*4, 6144*2 немесе
12 288*1 бит пішімінде ұйымдастыруға болады.
Бұл жаттығу адрес анықтау үшін төрт ауыстырғыш (S5–S8), дерек қою
үшін төрт ауыстырғыш (SI–S4) пайдаланылады.
Деректер RАМ-ға WE стробының (Write Enable) жоғарғы деңгейінде,
яғни S9 ауыстырғышының басылған жағдайында жазылады. Деректер RАМ-
нан WE стробының төменгі деңгейінде, яғни S9 ауыстырғышының басылмаған
жағдайында оқылады. Адрес должен WE жоғарғы деңгейге көтерілместен
бұрын қойылу керек, өзгеше жағдайда деректердің көптеген ұяшыққа қатар
жазылуы мүмкін.
RАМ-ның бұндай асинхронды оқу/жазу (read/write) режимінен басқа
жүйелік INCLOCK және OUTCLOCK сигналдарымен басқарылатын
синхронды режимде жұмыс істеу мүмкіндігі де ескерілген.
81
4.1 RAM сұлбасын құру
Бұл жаттығуда data[3..0] сигналдары деректерді RAM-ға жазуға, ал
q[3..0] сигналдары одан оқуға пайдаланылады, оқылған деректер 4
жарықдиодымен (LED) көрсетіледі. адрес[3..0] сигналдары 16 жады
ұяшығының біреуін таңдауға пайдаланылады. WE жоғарғы деңгейде болған
кезде RАМ-ға дерк жазуға рұқсат беріледі. Бұл сигналдардың барлығын да
RАМ мегафункциясын конфигурирациялау кезінде анықтау керек.
А30 Сурет
Мәзірден File/New таңдап, ашылған File Type терезесінде Graphic
Editor file опциясы белгіленеді;
жаңа файл ram.gdf аталымымен ram директориясында сақталады;
Project
суретнемесі басылады;
Symbol Libraries терезесінен maxplus2\max21ib\mega_lpm қорын
таңдап, ондағы Enter Symbol терезесінен lpm_ram_dq таңдалады;
А31 Сурет
82
Қажетті
кіріс
және
шығыс
сигналдары
анықталатын
Edit
Ports/Parameters терезесі көрсетіледі.
А32 Сурет
Келесі параметрлерді келесі жағдайларға қойылады. Әрбір параметр
өзгертілгеннен кейін Change түймесі басылады.
address[LPM_WIDTHAD-l..0] және data|LPM_WIDTH-l..0] – Used;
INCLOCK және OUTCLOCK – Unused;
q[l LPM_WIDTH-..O] және WE – Used;
LPM_ADDRESS_CONTROL, LPMJNDATA және LPM_OUTDATA –
Unregistered;
LPM_WIDTH және LPM_WIDTHAD – 4;
Барлық параметрдің сақталуы үшін OK басылады;
INPUT символын және оның үш көшірмесін RАМ-ның сол жағына
орналастырылады;
.
А33 Сурет
жуан data[] жолын солға созып, сосын оңға көтеріп, оған INPUT сим-
волдарын жалғанады;
алғы қадамдарды address[] кірісі үшін де қайталанады;
83
WE кіріс сигналын INPUT символына жалғанады;
осы сияқты, төрт OUTPUT символын q[ ] шығысына қосылады;
А34 Сурет
data[] желісі data[3..0] түрінде және оған қосылған жолдарды da-
ta[0], data[l], data[2] және data[3] түрінде белгіленедң;
address[]желісі address[3..0] түрінде және оған қосылған
жолдарды address[0], address[1], address[2] және address[3] түрінде
белгіленеді;
осы сияқты, q[] дерек желісін q[3..0] түрінде және оған қосылған
жолдарды q[0] ... q[3] түрінде белгіленеді;
WE кірісі WE түрінде белгіленеді;
файл сақталды.
4.2 ACF файлын жаңарту және құралдарды тексеру
компиляция жүргізіледі;
кері жазылым жүргізіледі. Оның барысында кіріс және шығыс
сигналдарына кестеде келтірілген қажетті нөмірлер бекітіледі;
I/O hardware
I/O signal name
Pin number
S8
AddressO
54
S7
Addressl
53
S6
Address2
51
S5
Address3
50
S4
DataO
49
S3
Datal
48
S2
Data2
46
SI
Data3
45
L4
Q0
36
L3
Ql
35
L2
Q2
34
LI
Q3
33
S9
we
30
қайта компиляция жүргізіледі;
компиляцияланған файл құрылғыға енгізіледі.
84
RАМ-ның әртүрлі ұяшықтарына деректер жазу үшін алдымен 8
ауыстырғыш арқылы адрес пен деректер қойылып, сосын WE (S9) түймесін
басу керек.
Деректер мен адрес WE сигналы жандандырылмастан бұрын дұрыс
қойылу керек. Кез келген ұяшықтың құрамын WE сигналын төменгі деңгейге
қою арқылы оқып, сосын келесі оқылатын ұяшық адресін қоюға болады.
Таңдалған ұяшық құрамы LED4–LED1 жарықдиодтарында көрсетіледі.
Келесі тәртіппен RАМ жұмысы тексеріледі:
адресті S8–S5 ауыстырғыштары арқылы;
S4–SI ауыстырғыштары арқылы деректер қойылады;
S8 ауыстырғышын 1 жағдайына ауыстырып, 0001 адресі қойылады;
S4 ауыстырғышын 1 жағдайына ауыстырып, 0010 дерегі қойылады;
берілген деректерді RАМ-ға жазу үшін бір мезетке S9 түймесі
басылады;
S4 ауыстырғышын 1 жағдайына ауыстырып, 0000 дерегі қойылады;
S8 ауыстырғышын 1 жағдайына ауыстырып, 0001 адресі қойылады;
осы сияқты, келесі ұяшықтарға сәйкесті деректер жазылады;
ұяшықтарды оқу арқылы ондағы деректердің сақталғандығына көз
жеткізіледі;
RАМ ұяшықтарына жаңа деректер жазып, олардың сақталымы
тексеріледі.
А35 Сурет
85
Қocымша Б
library IEEE ;
use IEEE.std_logic_1164.all ;
ENTITY cntu IS
PORT ( rst, clk, st, zi : IN STD_LOGIC ;
op : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ;
--- stt : OUT STD_LOGIC_VECTOR(1 DOWNTO 0) ;
rdy : OUT STD_LOGIC
) ;
END cntu ;
ARCHITECTURE behv OF cntu IS
-- TYPE states IS (SI, SM, SF) ;
-- SIGNAL stt, nxt_st : states := SI ;
SIGNAL stt, nxt_st : STD_LOGIC_VECTOR(1 DOWNTO 0) ;
CONSTANT SI : STD_LOGIC_VECTOR(1 DOWNTO 0) := "00" ;
CONSTANT SM : STD_LOGIC_VECTOR(1 DOWNTO 0) := "01" ;
CONSTANT SF : STD_LOGIC_VECTOR(1 DOWNTO 0) := "10" ;
SIGNAL Aop, Qop, Sop : STD_LOGIC_VECTOR(1 DOWNTO 0) ;
SIGNAL Dop : STD_LOGIC ;
CONSTANT ldD : STD_LOGIC := ’1’ ;
CONSTANT nopD : STD_LOGIC := ’0’ ;
CONSTANT nop : STD_LOGIC_VECTOR(1 DOWNTO 0) := "00" ;
CONSTANT ldAshr,shrQ,count: STD_LOGIC_VECTOR(1 DOWNTO 0) :=
"01" ;
CONSTANT reset, load : STD_LOGIC_VECTOR(1 DOWNTO 0) := "10" ;
A.P.Papli ´ nski 7–24Adv. Dig. Design — S. 7 August 18, 2003
BEGIN
RST = 0clkd: PROCESS ( clk, rst)
BEGIN
IF (rst = ’0’) THEN
stt <= SI ;
ELSIF ( clk’EVENT AND clk = ’1’
AND clk’LAST_VALUE = ’0’ ) THEN
stt <= nxt_st ;
END IF ;
END PROCESS clkd ;
stm: PROCESS ( stt, st, zi )
BEGIN
nxt_st <= stt ;
Dop <= nopD ;
Aop <= nop ;
Qop <= nop ;
Sop <= nop ;
86
rdy <= ’0’ ;
CASE stt IS
WHEN SI =>
rdy <= ’0’ ;
Dop <= ldD ;
Aop <= reset ;
Qop <= load ;
Sop <= reset ;
IF ( st = ’1’ ) THEN nxt_st <= SM ; END IF ;
WHEN SM =>
Aop <= ldAshr ;
Qop <= shrQ ;
Sop <= count ;
IF ( zi = ’1’ ) THEN nxt_st <= SF ; END IF ;
WHEN OTHERS => --- when SF
rdy <= ’1’ ;
IF ( st = ’0’ ) THEN nxt_st <= SI ; END IF ;
END CASE ;
END PROCESS stm ;
op(6) <= Dop ;
op(5 DOWNTO 4) <= Aop ;
op(3 DOWNTO 2) <= Qop ;
op(1 DOWNTO 0) <= Sop ;
END behv ;
87
Қосымша В
К e c т e В1 – q кoэффициeнтiнiң мәнi
Тапcыpма түpлepi
Кoэффициeнттiң өзгepу аpалығы
Eceптeу тапcыpмалаpы
1400 дeн 1500
Oпepативтi баcқаpу тапcыpмалаpы
1500 дeн 1700
Жocпаpлау тапcыpмалаpы
3000 дeн 3500
Көп ваpиантты
4500 дeн 5000
Кoмплeкcтiк тапcыpма
5000 дeн 5500
К e c т e В2 – Eңбeк cыйымдылығын eceптeйтiн кoэффициeнт
Бағдаpлама
тiлi
Күpдeлiк
тoбы
Жаңалықтық дәpeжeci
В кoэффи-
циeнтi
А
Б
В
Г
Жoғаpғы
дeңгeй
1
1,38
1,26
1,15
0,69
1,2
2
1,30
1,19
1,08
0,65
1,35
3
1,20
1,10
1,00
0,60
1,5
Төмeнгi
дeңгeй
1
1,58
1,45
1,32
0,79
1,2
2
1,49
1,37
1,24
0,74
1,35
3
1,38
1,26
1,15
0,69
1,5
К e c т e В3 – Бағдаpлама жаcаушы бiлeктiлiгiн ecкepeтiн кoэффициeнт
Жұмыc тәжipибиeci
Бiлeктiлiк кoэффициeнтi
Eкi жылға дeйiн
0.8
2-3 жыл
1
3-5 жыл
1.1 – 1.2
5-7 жыл
1.3 – 1.4
7 жылдан көп
1.5 – 1.6
Достарыңызбен бөлісу: |