Здавалка
Главная | Обратная связь

ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ

по дисциплине «Основы проектирования цифровых устройств на ПЛИС»

Студент Иванов А. В. кодIe0L3_04_07_1_40 группа ХХХ

1. Тема Цифровой фильтр низкой частоты

2. Срок представления проекта к защите ХХ ноября 2009 г.

3. Исходные данные для проектирования:

3.1. Линейное разностное уравнение фильтра:

3.2. Порядок фильтра: M = 3

3.3. Коэффициенты фильтра:

b1 b2 b3 b4 0.098172832889671 0.216235917361373 0.216235917361373 0.098172832889671 a1 a2 a3 a4 1.000000000000000 -0.953134238985889 0.871429069471080 -0.289477329983102

3.4. Разрядность коэффициентов: выбрать (см.п.3.5 и 3.6. ТЗ)

3.5. Неравномерность АЧХ в полосе пропускания: не более 1,5 дБ

3.6. Затухание АЧХ в полосе непропускания: не менее 39 дБ

3.7. Входные данные: 8-разрядный параллельный обратный код

3.8. Выходные данные: 16-разрядный параллельный прямой код

3.9. Частота дискретизации: 3,6 МГц

3.10. Тактовая частота синхронизации: 25,175 МГц

3.11. ПЛИС: EPF10K20RC240-4 (семейство FLEX10K фирмы Altera)

4. Содержание пояснительной записки курсового проекта

4.1. Титульный лист

4.2. Задание на курсовую работу

4.3. Содержание

4.4. Введение

4.5. Анализ, формализация и декомпозиция задачи

4.6. Разработка и обоснование структурной схемы устройства

4.7. Составление и описание принципиальной схемы устройства

4.8. Разработка и отладка программы на языке AHDL

4.9. Определение быстродействия, импульсной и переходной характеристик фильтра

4.10. Заключение

4.11. Список использованных источников

4.12. Приложение

5. Перечень графического материала: схема принципиальная электрическая

подпись
Руководитель проекта 09.09.2009 г. Соколов Ю.П.

фамилия, инициалы
дата
подпись
Задание принял к исполнению« 12.09.2009 г.» Иванов А. В.


       
   
 

 
 

 

 


 

 


precise (синий): без округления

fix (зеленый) –округление усечением - отбрасыванием дробной части;

round (красный) – округление до ближайшего целого;

floor (голубой) – округление до ближайшего меньшего целого;

ceil (сиреневый) – округление до ближайшего большего целого.

 

Таблица 3. Основные параметры фильтров

Вид округления АЧХ мин АЧХ макс Неравномерность АЧХ Затухание АЧХ
precise (синий) -1 1,0
fix (зеленый) -1,34 1,34 39,95
round (красный)) -1,13 1,13 40,02
floor (голубой) -1,58 0,445 2.025 40,03
ceil (сиреневый)) -0,809 0,34 1,149. 38,8

Рисунок 4
Рисунок 5


 

 


       
 
Рисунок 8. Импульсная характеристика фильтра
 
Рисунок 9. Переходная характеристика фильтра.
 
 

       
 
 
   
Рисунок 10. Карта нулей и полюсов



INCLUDE "lpm_mult.inc";

INCLUDE "dk_mod.inc";

%PARAMETERS

(

);%

 

CONSTANT widthy = 16; --разрядность выходных данных

CONSTANT ska1 = 6; --сдвиг коэффициента а1

CONSTANT wka2 = 7; --разрядность коэффициента ka2

CONSTANT wka3 = 7; --разрядность коэффициента ka3

CONSTANT wka4 = 6; --разрядность коэффициента ka4

CONSTANT maxwka = 7; --максимальная разрядность коэффициентов

a знаменателя

 

CONSTANT widthx = 8; --разрядность входных данных

CONSTANT skb = 5; --сдвиг коэффициентов числителя для

--выравнивания произведений

CONSTANT mkb = 2^skb; --множитель коэффициентов числителя b

CONSTANT wkb1 = 6+skb; --разрядность коэффициента kb1

CONSTANT wkb2 = 7+skb; --разрядность коэффициента kb2

CONSTANT wkb3 = 7+skb; --разрядность коэффициента kb3

CONSTANT wkb4 = 6+skb; --разрядность коэффициента kb4

CONSTANT maxwkb = 7+skb; --максимальная разрядность коэффициентов

--b числителя

 

CONSTANT widthp = widthy + maxwka;

CONSTANT widths = widthp;

 

--CONSTANT ka1 = 64; -ska1 = 6 ka1 = 2^6

CONSTANT ka2 = 61; --wa2 = 7

CONSTANT ka3 = B"1001000"; --wa3 = 7; ka3 = -56;

CONSTANT ka4 = 19; --wa4 = 6

 

CONSTANT kb1 = 25*mkb; --wb1 = 6

CONSTANT kb2 = 55*mkb; --wb1 = 7

CONSTANT kb3 = 55*mkb; --wb1 = 7

CONSTANT kb4 = 25*mkb; --wb1 = 6

 

 

SUBDESIGN filter_1

(

datax[widthx-1..0], clock : INPUT;

reset : INPUT = GND;

ce : INPUT = VCC;

 

mdatay[widthy-1..0] : OUTPUT;

datay[widthy-1..0] : OUTPUT;

)

 

VARIABLE

 

 

blockx1 : lpm_mult WITH

(

LPM_WIDTHA = widthx,

LPM_WIDTHB = maxwkb,

LPM_WIDTHP = widthp-ska1,

LPM_WIDTHS = widths,

LPM_REPRESENTATION = "SIGNED",

--LATENCY,

LPM_PIPELINE = 0,

INPUT_A_IS_CONSTANT = "NO",

INPUT_B_IS_CONSTANT = "YES",

USE_EAB = "OFF",

MAXIMIZE_SPEED = 6

);

 

blockx[4..2] : lpm_mult WITH

(

LPM_WIDTHA = widthx,

LPM_WIDTHB = maxwkb,

LPM_WIDTHP = widthp,

LPM_WIDTHS = widths,

LPM_REPRESENTATION = "SIGNED",

--LATENCY,

LPM_PIPELINE = 0,

INPUT_A_IS_CONSTANT = "NO",

INPUT_B_IS_CONSTANT = "YES",

USE_EAB = "OFF",

MAXIMIZE_SPEED = 6

);

blocky[4..2] : lpm_mult WITH

(

LPM_WIDTHA = widthy,

LPM_WIDTHB = maxwka,

LPM_WIDTHP = widthp,

LPM_WIDTHS = widths,

LPM_REPRESENTATION = "SIGNED",

--LATENCY,

LPM_PIPELINE = 1,

INPUT_A_IS_CONSTANT = "NO",

INPUT_B_IS_CONSTANT = "YES",

USE_EAB = "OFF",

MAXIMIZE_SPEED = 6

);

 

BEGIN

blocky2.(aclr, clock, clken) = (reset, clock, ce);

blocky[3..1].(aclr, clock, clken) = (reset, clk, ce);

blocky3.(aclr, clock, clken) = (reset, clock, ce);

blocky4.(aclr, clock, clken) = (reset, clock, ce);

 

--секция 1

datay[] = blockx1.result[widthy-1 ..0];

blockx1.dataa[] = datax[];

blockx1.datab[] = kb1;

blockx1.sum[] = blocky2.result[];

 

--секция 2

blocky2.dataa[] = datay[];

blocky2.datab[] = ka2;

blocky2.sum[] = blockx2.result[];

blockx2.dataa[] = datax[];

blockx2.datab[] = kb2;

blockx2.sum[] = blocky3.result[];

 

--секция 3

blocky3.dataa[] = datay[];

blocky3.datab[] = ka3;

blocky3.sum[] = blockx3.result[];

blockx3.dataa[] = datax[];

blockx3.datab[] = kb3;

blockx3.sum[] = blocky4.result[];

 

--секция 4

blocky4.dataa[] = datay[];

blocky4.datab[] = ka4;

blocky4.sum[] = blockx4.result[];

blockx4.dataa[] = datax[];

blockx4.datab[] = kb4;

--blockx4.sum[] = block5y.result[]; --вход sum[]не используется

 

 

--вычисление модуля выходного сигнала datay[]

mdatay[] = dk_mod(datay[]) with (width = widthy);

 

 

END;

 

       
   
 
 

datax[] = 100

m = 8; n = 6, d = 5.

M = 2^8; N = 2^6; D = 2^5.

Результат увеличен в 100*M*D/N = 100*2^7 раз.

 

ПЛИС EPF10K20RC240-4;

Использовано МЯ 648;

% использованых МЯ 56%

Входных контактов 11;

Выходных контактов 32;

 

n G(n) G(n)/100*2^7 gп(n) (G–gп)*10-3 H(n) H(n)/100*2^7 hп(n) (H–hп)*10-3
0,097656 0,097656 0,000 0,097656 0,097656 0,000
0,307890 0,307922 -0,032 0,405546 0,405579 -0, 032
0,422812 0,422883 -0,071 0,828359 0,828462 -0, 102
0,260234 0,260276 -0,042 1,088593 1,088738 -0,144
–391 –0,030546 -0,030532 -0,014 1,058125 1,058206 -0,081
–1681 –0,131328 -0,131300 -0,28 0,926875 0,926906 -0,031
–272 –0,021250 -0,021159 -0,910 0,905703 0,905747 -0,043
0,085546 0,085655 -0,011 0,991328 0,991402 -0,073
0,061093 0,061175 -0,081 1,0525 1,052577 -0,077
–294 –0,022968 -0,022922 -0,046 1,029609 1,029654 -0,044
–640 –0,05 -0,049947 -0,053 0,979687 0,979707 -0,019
-121 –0,009453 -0,009388 -0,065 0,970312 0,970319 -0,006
0,027890 0,027951 -0,025 0,998203 0,998271 -0,067

Таблица 3. Сравнение отсчетов импульсной ипереходной характеристик фильтра

 

G(n) – Значения отсчетов импульсной характеристики, полученные симулятором MAX+plus II

gп(n) – Значения отсчетов импульсной характеристики, рассчитанные для округленных коэффициентов фильтра в Excel 2003

H(n) – Значения отсчетов переходной характеристики, полученные симулятором MAX+plus II

hп(n) – Значения отсчетов переходной характеристики, рассчитанные для округленных коэффициентов фильтра в Excel 2003

 


Таблица 4. Сравнение стилей синтеза по быстродействию и ресурсам

0[AREA] 10[SPEED]
NORMAL F[МГЦ] 8,36 9,06 9,76
LC 655(56%) 648 (56%) 740 (56%)
FAST F[МГЦ] 23,09 22,77 21,00
LC 503(43%) 503(43%) 503(43%)
WYSIWYG F[МГЦ] 23,31 23,75 22,88
LC 580(50%) 580(50%) 580(50%)
NORMAL F[МГЦ] 8,68 9,04 10,03
LC 699(60%) 695(60%) 797(68%)
FAST F[МГЦ] 20,97 21,47 19,8
LC 508(44%) 508(44%) 508(44%)
WYSIWYG F[МГЦ] 21,32 21,05 20,96
LC 566(49%) 566(49%) 566(49%)

Примечание:Синим цветом выделены результаты анализа проекта с табличным умножителем (в блоке blockx1 установлен параметр USE_EAB = "ON").






©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.