Міністерство освіти і науки, молоді та спорту України
Національний університет “Львівська політехніка”
Кафедра ЕОМ
Курсова робота
з предмету: «Технології проектування комп’ютерних систем»
на тему: «Розробка конструкції та технології виготовлення комірки комп’ютера засобами САПР»
Підготував: ст. гр. КІ-41
Прийняв: стар. викл.
Хомич С.В.
Львів 2015
Зміст
Вступ 3
1. Постановка задачі 4
2. Теоретична частина 5
2.1. Короткий опис стандарту PC/104 5
2.2. Основні характеристики заданого кристалу ПЛІС 8
2.3. Основні характеристики заданої периферійної частини 9
3. Розділ схемотехнічного проектування 11
3.1. Проектування функціональної схеми модуля 11
3.2. Вибір адресного простору портів вводу/виводу модуля 12
3.3. Розробка VHDL-коду реалізації ядра модуля 13
3.4. Моделювання VHDL-коду реалізації ядра модуля 15
3.5. Файл часових та топологічних обмежень 16
3.6. Реалізація ядра модуля в ПЛІС 18
3.7. Проектування принципової електричної схеми модуля 21
4. Розділ конструкторського проектування 23
4.1. Проектування друкованої плати модуля 23
4.2. Генерація вихідної документації на плату модуля 26
4.3. Корекція файлу часових та топологічних обмежень 27
Висновки 28
Список літератури 29
Додатки 30
Вступ
Мета курсової роботи полягає в опануванні технологій та методів проектування компонентів комп’ютерних систем на прикладі створення модуля розширення для промислового комп’ютеру формфактору PC/104.
Промисловий комп’ютер – це універсальний комп’ютер, призначений для промислового застосування. Він відрізняється від звичайного комп’ютеру конструкцією, яка враховує вимоги до обладнання, що працює, як правило, в несприятливих умовах (підвищена вібрація, забруднена атмосфера, підвищена вологість, підвищені або понижені температури). Його характеристики застосовуються в складі керуючих, контролюючих та вимірювальних комплексів в промисловості, для створення систем на базі програмованих логічних комплексів, в якості складових частин діагностичних комплексів в медицині, в якості апаратної платформи для реалізації віртуалізації та людино-машинного інтерфейсу.
1. Постановка задачі
Розробити модуль розширення формфактору PC/104 за варіантом № 4123.
Згідно варіанту задаються:
тактова частота – 2+1=3 – 60 MHz.
тип ПЛІС FPGA сімейства Spartan-II фірми Xilinx – 1 – XC2S50-5PQ208C.
тип периферії – (23 rem 8)+1=8 – TLV5606CDR.
базова адреса модуля на АТ-шині – 23 – 0x02A0.
2. Теоретична частина
2.1. Короткий опис стандарту PC/104
Протягом минулого десятиліття стала прийнятою платформою для значно більш широкого застосування, ніж настільні прикладні системи. Спеціалізовані та вбудовані прикладі системи для PC використовуються як контролери в лабораторному обладнанні, пристроях зв’язку, медичному обладнані тощо. Однак стандартний формфактор шини PC і його плати були занадто великі для вбудованих застосувань в галузі контролю та керування. Тому виникла потреба для більш компактного виконання шини PC, яка би задовольнила вимоги до обмеженого установочного простору і одночасно повною апаратною і програмною сумісністю з популярним стандартом шини PC, що дозволило б апаратні засоби PC, програмне забезпечення та інструментальні засоби розробки зробити повністю сумісними з вбудованими контролерами.
PC/104 був розроблений у відповідь на цю потребу. Цей стандарт пропонує архітектуру, апаратні засоби і програмну сумісність з шиною PC але в ультра компактному нарощуваному модулі 90, 17х95,89мм або 3,550”x3,775”.
На відміну від шини ISA, яка має крайовий ламельний роз’єм, PC/104 має контакти на двох конекторах 64-вивідному і 40-вивідному.
Модулі PC/104 можуть мати 2 типи шин:
8 біт;
16 біт;
Електричні та логічні сигнали PC/104 відповідають сигналам шини ISA. На сьогодні існує величезна кількість модулів вводу/виводу в стандарті PC/104 від аналогово-цифрових перетворювачі до мережевих інтерфейсів, плоско-панельних LCD моніторів і PCMCIA пристроїв, що використовуються в медичних, транспортних і промислових системах.
Конструкція та розміри модуля формфактору PC/104 наведені на рис.2.1. Всі розміри наведено в дюймах.
Рис. 2.1. Формфактор модуля PC/104.
В табл. 2.1 наведено список сигналів АТ-шини на роз’ємах модуля формактору PC/104.
Таблиця 2.1. Список сигналів АТ-шини.
PC/104 створена на базі 8-розрядного варіанта шини ISA. Відмінною особливістю механічного конструктиву PC/104 є розташування роз’ємів не накраю плати а перпендикулярно до неї, що дозволяє встановлювати плати один на одного у стековій структурі. Така конструкція дозволяє зібрати до 3-6 плат в одну велику структуру і розмістити його в компактному герметичному корпусі, який буде мати більшу ударостійкість. Подібний підхід широко застосовується в авіабудуванні, космонавтиці, військовій техніці.
Недоліки:
Повільна шина ISA - морально застаріла;
Гарячої заміни плат не може бути в принципі, так як розібрати надбану структуру із кількох плат непросто;
Переваги:
Повна сумісність з персональними комп'ютерами;
Можна використовувати в якості плати мезоніном;
Шина ISA дуже добре вивчена, багато фахівців;
Велика швидкість зазвичай не потрібна, при необхідності можна використовувати PC/104+;
Велика ударостійкість;
2.2. Основні характеристики заданого кристалу ПЛІС
Згідно завдання вибрано ПЛІС FPGA сімейства Spartan-II фірми Xilinx XC2S50-5PQ208C. Розберемо його маркування:
Тип пристрою: FPGA;
Оцінка швидкості: 5 (стандартна продуктивність);
Кількість контактів / тип упаковки: PQ 208 (208-вивідний пластиковий QFP);
Діапазон температур(TJ): C (комерційна, 0°C - +85°C);
Основні характеристики пристроїв типу XC2S50:
Логічних елементів – 1728;
Системних воріт (логічних і RAM) – 50000;
CLB Масив (R х С) – 16х24;
Загальний CLBs – 384;
Максимально доступно користувачу I/O – 176 (для PQ208 140);
Загальна розподілена RAM в бітах – 32768;
Загальний блок пам'яті в кбітах – 32К;
Оскільки дана ПЛІС потребує ініціалізацію при її увімкненні то було використано конфігураційний ПЗП XCF01SVOG20C фірми Xilinx для збереження конфігурацій.
2.3. Основні характеристики заданої периферійної частини
Наведемо такі основні характеристики мікросхеми TLV5606CDR фірми Texas Instruments:
Таблиця 2.2. Основні характеристики
Характеристики температур та джерел живлення мікросхеми показані в табл. 2.2.
Таблиця 2.3. Характеристики температур та джерел живлення для TLV5606CDR
Рис. 2.2. Графічне зображення мікросхеми TLV5606CDR
На рисунку 2.3 представлено часова діаграма роботи 16 розрядного АЦП TLV5606.
Рис. 2.3 Часова діаграма роботи TLV5606CDR
3. Розділ схемотехнічного проектування
3.1. Проектування функціональної схеми модуля
Функціональна схема модуля наведена на рисунку 3.1. До її складу входять:
ядро модуля – цифрова частина модуля, яка буде реалізована в ПЛІС, і до складу якої входять:
дешифратор адреси – забезпечує керування модулем з боку AT-шини за сигналами SA15..SA0 , AEN, ,, а також формує сигнал ;
вхідний регістр – забезпечує проміжне зберігання вхідних даних для передачі їх на AT-шину (читання здійснюється по лініях SD15..SD0 );
регістр ідентифікації – забезпечує читання з модуля коду ідентифікації 0x4123 з боку AT-шину (читання здійснюється по лініях SD15..SD0 );
Перетворювач послідовного коду отриманого від АЦП в 16-розрядний вихідний код (далі пересилка його у вхідний регістр звідки його буде передано на АТ-шину);
Генератор тактових імпульсів для АЦП та сигнал для управління АЦП;
14-розрядний АЦП – забезпечує перетворення аналогового сигналу в 14-розрядний цифровий;
генератор CLK – забезпечує синхронізацію роботи схеми на частоті 60 MHz;
конфігураційний ПЗП з реалізацією ядра модуля;
Рис. 3.1. Функціональна схема модуля
3.2. Вибір адресного простору портів вводу/виводу модуля
Вибір адресного простору портів вводу/виводу для забезпечення доступу до регістрів модуля з боку AT-шини здійснюється з таких міркувань:
базова адреса модуля згідно завдання – 0x02A0,
кількість портів вводу/виводу їх режими та розрядність вибираються з тим, щоб забезпечити доступ до всіх потрібних регістрів ядра модуля.
В табл. 3.1 наведено вибраний розподіл адресного простору розроблюваного модуля:
Таблиця 3.1. Розподіл адресного простору портів вводу/виводу.
Адреса порту
Режим порту
Розрядність порту
Регістр модуля
0x02А0
Читання
16
Регістр ідентифікатора
0x02А2
Читання
16
Вхідний регістр
3.3. Розробка VHDL-коду реалізації ядра модуля
Проектування ядра модуля, яке буде реалізовуватись в ПЛІС, виконується на мові VHDL в САПР Aldec Active-HDL. Ядро модуля повинно забезпечувати:
інтерфейс з AT-шиною,
інтерфейс з периферією.
Спроектований VHDL-код:
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.STD_LOGIC_unsigned.all;
library UNISIM;
use UNISIM.vcomponents.all;
entity Module is
port(
-- тактова частота 60 MHz
CLK : in std_logic;
-- інтерфейс AT-шини
AT_SA : in std_logic_vector(15 downto 0);
AT_AEN : in std_logic;
AT_SD : inout std_logic_vector(15 downto 0);
AT_IOR : in std_logic;
AT_IOCS16 : out std_logic;
-- зовнішній інтерфейс
ADC_CS : out std_logic;
ADC_CLK : out std_logic;
ADC_SDO : in std_logic
);
end Module;
architecture Module of Module is
---- базова адреса модуля
constant BASE_ADDR : std_logic_vector(15 downto 0) := X"02A0";
---- ідентифікатор модуля
constant MODL_IDNT : std_logic_vector(15 downto 0) := X"4223";
---- внутрішні сигнали
-- reset
signal RST : std_logic;
-- буфери AT-шини
signal B_AT_SA : std_logic_vector(15 downto 0);
signal B_AT_AEN : std_logic;
signal B_AT_IOR : std_logic;
-- внутрішня шина даних
signal IN_AT_SD : std_logic_vector(15 downto 0);
-- співпадіння адреси AT-шини
signal ADDR_OK : std_logic;
-- внутрішні регістри
signal IN_ADC_CS : std_logic;
signal IN_ADC_CLK : std_logic;
signal IN_SDO_SER : std_logic_vector(15 downto 0);
signal IN_ADC_DAT : std_logic_vector(15 downto 0);
-- сигнал для синхронізації ADC
signal BIT_COUNT : std_logic_vector(5 downto 0);
signal CNT_5M : std_logic_vector(2 downto 0);
signal CLK_5M : std_logic;
begin
-- реалізація ініціалізації модуля
ROC_L: ROC
port map (O => RST);
-- реалізація CLK5MZ
process(CLK, RST)
begin
if RST = '1' then
CLK_5M <= '0';
CNT_5M <= (others => '0');
elsif falling_edge(CLK) then
if CNT_5M < 7 then
CLK_5M <= '0';
CNT_5M <= CNT_5M + 1;
else
CLK_5M <= '1';
CNT_5M <= (others => '0');
end if;
end if;
end process;
-- зовнішня вихідна шина
ADC_CS <= IN_ADC_CS;
ADC_CLK <= IN_ADC_CLK;
-- перевірка адреси AT-шини
ADDR_OK <= '1' when B_AT_SA(15 downto 2) = BASE_ADDR(15 downto 2) and B_AT_AEN = '0' else '0';
-- формування сигналу IOCS16
AT_IOCS16 <= '0' when ADDR_OK = '1' else '1';
-- читання даних AT-шиною
AT_SD <= IN_AT_SD when ADDR_OK = '1' and B_AT_IOR = '0' else (others => 'Z');
-- реалізація дешифратора адреси
process(CLK, RST)
begin
if RST = '1' then
B_AT_SA <= (others => '0');
B_AT_AEN <= '1';
B_AT_IOR <= '1';
IN_AT_SD <= (others => '0');
elsif rising_edge(CLK) then
-- буферизація AT-шини
B_AT_SA <= AT_SA;
B_AT_AEN <= AT_AEN;
B_AT_IOR <= AT_IOR;
-- підготування даних для читання
case B_AT_SA(1 downto 0) is
when "00" => -- регістр ідентифікації
IN_AT_SD <= MODL_IDNT;
when "10" => -- вхідний регістр
IN_AT_SD <= IN_ADC_DAT;
when others =>
IN_AT_SD <= (others => '0');
end case;
end if;
end process;
-- реалізація роботи з ADC
process(CLK, RST)
begin
if RST = '1' then
BIT_COUNT <= (others => '0');
IN_ADC_FS <= '1';
IN_ADC_CLK <= '0';
IN_ADC_DAT <= (others => '0');
IN_SDO_SER <= (others => '0');
elsif rising_edge(CLK) then
if CLK_5M = '1' then
BIT_COUNT <= BIT_COUNT + 1;
if BIT_COUNT < 3 or BIT_COUNT > X"22" then
IN_ADC_CS <= '1';
else
IN_ADC_CS <= '0';
end if;
IN_ADC_CLK <= not BIT_COUNT(0);
if IN_ADC_CLK = '1' and BIT_COUNT > 2 then
IN_SDO_SER <= IN_SDO_SER(14 downto 0) & ADC_SDO;
end if;
if BIT_COUNT = X"23" then
IN_ADC_DAT <= IN_SDO_SER;
IN_SDO_SER <= (others => '0');
BIT_COUNT <= (others => '0');
end if;
end if;
end if;
end process;
end Module;
3.4. Моделювання VHDL-коду реалізації ядра модуля
Моделювання VHDL-коду реалізації ядра модуля здійснюється по частинах також в САПР Aldec Active-HDL за допомогою набору створених макросів.
Розроблений макрос для тестування модуля виконує:
читання регістру ідентифікації,
читання вхідного регістру,
Текст макросу Macro1.do:
# Тестування модуля
asim Module
restart
clear -wave
nowave *
-- тактова частота 60 MHz
wave CLK
# reset
wave RST
# інтерфейс AT-шини
wave AT_SA
wave AT_AEN
wave AT_SD
wave AT_IOR
wave AT_IOCS16
-- зовнішній інтерфейс
wave ADC_CS : out std_logic;
wave ADC_CLK : out std_logic;
wave ADC_SDO : in std_logic
# буфери AT-шини
wave B_AT_SA
wave B_AT_AEN
wave B_AT_SD
wave B_AT_IOR
# внутрішня шина даних
wave IN_AT_SD
# співпадіння адреси AT-шини
wave ADDR_OK
# внутрішні регістри
wave IN_ADC_CS
wave IN_SDO_16
wave IN_ADC_CLK
wave IN_SDO_SER
wave IN_ADC_DAT
# сигнал для синхронізації ADC
wave CLK_5M
wave CNT_5M
wave BIT_COUNT
# початкові ініціалізації 60MHz
force CLK 0 0, 1 12500 -r 25000
force ADC_SDO 0 0, 1 3000 ns -r 4300 ns
force AT_SA 0
force AT_AEN 0
force AT_IOR 1
run 1 us
# читання регістру ідентифікації
force AT_SA X"02A0"
force AT_IOR 1 0, 0 200 ns, 1 450 ns
run 500 ns
## читання вхідного регістру
force AT_SA X"02A2"
force AT_IOR 1 0, 0 4700 ns -r 4750 ns
run 200 us
Результат роботи макросу у вигляді часової діаграми наведено на рисунку 3.2.
Рис. 3.2. Часові діаграми роботи макросу Macro1.do
3.5. Файл часових та топологічних обмежень
Перш ніж почати реалізацію ядра модуля в ПЛІС за допомогою САПР Xilinx WebPack ISE, було створено файл часових та топологічних обмежень .UCF, в якому задаються:
тактова частота модуля (максимальна частота, яка присутня в проекті) – за завданням 60 MHz,
асоціації інтерфейсних сигналів модуля з виводами ПЛІС – на даному етапі вони були задані довільно, оскільки під час трасування плати вони будуть оптимізовані під топологію плати.
Цей файл є текстовим і може був створений за допомогою графічних засобів САПР. На рисунку 3.3 наведено вікно створення часових обмежень (Timing Constraints), а на рисунку 3.4 – топологічних обмежень (Package Pins) утиліти Xilinx Pace.
Рис. 3.3. Вікно створення часових обмежень (Timing Constraints)
Рис. 3.4. Вікно створення топологічних обмежень (Package Pins)
Отриманий в результаті файл .UCF:
NET "CLK" TNM_NET = "CLK";
TIMESPEC TS_CLK = PERIOD "CLK" 60 MHz HIGH 50%;
#PACE: Start of Constraints generated by PACE
#PACE: Start of PACE I/O Pin Assignments
NET "ADC_CLK" LOC = "P67" ;
NET "ADC_CS" LOC = "P62" ;
NET "ADC_SDO" LOC = "P60" ;
NET "AT_AEN" LOC = "P14" | PULLUP ;
NET "AT_IOCS16" LOC = "P15" ;
NET "AT_IOR" LOC = "P17" | PULLUP ;
NET "AT_SA<0>" LOC = "P41" ;
NET "AT_SA<10>" LOC = "P24" ;
NET "AT_SA<11>" LOC = "P23" ;
NET "AT_SA<12>" LOC = "P22" ;
NET "AT_SA<13>" LOC = "P21" ;
NET "AT_SA<14>" LOC = "P20" ;
NET "AT_SA<15>" LOC = "P18" ;
NET "AT_SA<1>" LOC = "P37" ;
NET "AT_SA<2>" LOC = "P36" ;
NET "AT_SA<3>" LOC = "P35" ;
NET "AT_SA<4>" LOC = "P34" ;
NET "AT_SA<5>" LOC = "P33" ;
NET "AT_SA<6>" LOC = "P31" ;
NET "AT_SA<7>" LOC = "P30" ;
NET "AT_SA<8>" LOC = "P29" ;
NET "AT_SA<9>" LOC = "P27" ;
NET "AT_SD<0>" LOC = "P10" ;
NET "AT_SD<10>" LOC = "P44" ;
NET "AT_SD<11>" LOC = "P45" ;
NET "AT_SD<12>" LOC = "P46" ;
NET "AT_SD<13>" LOC = "P47" ;
NET "AT_SD<14>" LOC = "P48" ;
NET "AT_SD<15>" LOC = "P49" ;
NET "AT_SD<1>" LOC = "P9" ;
NET "AT_SD<2>" LOC = "P8" ;
NET "AT_SD<3>" LOC = "P7" ;
NET "AT_SD<4>" LOC = "P6" ;
NET "AT_SD<5>" LOC = "P5" ;
NET "AT_SD<6>" LOC = "P4" ;
NET "AT_SD<7>" LOC = "P3" ;
NET "AT_SD<8>" LOC = "P42" ;
NET "AT_SD<9>" LOC = "P43" ;
NET "CLK" LOC = "P185" ;
#PACE: Start of PACE Area Constraints
#PACE: Start of PACE Prohibit Constraints
#PACE: End of Constraints generated by PACE
3.6. Реалізація ядра модуля в ПЛІС
Реалізація ядра модуля в ПЛІС (отримання конфігураційного файлу) виконується за допомогою САПР Xilinx WebPack ISE.
В процесі реалізації проект був проведений через такі стадії (рис.3.5):
Synthesis – синтез проекту,
Implement Design – реалізація проекту, яка поділяється на такі фази:
Translate – трансляція проекту,
Map – відображення проекту на фізичні ресурси кристалу,
Place & Route – розміщення і трасування проекту в кристалі,
Generate Programming File – створення конфігураційного файлу.
Рис. 3.5. Стадії реалізації проекту в ПЛІС
в САПР Xilinx WebPack ISE.
В результаті реалізації проекту в ПЛІС на кожній стадії генеруються відповідні звіти (Reports). Основна інформація з звітів наводиться нижче.
Synthesize Report:
=========================================================================
* Final Report *
=========================================================================
Final Results
RTL Top Level Output File Name : Module.ngr
Top Level Output File Name : Module
Output Format : NGC
Optimization Goal : Speed
Keep Hierarchy : NO
Design Statistics
# IOs : 39
Cell Usage :
# BELS : 77
# GND : 1
# INV : 3
# LUT1 : 3
# LUT2 : 21
# LUT3 : 22
# LUT4 : 12
# LUT4_L : 1
# MUXCY : 5
# MUXF5 : 2
# VCC : 1
# XORCY : 6
# FlipFlops/Latches : 78
# FDC : 35
# FDC_1 : 1
# FDCE : 39
# FDP : 2
# FDPE : 1
# Clock Buffers : 1
# BUFGP : 1
# IO Buffers : 38
# IBUF : 19
# OBUF : 3
# OBUFT : 16
# Others : 1
# ROC : 1
=========================================================================
Device utilization summary:
---------------------------
Selected Device : 2s50pq208-5
Number of Slices: 49 out of 768 6%
Number of Slice Flip Flops: 62 out of 1536 4%
Number of 4 input LUTs: 62 out of 1536 4%
Number of IOs: 39
Number of bonded IOBs: 39 out of 140 27%
IOB Flip Flops: 16
Number of GCLKs: 1 out of 4 25%
---------------------------
Partition Resource Summary:
---------------------------
No Partitions were found in this design.
---------------------------
=========================================================================
TIMING REPORT
NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.
FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORT
GENERATED AFTER PLACE-and-ROUTE.
Clock Information:
------------------
-----------------------------------+------------------------+-------+
Clock Signal | Clock buffer(FF name) | Load |
-----------------------------------+------------------------+-------+
CLK | BUFGP | 78 |
-----------------------------------+------------------------+-------+
Asynchronous Control Signals Information:
----------------------------------------
-----------------------------------+------------------------+-------+
Control Signal | Buffer(FF name) | Load |
-----------------------------------+------------------------+-------+
RST(ROC_L:O) | NONE(IN_ADC_DAT_15) | 78 |
-----------------------------------+------------------------+-------+
Timing Summary:
---------------
Speed Grade: -5
Minimum period: 15.662ns (Maximum Frequency: 63.849MHz)
Minimum input arrival time before clock: 3.480ns
Maximum output required time after clock: 17.592ns
Maximum combinational path delay: No path found
Timing Detail:
--------------
All values displayed in nanoseconds (ns)
Map Report:
Design Information
------------------
Command Line : map -ise E:/1/xise/var4123/var4123.ise -intstyle ise -p
xc2s200-pq208-5 -cm area -pr off -k 4 -c 100 -tx off -o Module_map.ncd Module.ngd
Module.pcf
Target Device : xc2s200
Target Package : pq208
Target Speed : -5
Mapper Version : spartan2 -- $Revision: 1.46 $
Mapped Date : Wed Dec 02 14:26:23 2015
Design Summary
--------------
Number of errors: 0
Number of warnings: 0
Logic Utilization:
Number of Slice Flip Flops: 62 out of 1,536 4%
Number of 4 input LUTs: 56 out of 1,536 3%
Logic Distribution:
Number of occupied Slices: 44 out of 768 5%
Number of Slices containing only related logic: 44 out of 44 100%
Number of Slices containing unrelated logic: 0 out of 44 0%
*See NOTES below for an explanation of the effects of unrelated logic
Total Number of 4 input LUTs: 61 out of 1,536 3%
Number used as logic: 56
Number used as a route-thru: 5
Number of bonded IOBs: 38 out of 140 27%
IOB Flip Flops: 16
Number of GCLKs: 1 out of 4 25%
Number of GCLKIOBs: 1 out of 4 25%
Peak Memory Usage: 156 MB
Total REAL time to MAP completion: 1 secs
Total CPU time to MAP completion: 1 secs
Place & Route Report:
Constraints file: Module.pcf.
Loading device for application Rf_Device from file 'v50.nph' in environment C:\Xilinx\14.7\ISE_DS.
"Module" is an NCD, version 3.2, device xc2s200, package pq208, speed -5
Initializing temperature to 85.000 Celsius. (default - Range: -40.000 to 100.000 Celsius)
Initializing voltage to 2.375 Volts. (default - Range: 2.375 to 2.625 Volts)
Device speed data version: "PRODUCTION 1.27 2008-01-09".
Device Utilization Summary:
Number of GCLKs 1 out of 4 25%
Number of External GCLKIOBs 1 out of 4 25%
Number of LOCed GCLKIOBs 1 out of 1 100%
Number of External IOBs 38 out of 140 27%
Number of LOCed IOBs 38 out of 38 100%
Number of SLICEs 44 out of 768 5%
3.7. Проектування принципової електричної схеми модуля
Проектування схеми електричної принципової проводиться в САПР Altium Designer.
У додатку 1 наведено електричну принципову схему, розбиту на три листи.
Листи електричної принципової схеми містять таку інформацію:
лист 1 – це схема верхнього рівня, в якій показано сигнальні зв’язки між рештою листів схеми,
лист 2 – частину загальної принципової схеми, до якої відноситься ПЛІС FPGA XC2S50-6FG256 фірми Xilinx (U101) та всі її зв’язки, що відповідають файлу .UCF VHDL- проекту ядра модуля,
лист 3 – містить решту принципової схеми, а саме:
16-розрдядний АЦП TLV5606CDR фірми Texas Instruments (U205);
генератор тактової частоти CLK CB3LV-3C-60M0000-T фірми CTS (U201), який забезпечує синхронізацію роботи схеми на частоті 60 MHz;
конфігураційний ПЗП XCF01SVOG20C фірми Xilinx (U204), в якому зберігається конфігураційний файл для ПЛІС;
DC/DC регулятори напруг живлення +3.3V і +2.5V MCP1827S-3302E/EB і MCP1827S-2502E/EB відповідно фірми Microchip (U202, U203), які формують живлення для ПЛІС FPGA, генератора тактової частоти CLK та конфігураційного ПЗП з вхідних +7.0V,
роз’єми AT-шини ESQ-132-14-G-D і ESQ-120-14-G-D фірми Samtec (J201, J202),
роз’єм інтерфейсу JTAG Header 6 (J203) для програмування конфігураційного ПЗП,
роз’єми для зовнішніх сигналів на вхід АЦП Header 2 (J204).
Крім того схема містить резистори SMD номіналами 2 kOhm і 10 kOhm, які мають футпрінти 0805 та конденсатори фільтрації живлення SMD номіналами 0.1 μF і 4.7 μF, які мають футпрінти 0805 і 1206 відповідно.
Для проектування модуля була створена бібліотека, яка містить такі компоненти:
16-розрядний АЦП TLV5606CDR,
генератор тактової частоти CB3LV-3C-60M0000-T,
роз’єми AT-шини ESQ-132-14-G-D і ESQ-120-14-G-D,
резистори з футпрінтом 0805,
конденсатори з футпрінтом 0805,
електролітичні конденсатори з футпрінтом 1206.
Після завершення проектування електричної принципової схеми була проведена перевірка коректності схеми шляхом компіляції PCB-проекту, та виправлено ряд помилок.
4. Розділ конструкторського проектування
4.1. Проектування друкованої плати модуля
Процес проектування друкованої плати модуля в САПР Altium Designer складався з наступних кроків:
створення заготовки плати,
перенос електричної принципової схеми в плату,
встановлення правил проектування,
розміщення компонентів,
трасування плати,
формування шару живлення,
виконання DRC-перевірки плати.
При створенні заготовки плати модуля за допомогою майстра було використано готовий шаблон "PC-104 16 bit bus", який сформував заготовку плати у відповідності із стандартом PC/104.
Після переносу електричної принципової схеми в плату було виконано такі дії: