Перейти к содержанию

    

Xilinx ISim + IP core (DDS) как моделировать

Доброе времени суток!

Простейший проект - DDS ip-core в Xilinx ISE 14.7 (Webpack!), выход DDS далее на ЦАП, приаттаченный к плате Nexus 3 (Spartan 6).

Top level - schematic.

DDS генерит, в железе все нормально, на осциллографе на выходе ЦАП - синус, все как надо.

 

Но как промоделировать проект в ISim? Testbench создаю, клок для DDS генерится, но на выходной шине DDS 0.

 

Отдельно генерил тестбенч для ДДС (не для всего проекта), результат такой же.

 

Возможно, проблема в прослойке между монитором и стулом, но тогда подскажите, что почитать/куда копать?

 

Заранее спасибо!

image.jpg

 

image.jpg

 

image.jpg

 

image.jpg

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В тестбенче директиву таймскэйл не видно

`timescale 1ns / 1ps

. И приведите описание портов в HDL Functional Model для модуля DDS_sine - может создали его с дополнительными портами сброса или разрешения, а на верхний уровень их не вытянули, хотя в этом случае на выходе не ноль должен быть, а x.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

да, спасибо, проблема решена.

Timescale изменил на 1us/1ns - тактовая DDS 100 МГц, выходная 1,5 кГц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

такая же проблема, но описание на VHDL/

все тестовые сигнала вроде присутствуют, вижу изменение состояния выхода, но оно почему то однократное , может кто подскажет в каком направлении копать.

Если проблема в вышеописанном timescale, то как вставить код в VHDL описание!?

Заранее спасибо.

 

0_1b67a8_58b06098_orig.jpg

test.jpg

post-95236-1486403709_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемое сообщество!

Прошу оказать морально-техническую поддержку.

Намедни решил попрактиковаться с FGPA Xilinx S6.

Решил сделать управляемый синтезатор. Казалось бы, задача тривиальная, бери IP ядро и готово. Сделал быстренько проект самый простой. Фиксированная выходная частота. Проверил в симуляторе, работает. Подцепил user constraints файл, назначил выводы, казалось бы все. Однако не работает.

я уже исчерпал все идеи. если бы микросхема была не рабочей, то я не видел бы на экране осциллоскопа меандр , но он есть, а отсчетов DDS нету.

Прошу помочь кто чем может. Текст проекта прикладываю..

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

use IEEE.STD_LOGIC_ARITH.all;

use IEEE.NUMERIC_STD.all;

Library XilinxCoreLib;

library UNISIM;

use UNISIM.VComponents.all;

 

 

 

entity top_level is

port

(

clock : in std_logic;

DDS_out_data : out std_logic_vector (11 downto 0)

);

end top_level;

 

architecture Behavioral of top_level is

 

 

component DDS_CORE

port(

clk : in std_logic;

sine: out std_logic_vector (11 downto 0)

);

end component;

 

attribute syn_black_box : boolean;

attribute syn_black_box of DDS_CORE: component is true;

 

begin

MY_DDS : DDS_Core

port map (

clk =>clock,

sine => DDS_out_data);

end Behavioral;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Прошу помочь кто чем может. Текст проекта прикладываю..

Я бы для начала сделал две вещи:

1. Убедился, что синтезатор ничего не оптимизировал и не выкинул логику. Достаточно посмотреть отчет или rtl viewer.

1. Вывел на chipscope соответствующие сигналы и убедился, что тактовая частота доходит до Вашего модуля.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация