помилок у VHDL реального?

M

meemee2

Guest
ПОМИЛКА: Xst: 1547 - D: / watch/iseexamples/filter/filter1.vhd рядку 15: Signal <x> типу реального не підтримується.
ПОМИЛКА: Помилка XST

- Параметри фільтру:
--
- Дискретним часом РПІ фільтра (реальний)
- -------------------------------
- Структура фільтра: Direct-Форма РПІ
- Фільтр Наказ: 50
- Стабільно: Так
- Лінійна фаза: Так (тип 1)
- ------------------------------------------------ -------------
БІБЛІОТЕКА IEEE;
ВИКОРИСТАННЯ IEEE.std_logic_1164.all;
ВИКОРИСТАННЯ IEEE.numeric_std.ALL;

ENTITY фільтр
ПОРТ (CLK: В std_logic;
clk_enable: В std_logic;
Скидання: В std_logic;filter_in: в реальному - подвійні
);

filter_out:з реальної - двомісних);КІНЕЦЬ фільтр;-------------------------------------------------- --------------
- Архітектура модуля: фільтр
-------------------------------------------------- --------------
АРХИТЕКТУРА RTL фільтра IS
- Місцеві Опції
- Тип Визначення
ТИП delay_pipeline_type IS ARRAY (природний діапазон <>) реальних; - подвійні
-
КонстантаCONSTANT coeff1: Real: =- 9.1909820846825603E-004; - подвійні
CONSTANT coeff2: Real: =- 2.7176960265955000E-003; - подвійні
CONSTANT coeff3: Real: =- 2.4869527598323101E-003; - подвійні
CONSTANT coeff4: Real: = 3.6614383835070902E-003; - подвійні
CONSTANT coeff5: Real: = 1.3650925230662400E-002; - подвійні
CONSTANT coeff6: Real: = 1.7351165901093299E-002; - подвійні
CONSTANT coeff7: Real: = 7.6653061904216804E-003; - подвійні
CONSTANT coeff8: Real: =- 6.5547188696423999E-003; - подвійні
CONSTANT coeff9: Real: =- 7.6967840370653602E-003; - подвійні
CONSTANT coeff10: Real: = 6.1054594213943601E-003; - подвійні
CONSTANT coeff11: Real: = 1.3873915748635401E-002; - подвійні
CONSTANT coeff12: Real: = 3.5086172829091000E-004; - подвійні
CONSTANT coeff13: Real: =- 1.6908925436690501E-002; - подвійні
CONSTANT coeff14: Real: =- 8.9056427491586796E-003; - подвійні
CONSTANT coeff15: Real: = 1.7441129500854899E-002; - подвійні
CONSTANT coeff16: Real: = 2.0745044527609901E-002; - подвійні
CONSTANT coeff17: Real: =- 1.2296494251940300E-002; - подвійні
CONSTANT coeff18: Real: =- 3.4240865909578401E-002; - подвійні
CONSTANT coeff19: Real: =- 1.0345296055723999E-003; - подвійні
CONSTANT coeff20: Real: = 4.7790305520801497E-002; - подвійні
CONSTANT coeff21: Real: = 2.7363037914847999E-002; - подвійні
CONSTANT coeff22: Real: =- 5.9379518831046599E-002; - подвійні
CONSTANT coeff23: Real: =- 8.2307025929229102E-002; - подвійні
CONSTANT coeff24: Real: = 6.7186909432870506E-002; - подвійні
CONSTANT coeff25: Real: = 3.1001517709025100E-001; - подвійні
CONSTANT coeff26: Real: = 4.3004788034351699E-001; - подвійні
CONSTANT coeff27: Real: = 3.1001517709025100E-001; - подвійні
CONSTANT coeff28: Real: = 6.7186909432870506E-002; - подвійні
CONSTANT coeff29: Real: =- 8.2307025929229102E-002; - подвійні
CONSTANT coeff30: Real: =- 5.9379518831046599E-002; - подвійні
CONSTANT coeff31: Real: = 2.7363037914847999E-002; - подвійні
CONSTANT coeff32: Real: = 4.7790305520801497E-002; - подвійні
CONSTANT coeff33: Real: =- 1.0345296055723999E-003; - подвійні
CONSTANT coeff34: Real: =- 3.4240865909578401E-002; - подвійні
CONSTANT coeff35: Real: =- 1.2296494251940300E-002; - подвійні
CONSTANT coeff36: Real: = 2.0745044527609901E-002; - подвійні
CONSTANT coeff37: Real: = 1.7441129500854899E-002; - подвійні
CONSTANT coeff38: Real: =- 8.9056427491586796E-003; - подвійні
CONSTANT coeff39: Real: =- 1.6908925436690501E-002; - подвійні
CONSTANT coeff40: Real: = 3.5086172829091000E-004; - подвійні
CONSTANT coeff41: Real: = 1.3873915748635401E-002; - подвійні
CONSTANT coeff42: Real: = 6.1054594213943601E-003; - подвійні
CONSTANT coeff43: Real: =- 7.6967840370653602E-003; - подвійні
CONSTANT coeff44: Real: =- 6.5547188696423999E-003; - подвійні
CONSTANT coeff45: Real: = 7.6653061904216804E-003; - подвійні
CONSTANT coeff46: Real: = 1.7351165901093299E-002; - подвійні
CONSTANT coeff47: Real: = 1.3650925230662400E-002; - подвійні
CONSTANT coeff48: Real: = 3.6614383835070902E-003; - подвійні
CONSTANT coeff49: Real: =- 2.4869527598323101E-003; - подвійні
CONSTANT coeff50: Real: =- 2.7176960265955000E-003; - подвійні
CONSTANT coeff51: Real: =- 9.1909820846825603E-004; - подвійні

- Сигнали
SIGNAL delay_pipeline: delay_pipeline_type (від 0 до 50): = (0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); - подвійні
SIGNAL product51: Real: = 0.0; - подвійні
SIGNAL product50: Real: = 0.0; - подвійні
SIGNAL product49: Real: = 0.0; - подвійні
SIGNAL product48: Real: = 0.0; - подвійні
SIGNAL product47: Real: = 0.0; - подвійні
SIGNAL product46: Real: = 0.0; - подвійні
SIGNAL product45: Real: = 0.0; - подвійні
SIGNAL product44: Real: = 0.0; - подвійні
SIGNAL product43: Real: = 0.0; - подвійні
SIGNAL product42: Real: = 0.0; - подвійні
SIGNAL product41: Real: = 0.0; - подвійні
SIGNAL product40: Real: = 0.0; - подвійні
SIGNAL product39: Real: = 0.0; - подвійні
SIGNAL product38: Real: = 0.0; - подвійні
SIGNAL product37: Real: = 0.0; - подвійні
SIGNAL product36: Real: = 0.0; - подвійні
SIGNAL product35: Real: = 0.0; - подвійні
SIGNAL product34: Real: = 0.0; - подвійні
SIGNAL product33: Real: = 0.0; - подвійні
SIGNAL product32: Real: = 0.0; - подвійні
SIGNAL product31: Real: = 0.0; - подвійні
SIGNAL product30: Real: = 0.0; - подвійні
SIGNAL product29: Real: = 0.0; - подвійні
SIGNAL product28: Real: = 0.0; - подвійні
SIGNAL product27: Real: = 0.0; - подвійні
SIGNAL product26: Real: = 0.0; - подвійні
SIGNAL product25: Real: = 0.0; - подвійні
SIGNAL product24: Real: = 0.0; - подвійні
SIGNAL product23: Real: = 0.0; - подвійні
SIGNAL product22: Real: = 0.0; - подвійні
SIGNAL product21: Real: = 0.0; - подвійні
SIGNAL product20: Real: = 0.0; - подвійні
SIGNAL product19: Real: = 0.0; - подвійні
SIGNAL product18: Real: = 0.0; - подвійні
SIGNAL product17: Real: = 0.0; - подвійні
SIGNAL product16: Real: = 0.0; - подвійні
SIGNAL product15: Real: = 0.0; - подвійні
SIGNAL product14: Real: = 0.0; - подвійні
SIGNAL product13: Real: = 0.0; - подвійні
SIGNAL product12: Real: = 0.0; - подвійні
SIGNAL product11: Real: = 0.0; - подвійні
SIGNAL product10: Real: = 0.0; - подвійні
SIGNAL product9: Real: = 0.0; - подвійні
SIGNAL product8: Real: = 0.0; - подвійні
SIGNAL product7: Real: = 0.0; - подвійні
SIGNAL product6: Real: = 0.0; - подвійні
SIGNAL product5: Real: = 0.0; - подвійні
SIGNAL product4: Real: = 0.0; - подвійні
SIGNAL product3: Real: = 0.0; - подвійні
SIGNAL product2: Real: = 0.0; - подвійні
SIGNAL product1: Real: = 0.0; - подвійні
SIGNAL sum1: Real: = 0.0; - подвійні
SIGNAL sum2: Real: = 0.0; - подвійні
SIGNAL sum3: Real: = 0.0; - подвійні
SIGNAL sum4: Real: = 0.0; - подвійні
SIGNAL sum5: Real: = 0.0; - подвійні
SIGNAL sum6: Real: = 0.0; - подвійні
SIGNAL sum7: Real: = 0.0; - подвійні
SIGNAL sum8: Real: = 0.0; - подвійні
SIGNAL sum9: Real: = 0.0; - подвійні
SIGNAL sum10: Real: = 0.0; - подвійні
SIGNAL sum11: Real: = 0.0; - подвійні
SIGNAL sum12: Real: = 0.0; - подвійні
SIGNAL sum13: Real: = 0.0; - подвійні
SIGNAL sum14: Real: = 0.0; - подвійні
SIGNAL sum15: Real: = 0.0; - подвійні
SIGNAL sum16: Real: = 0.0; - подвійні
SIGNAL sum17: Real: = 0.0; - подвійні
SIGNAL sum18: Real: = 0.0; - подвійні
SIGNAL sum19: Real: = 0.0; - подвійні
SIGNAL sum20: Real: = 0.0; - подвійні
SIGNAL sum21: Real: = 0.0; - подвійні
SIGNAL sum22: Real: = 0.0; - подвійні
SIGNAL sum23: Real: = 0.0; - подвійні
SIGNAL sum24: Real: = 0.0; - подвійні
SIGNAL sum25: Real: = 0.0; - подвійні
SIGNAL sum26: Real: = 0.0; - подвійні
SIGNAL sum27: Real: = 0.0; - подвійні
SIGNAL sum28: Real: = 0.0; - подвійні
SIGNAL sum29: Real: = 0.0; - подвійні
SIGNAL sum30: Real: = 0.0; - подвійні
SIGNAL sum31: Real: = 0.0; - подвійні
SIGNAL sum32: Real: = 0.0; - подвійні
SIGNAL sum33: Real: = 0.0; - подвійні
SIGNAL sum34: Real: = 0.0; - подвійні
SIGNAL sum35: Real: = 0.0; - подвійні
SIGNAL sum36: Real: = 0.0; - подвійні
SIGNAL sum37: Real: = 0.0; - подвійні
SIGNAL sum38: Real: = 0.0; - подвійні
SIGNAL sum39: Real: = 0.0; - подвійні
SIGNAL sum40: Real: = 0.0; - подвійні
SIGNAL sum41: Real: = 0.0; - подвійні
SIGNAL sum42: Real: = 0.0; - подвійні
SIGNAL sum43: Real: = 0.0; - подвійні
SIGNAL sum44: Real: = 0.0; - подвійні
SIGNAL sum45: Real: = 0.0; - подвійні
SIGNAL sum46: Real: = 0.0; - подвійні
SIGNAL sum47: Real: = 0.0; - подвійні
SIGNAL sum48: Real: = 0.0; - подвійні
SIGNAL sum49: Real: = 0.0; - подвійні
SIGNAL sum50: Real: = 0.0; - подвійні
SIGNAL output_register: Real: = 0.0; - подвійніBEGIN

- Блок Заяви
Delay_Pipeline_process: ПРОЦЕС (CLK, скидання)
BEGIN
Якщо скинути ='1 'THEN
delay_pipeline (від 0 до 50) <= (ІНШІ => 0.0000000000000000E 000);
ELSIF clk'event І CLK ='1 'THEN
ЯКЩО clk_enable ='1 'THEN
delay_pipeline (0) <= filter_in;
delay_pipeline (від 1 до 50) <= delay_pipeline (від 0 до 49);
END IF;
END IF;
Завершити процес Delay_Pipeline_process;

product51 <= delay_pipeline (50) * coeff51;

product50 <= delay_pipeline (49) * coeff50;

product49 <= delay_pipeline (4

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Круто" border="0" />

* Coeff49;

product48 <= delay_pipeline (47) * coeff48;

product47 <= delay_pipeline (46) * coeff47;

product46 <= delay_pipeline (45) * coeff46;

product45 <= delay_pipeline (44) * coeff45;

product44 <= delay_pipeline (43) * coeff44;

product43 <= delay_pipeline (42) * coeff43;

product42 <= delay_pipeline (41) * coeff42;

product41 <= delay_pipeline (40) * coeff41;

product40 <= delay_pipeline (39) * coeff40;

product39 <= delay_pipeline (3

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Круто" border="0" />

* Coeff39;

product38 <= delay_pipeline (37) * coeff38;

product37 <= delay_pipeline (36) * coeff37;

product36 <= delay_pipeline (35) * coeff36;

product35 <= delay_pipeline (34) * coeff35;

product34 <= delay_pipeline (33) * coeff34;

product33 <= delay_pipeline (32) * coeff33;

product32 <= delay_pipeline (31) * coeff32;

product31 <= delay_pipeline (30) * coeff31;

product30 <= delay_pipeline (29) * coeff30;

product29 <= delay_pipeline (2

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Круто" border="0" />

* Coeff29;

product28 <= delay_pipeline (27) * coeff28;

product27 <= delay_pipeline (26) * coeff27;

product26 <= delay_pipeline (25) * coeff26;

product25 <= delay_pipeline (24) * coeff25;

product24 <= delay_pipeline (23) * coeff24;

product23 <= delay_pipeline (22) * coeff23;

product22 <= delay_pipeline (21) * coeff22;

product21 <= delay_pipeline (20) * coeff21;

product20 <= delay_pipeline (19) * coeff20;

product19 <= delay_pipeline (1

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Круто" border="0" />

* Coeff19;

product18 <= delay_pipeline (17) * coeff18;

product17 <= delay_pipeline (16) * coeff17;

product16 <= delay_pipeline (15) * coeff16;

product15 <= delay_pipeline (14) * coeff15;

product14 <= delay_pipeline (13) * coeff14;

product13 <= delay_pipeline (12) * coeff13;

product12 <= delay_pipeline (11) * coeff12;

product11 <= delay_pipeline (10) * coeff11;

product10 <= delay_pipeline (9) * coeff10;

product9 <= delay_pipeline (

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Круто" border="0" />

* Coeff9;

product8 <= delay_pipeline (7) * coeff8;

product7 <= delay_pipeline (6) * coeff7;

product6 <= delay_pipeline (5) * coeff6;

product5 <= delay_pipeline (4) * coeff5;

product4 <= delay_pipeline (3) * coeff4;

product3 <= delay_pipeline (2) * coeff3;

product2 <= delay_pipeline (1) * coeff2;

product1 <= delay_pipeline (0) * coeff1;

sum1 <= product1 product2;

sum2 <= sum1 product3;

sum3 <= sum2 product4;

sum4 <= sum3 product5;

sum5 <= sum4 product6;

sum6 <= sum5 product7;

sum7 <= sum6 product8;

sum8 <= sum7 product9;

sum9 <= sum8 product10;

sum10 <= sum9 product11;

sum11 <= sum10 product12;

sum12 <= sum11 product13;

sum13 <= sum12 product14;

sum14 <= sum13 product15;

sum15 <= sum14 product16;

sum16 <= sum15 product17;

sum17 <= sum16 product18;

sum18 <= sum17 product19;

sum19 <= sum18 product20;

sum20 <= sum19 product21;

sum21 <= sum20 product22;

sum22 <= sum21 product23;

sum23 <= sum22 product24;

sum24 <= sum23 product25;

sum25 <= sum24 product26;

sum26 <= sum25 product27;

sum27 <= sum26 product28;

sum28 <= sum27 product29;

sum29 <= sum28 product30;

sum30 <= sum29 product31;

sum31 <= sum30 product32;

sum32 <= sum31 product33;

sum33 <= sum32 product34;

sum34 <= sum33 product35;

sum35 <= sum34 product36;

sum36 <= sum35 product37;

sum37 <= sum36 product38;

sum38 <= sum37 product39;

sum39 <= sum38 product40;

sum40 <= sum39 product41;

sum41 <= sum40 product42;

sum42 <= sum41 product43;

sum43 <= sum42 product44;

sum44 <= sum43 product45;

sum45 <= sum44 product46;

sum46 <= sum45 product47;

sum47 <= sum46 product48;

sum48 <= sum47 product49;

sum49 <= sum48 product50;

sum50 <= sum49 product51;

Output_Register_process: ПРОЦЕС (CLK, скидання)
BEGIN
Якщо скинути ='1 'THEN
output_register <= 0.0000000000000000E 000;
ELSIF clk'event І CLK ='1 'THEN
ЯКЩО clk_enable ='1 'THEN
output_register <= sum50;
END IF;
END IF;
Завершити процес Output_Register_process;

- Заяви про поступку
filter_out <= output_register;

КІНЕЦЬ RTL;

 
Чи може хто-небудь допомогти мені з VHDL коду.?це gerentor до Matlab ..
це фільтр ...
помилка увагу на Красній ...
заранее спасибо

 
Я не знаю багато про VHDL, але слова "реальні подвійні" і "XST" не змішувати.XST не підтримує арифметики з плаваючою точкою.
Останній раз редагувався echo47 21 жовтня 2004 10:20;, всього редагувався 1 раз

 
Привіт,

Я бачу, ви намагалися синтезувати з XST
суб'єкта в "реальних" порти ...не добре m8.

Так що ви думаєте синтезатора буде робити?

<img src="http://www.edaboard.com/images/smiles/icon_confused.gif" alt="Confused" border="0" />Синтезатори не підтримують реалів, по крайней мере, XST не може Precision або Synplify можна з'ясувати, наскільки глибоко ви хочете порт бути й обмеження його до 32 біт ...хоча я так не думаю.

Так що це компроміс між резолюції (наскільки точними ви хочете, щоб ваша реальна буде) і кількість воріт (вплив), ви хочете використовувати у вашому FPGA / CPLD.Ви повинні зрозуміти, що і потім конвертувати ваші реально 'std_logic_vector' частиною реальної
І 'std_logic_vector' десяткової частини.

- Maestor

 
конвертувати ваші реально 'std_logic_vector' частиною реальної
І 'std_logic_vector' частина --
Ви маєте на увазі т

 
конвертувати ваші реально 'std_logic_vector' частиною реальної
І 'std_logic_vector' частина --
Ви маєте на увазі, що реальні зміни в std_logic_vector.
і все
CONSTANT coeff1: Real: =- 9.1909820846825603E-004; - подвійні
CONSTANT coeff2: Real: =- 2.7176960265955000E-003; - подвійні
CONSTANT coeff3: Real: =- 2.4869527598323101E-003; - подвійні
CONSTANT coeff4: Real: = 3.6614383835070902E-003; - подвійні
CONSTANT coeff5: Real: = 1.3650925230662400E-002; - подвійні
CONSTANT coeff6: Real: = 1.7351165901093299E-002; - подвійні
TP десяткове число??
спасибо

 
Ей, я думаю, вона буде виробляти компіляцію помилок.
Я думаю, вам необхідно змінити

filter_out:
з реальної - подвійний) -> filter_out:
з реальних) - подвійні

Я думаю, '), "розглядається як частина коментарю в ваш код.

 
привет всем.
Я стикаємося з тією ж проблемою, хоча синтезу породжених VHDL код MathLab інструментарій
fdatools
Я думаю, що це помилка на цікаве Matlab синтезу з @ ltera Кью (на) rtus програмного забезпечення ..
Чи може хто-небудь надає рішення ..
зауваженнями.ці рішення розміщені на цій сторінці ..Ive судим ..
doesn't його роботи ..
спасибо всем заздалегідь

 

Welcome to EDABoard.com

Sponsor

Back
Top