С Новым годом! Форум программистов, компьютерный форум, киберфорум
Программируемая логика: ПЛИС, ПАИС
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 05.12.2015
Сообщений: 7

Не работает тестбенч. Цифровая фильтрация

14.12.2015, 14:58. Показов 1646. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, создал в IPCoreGeneratore интерполирующий FIR filter. Коэффициенты получены в матлабе. Написал тестбенч, в котором считываем из файла входной сигнал и записываем, также в файл, выходной. Как я понял, дальше первого такта работать не хочет, не понятно почему. Буду очень благодарен, если кто-нибудь подскажет, в чем проблема. Документ с исходным сигналом и коэффициентами (расширение нужно сменить на .coe) прикладываю.

Тестбенч

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;
LIBRARY std;
USE std.textio.all;
 
ENTITY test_bench IS
END test_bench;
 
ARCHITECTURE behavior OF test_bench IS 
 
    -- Component Declaration for the Unit Under Test (UUT)
 
    COMPONENT filter_module
    PORT(
         clk : IN  std_logic;
         rfd : OUT  std_logic;
         rdy : OUT  std_logic;
         din : IN  std_logic_vector(15 downto 0);
         dout : OUT  std_logic_vector(36 downto 0)
        );
    END COMPONENT;
    
 
   --Inputs
   signal din : std_logic_vector(15 downto 0) := (others => '0');
    signal clk: std_logic;
 
    --Outputs
   signal rfd : std_logic;
   signal rdy : std_logic;
   signal dout : std_logic_vector(36 downto 0);
 
   -- Clock period definitions
   constant clk_period : time := 10 ns;
    
    constant log_file_rd : string := "F:\ProjectsXilinx\LPF\original_signal.txt";
    file file_rd: TEXT open read_mode is log_file_rd;
    constant log_file1 : string := "F:\ProjectsXilinx\LPF\output_signal.txt";
    file file_wr: TEXT open write_mode is log_file1;
    
    signal dataIn :  std_logic_vector (36 downto 0);
    signal data :  std_logic_vector (15 downto 0);
    signal rst :  std_logic;
 
BEGIN
 
 read_data: process(clk,rst)
    variable s: integer;
    variable l : line;
 begin
    if (rst = '1') then
        data <= (others => '0');
    elsif(rising_edge(clk)) then
            readline(file_rd, l);
            read (l, s);
            data <= CONV_STD_LOGIC_VECTOR(s,16);
    end if;
 end process;
 
 write_data : process(clk)
    variable l2 : line;
    begin
        if(rising_edge(clk)) then
                write (l2, CONV_INTEGER(SIGNED(DataIn)));
                writeline(file_wr, l2);
        end if;
    end process;
    
    generate_clk: process begin
    loop
        clk<='0';
        wait for 20 ns;
        clk<='1';
        wait for 20 ns;
    end loop;
    end process;
    
    generate_rst: process begin
    rst<='1','0' after 20 ns;
    wait;
    end process;
 
    -- Instantiate the Unit Under Test (UUT)
   uut: filter_module PORT MAP (
          clk => clk,
          rfd => rfd,
          rdy => rdy,
          din => data,
          dout => DataIn
        );
 
   --Stimulus process
   stim_proc: process
   begin        
      -- hold reset state for 100 ns.
      wait for 100 ns;  
 
        wait for clk_period*10;
 
      -- insert stimulus here 
 
     wait;
   end process;
 
END;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.12.2015, 14:58
Ответы с готовыми решениями:

Цифровая фильтрация на ПЛИС
Доброго времени суток! Можно ли в Quartus 2 web edition собрать схему цифрового фильтра из готовых блоков и проверить на...

цифровая фильтрация?
Есть у меня АЦП в stm32, и считываю я показания терморезистора, и вижу я на выходе температуру с поправкой на погоду на Марсе: ...

Цифровая фильтрация
Добрый вечер. Делаю дипломную по цифровым фильтрам и пытаюсь реализовать вот такой: // Применение sinc-фильтра нижних частот....

5
0 / 0 / 0
Регистрация: 05.12.2015
Сообщений: 7
14.12.2015, 14:59  [ТС]
Скриншоты, коэффициенты фильтра и исходный сигнал
Миниатюры
Не работает тестбенч. Цифровая фильтрация   Не работает тестбенч. Цифровая фильтрация   Не работает тестбенч. Цифровая фильтрация  

Вложения
Тип файла: txt coefficients.txt (604 байт, 2 просмотров)
Тип файла: txt original_signal.txt (10.3 Кб, 2 просмотров)
0
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
14.12.2015, 22:10
...дайте поработать симуляции более 20мкс - пусть поработает 10мс. У вас же период клока - 40нс. А время эмуляции - всего-то 20нс. Что вы от него хотите? )
0
0 / 0 / 0
Регистрация: 05.12.2015
Сообщений: 7
15.12.2015, 00:02  [ТС]
Неа, выдает такую ошибку Warning: NUMERIC_STD.TO_INTEGER: metavalue detected, returning 0, явно не во времени проблема
0
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
15.12.2015, 12:17
Цитата Сообщение от FastBreakfast Посмотреть сообщение
Неа, выдает такую ошибку Warning: NUMERIC_STD.TO_INTEGER: metavalue detected, returning 0, явно не во времени проблема
Это не ошибка, а только предупреждение, что вы подаете на какой-то вход сигнала неправильную величину. Но клок у вас за обозначенное время симуляции (20мкс) не делает ни одного такта. А если вылетает симуляция, надо искать что вы неправильно вкидываете в тестбенче.
0
0 / 0 / 0
Регистрация: 05.12.2015
Сообщений: 7
18.12.2015, 20:18  [ТС]
Работает, если убрать в записи в файл CONV_INTEGER, в чем может быть проблема?

Добавлено через 2 часа 15 минут
Тестбенч не пишет в файл, остальное все работает правильно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.12.2015, 20:18
Помогаю со студенческими работами здесь

Цифровая фильтрация
Суть задания, нарисовать график функции sin(x) в которой надо самому же поменять точки на другие, чтоб график вышел не правильным (я так...

Цифровая фильтрация
Доброго времени суток! с цифровой обработкой сигналов только начинаю разбираться, есть практическая задача (см.фото) часть сделал, а вот с...

Цифровая фильтрация сигнала
Т.З. Записан сердечный ритм, файл в wave формате, нужно оставить сигнал в полосе частот от 2 до 50 Гц, использовать программные фильтры ...

Низкочастотная фильтрация изображений (книга Гонсалеса “Цифровая обработка изображений”)
Здравствуйте. Я пытаюсь реализовать на java низкочастотную фильтрацию изображений. Реализую по книге Гонсалеса &quot;Цифровая...

После AVZ не работает программа Credo Межевой план автоматически закрывается и не работает цифровая подпись
После AVZ не работает программа Credo Межевой план автоматически закрывается и не работает цифровая подпись. Помогите пожалуйста!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru