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

    

Tpeck

Свой
  • Публикаций

    327
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Tpeck

  • Звание
    Местный

Посетители профиля

3 483 просмотра профиля
  1. Насколько быстро нужно коммутировать? Может проще сделать плавное нарастание тока?
  2. Генерируете матрицу СВ nxn Генерируете вектор с нужным количеством NAN - m. R=randi([0 1],n,n) indx=randi([1 n*n],1,m); R(indx)=NaN
  3. не в курсе что с сайтом uclinux.org

    Очень похоже, что взято отсюда. http://liberatum.ru/e/astra-linux-copyright Этой новости более двух лет.
  4. Борьба с валютными спекулянтами? с марта 2013 до апреля 2014 г. она была 5.5%, сильно выросла промышленность?
  5. В симуляторе оба варианта работают. Вариант в с функциями не заработал в железе на V7, тогда как на V6 работал.
  6. Это не мой код, а стороннего разработчика. Не знаю в чем магия, но замена этого: wieght_in_mod <= func_modul(wieght_in); sign <= wieght_in(wieght_in'high); process(clk) begin if (clk'event and clk ='1') then if reset = '1' then wieght_out <= (others => '0'); elsif ( wieght_in_mod >= max_LLR_abs ) then wieght_out <= func_real_value(max_LLR_abs_vector,sign); else wieght_out <= func_real_value(wieght_in_mod(max_LLR_abs_vector'high downto wieght_in_mod'low),sign); end if; end if; end process; на это process(clk) begin if (clk'event and clk ='1') then if reset = '1' then wieght_out <= (others => '0'); else if wieght_in(13)='0' then if wieght_in(12 downto 8)="00000" then wieght_out <= wieght_in(weight_size-1 downto 0); else wieght_out <= "0011111111"; end if; elsif wieght_in(13)='1' then if wieght_in(12 downto 8)="11111" then wieght_out <= wieght_in(weight_size-1 downto 0); else wieght_out <= "1100000000"; end if; end if; end if; end if; end process; сделало поведение IP ядра на V7, аналогичным симулятору и V6. Может проблема с либами или еще с чем-то. Если кто сможет объяснить, буду очень рад. :)
  7. Разработчик писал IP ядро под V6, под V6 оно работает. Какие к разработчику могут быть вопросы? :) Шутки шутками, но вероятность такого ответа далеко не нулевая. function func_modul ( signal data_in: in std_logic_vector) return std_logic_vector is variable modul : std_logic_vector(data_in'high-1 downto 0); variable xor_var : std_logic_vector(data_in'high-1 downto 0); begin xor_gen: for i in 0 to data_in'high - 1 loop xor_var(i) := data_in(data_in'high); end loop; modul := (xor_var xor data_in(data_in'high - 1 downto 0)) + data_in(data_in'high); return modul; end func_modul; function func_real_value ( signal modul_in: in std_logic_vector; signal sign_in: in std_logic) return std_logic_vector is variable real_value : std_logic_vector(modul_in'high+1 downto 0); variable xor_var : std_logic_vector(modul_in'high downto 0); begin xor_gen: for i in 0 to modul_in'high loop xor_var(i) := sign_in; end loop; real_value := (sign_in &(xor_var xor modul_in)) + sign_in; return real_value; end func_real_value;
  8. Ну сначала так и делал. Только выяснилось, что из-за оптимизации самописной функции в глубине дизайна, оптимизировались функции в верхнем уровне и смотреть в глубь проекта перестало иметь смысл. Очень похоже, что причиной проблем стала проверка на переполнение, очень интересна она была реализована. Сначала от std_logic_vectora брался модуль с помощью самописной функции и знак, как старший бит. После этого модуль сравнивался с порогом и результат проверки возвращался с помощью функции, которая преобразовала модуль и знак в std_logic_vector. Все это было параметризуемо, что только добавляло радости. До этого куска, тоже пришлось вносить исправления, но после исправления данного участка, данные с IP ядра в Virtex7 стали адекватными. Всем спасибо.
  9. Здравствуйте. Сложилась неприятная ситуация. Есть стороннее IP ядро. В симуляторе Acitive-HDL - корректно работает. Если развести в ISE 14.7 и залить в плис (Virtex6) - корректно работает. Если моделировать в симуляторе оригинальное IP ядро Vivado - корректно работает. Если развести в Vivado 2017.4 и залить в плис (Virtex7) - не корректно работает. Если после синтеза сделать write_verilog -force IP.v и моделировать с IP.v вместо оригинального IP - не корректно работает. IP ядро реализовано на VHDL, используются примитивы V6, много функций. Обвязку к ядру пишу я. Нормального описания как оно устроено нет. Как оно работает имею поверхностное представление. Подскажите в какую сторону копать, чтобы в симуляторе можно было бы эту багу воспроизвести. Всем спасибо.
  10. Вы бы сначала разобрались, что такое БПФ, как оно работает и для чего надо. Реализовали бы его в лоб на Matlab, потом реализовали бы Бабочку на Matlab. А там глядишь и таких вопросов не осталось бы. А то очень странно видеть вопросы по базовому курсу РТЦ в разделе ПЛИС работаем с ПЛИС.
  11. а мне кажется, что там должен был стоять какой-нибудь IDC-10, где нечетные земля, а четные данные. Но что-то пошло не так. Может в габаритах промахнулись и решили сделать так. :)
  12. у меня английская версия. Где можно поменять на Русскую. Если захожу через Opera без логина, тогда русская версия.
  13. OffTop а дешево - это сколько за плату?