реклама на сайте
подробности

 
 
> программа для генерации фильтров в плис
Lmx2315
сообщение Dec 6 2008, 11:26
Сообщение #1


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



Приветствую уважаемые .


Я новичёк в плисоведении .

Cижу разбираюсь с ПЛИС и т.д. , не подскажете какую-либо прогу чтоб могла фильтры генерить для плис Vertex .

Встроенный в ICE генератор делает только FIR и требует файл коэффициентов , руками набить нельзя . В матлабе можно поучить коэффициенты , но некуда их сунуть . Файл в формате ice (coef) не генерится .

Пробовал сгенерировать на verilog - не транслируется в прошивку ( может потому что там разрядность 64 битная ?? не знаю ) - это речь идёт о fdatool .

Пытаюсь сунуть в плис демодулятор на схеме Костоса , в симулинке вроде работает , а в плис то фильтр сделать толком не могу , то функцию sign (x) ( если кто знает - тоже подскажите , плиз ) .

Простите за косноязычность - так всегда бывает когда немного не в теме и одни эмоции .


Не стесняйтесь пинать , но тока советы давайте посодержательней ...я цифровой техникой раньше не занимался вовсе , тока линейной частью и всё.


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Tue
сообщение Dec 7 2008, 13:12
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 166
Регистрация: 7-09-05
Из: Москва
Пользователь №: 8 340



Lmx2315, вы бы хоть описали что вы подразумеваете под функцией sign(x). Если судить из названия, то смею предпложить, что на входе этой функции должно быть знаковое число, на выходе - знак числа. Если так, то что мешает вам брать самый старший разряд, являющийся знаковым разрядом, и выдавать его наружу ?
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Dec 7 2008, 21:00
Сообщение #3


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



Цитата(Tue @ Dec 7 2008, 16:12) *
Lmx2315, вы бы хоть описали что вы подразумеваете под функцией sign(x). Если судить из названия, то смею предпложить, что на входе этой функции должно быть знаковое число, на выходе - знак числа. Если так, то что мешает вам брать самый старший разряд, являющийся знаковым разрядом, и выдавать его наружу ?



правильно мне нужен знак числа или ноль если число - ноль .

Ну возьму я зтарший знак числа а как мне на него умножить следующее число ?

у меня после этой функции - перемножитель на другое число .


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
Tue
сообщение Dec 8 2008, 08:22
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 166
Регистрация: 7-09-05
Из: Москва
Пользователь №: 8 340



Цитата(Lmx2315 @ Dec 8 2008, 00:00) *
правильно мне нужен знак числа или ноль если число - ноль .

Ну возьму я зтарший знак числа а как мне на него умножить следующее число ?

у меня после этой функции - перемножитель на другое число .

Ну допустим знак вы получили - однобитовое число: '0' - число положительное, '1' - число отрицательное. Далее вы можете превратить это однобитовое число в знаковое число, у которого старший бит - знак, остальная часть представляет коэффициент и умножать на второе множимое. В данном случае достаточно всего 2-х битов.
Но можно поступить умнее и ничего не умножать. Анализируя значения знака, переводить ваше второе множимое в знаковое число и выдавать либо его положительное, либо отрицательное значение

Ниже приведен примерный код на VHDL вашего "перемножителя". Предполагается, что "siggn" - знак числа, "m" - беззнаковое 13-битное входное число, "outp" - знаковое выходное 14-битное число.
Код
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.numeric_std.all;

ENTITY make_signed_out IS
    PORT (
        siggn : IN std_logic;
        m : IN std_logic_vector(12 DOWNTO 0);
        outp : OUT std_logic_vector(13 DOWNTO 0));
END make_signed_out;


ARCHITECTURE fsm_SFHDL OF make_signed_out IS


BEGIN
    make_signed_out : PROCESS (siggn, m)
        VARIABLE a_s : signed(13 DOWNTO 0);
        VARIABLE a_s_0 : signed(14 DOWNTO 0);
    BEGIN
        a_s := signed(resize(unsigned(m), 14));

        IF siggn /= '0' THEN
            a_s_0 :=  - (resize(a_s, 15));
            outp <= std_logic_vector(a_s_0(13 DOWNTO 0));
        ELSE
            outp <= std_logic_vector(a_s);
        END IF;

    END PROCESS make_signed_out;

END fsm_SFHDL;


Сообщение отредактировал Tue - Dec 8 2008, 08:28
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Lmx2315   программа для генерации фильтров в плис   Dec 6 2008, 11:26
- - AsJohnAs   ЦитатаВстроенный в ICE генератор делает только FIR...   Dec 6 2008, 11:33
|- - Lmx2315   Цитата(AsJohnAs @ Dec 6 2008, 14:33) Ну э...   Dec 6 2008, 11:38
- - AsJohnAs   Ну вообще фильтр это свертка т.е. сумма произведен...   Dec 6 2008, 12:00
- - taurus   Можно еще в MatLab, там тулбокс есть, знакомый дел...   Dec 6 2008, 16:23
|- - Tue   Lmx2315, coe-файл у вас не генерируется по той же ...   Dec 6 2008, 17:53
|- - Lmx2315   Цитата(Tue @ Dec 6 2008, 20:53) Lmx2315, ...   Dec 6 2008, 19:52
- - hitower1   Lmx2315: Если Вам нужны готовые реализации фильтр...   Dec 6 2008, 19:24
|- - des00   Цитата(Lmx2315 @ Dec 7 2008, 16:00) Ну во...   Dec 8 2008, 04:30
|- - Lmx2315   Спасибо за помощь . К сати в матлабе в тулсе ...   Dec 8 2008, 18:57
|- - des00   Цитата(Lmx2315 @ Dec 8 2008, 13:57) попро...   Dec 9 2008, 03:46
|- - sazh   Цитата(des00 @ Dec 9 2008, 06:46) 4 схемы...   Dec 9 2008, 15:11
|- - des00   Цитата(sazh @ Dec 9 2008, 10:11) Подскажи...   Dec 10 2008, 05:14
- - Tue   Lmx2315, что конкретно у вас не работает ? Вы пров...   Dec 9 2008, 07:06
- - Lmx2315   Цитата(Tue @ Dec 9 2008, 10:06) Lmx2315, ...   Dec 9 2008, 14:18


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 20:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01416 секунд с 7
ELECTRONIX ©2004-2016