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

Tpeck

Свой
  • Постов

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

  • Посещение

Весь контент Tpeck


  1. Генерируете матрицу СВ nxn Генерируете вектор с нужным количеством NAN - m. R=randi([0 1],n,n) indx=randi([1 n*n],1,m); R(indx)=NaN
  2. Очень похоже, что взято отсюда. http://liberatum.ru/e/astra-linux-copyright Этой новости более двух лет.
  3. Борьба с валютными спекулянтами? с марта 2013 до апреля 2014 г. она была 5.5%, сильно выросла промышленность?
  4. В симуляторе оба варианта работают. Вариант в с функциями не заработал в железе на V7, тогда как на V6 работал.
  5. Это не мой код, а стороннего разработчика. Не знаю в чем магия, но замена этого: 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. Может проблема с либами или еще с чем-то. Если кто сможет объяснить, буду очень рад. :)
  6. Разработчик писал 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;
  7. Ну сначала так и делал. Только выяснилось, что из-за оптимизации самописной функции в глубине дизайна, оптимизировались функции в верхнем уровне и смотреть в глубь проекта перестало иметь смысл. Очень похоже, что причиной проблем стала проверка на переполнение, очень интересна она была реализована. Сначала от std_logic_vectora брался модуль с помощью самописной функции и знак, как старший бит. После этого модуль сравнивался с порогом и результат проверки возвращался с помощью функции, которая преобразовала модуль и знак в std_logic_vector. Все это было параметризуемо, что только добавляло радости. До этого куска, тоже пришлось вносить исправления, но после исправления данного участка, данные с IP ядра в Virtex7 стали адекватными. Всем спасибо.
  8. Здравствуйте. Сложилась неприятная ситуация. Есть стороннее IP ядро. В симуляторе Acitive-HDL - корректно работает. Если развести в ISE 14.7 и залить в плис (Virtex6) - корректно работает. Если моделировать в симуляторе оригинальное IP ядро Vivado - корректно работает. Если развести в Vivado 2017.4 и залить в плис (Virtex7) - не корректно работает. Если после синтеза сделать write_verilog -force IP.v и моделировать с IP.v вместо оригинального IP - не корректно работает. IP ядро реализовано на VHDL, используются примитивы V6, много функций. Обвязку к ядру пишу я. Нормального описания как оно устроено нет. Как оно работает имею поверхностное представление. Подскажите в какую сторону копать, чтобы в симуляторе можно было бы эту багу воспроизвести. Всем спасибо.
  9. Вы бы сначала разобрались, что такое БПФ, как оно работает и для чего надо. Реализовали бы его в лоб на Matlab, потом реализовали бы Бабочку на Matlab. А там глядишь и таких вопросов не осталось бы. А то очень странно видеть вопросы по базовому курсу РТЦ в разделе ПЛИС работаем с ПЛИС.
  10. а мне кажется, что там должен был стоять какой-нибудь IDC-10, где нечетные земля, а четные данные. Но что-то пошло не так. Может в габаритах промахнулись и решили сделать так. :)
  11. у меня английская версия. Где можно поменять на Русскую. Если захожу через Opera без логина, тогда русская версия.
  12. Счетчик вам в помощь. https://www.xilinx.com/support/documentation/sw_manuals/xilinx11/sysgen_ref.pdf стр. 101 Более свежий найдете сами.
  13. Это при НКУ? А при максимальной повышенной, какая тем температура будет?
  14. Если вы возьмете полосу равную частоте сигнала (например тактовый сигнал), то вы с высокой долей вероятности увидите гармоническое колебание на выходе, так как все гармоники высоких порядков будут подавлены.
  15. Если в Chrome сделан зум 125% и страница не в полноэкранном режиме, то происходят следующие метаморфозы.
  16. Для какого языка? Если для VHDL, то функция conv_std_logic_vector().
  17. Читаю форум через "новые сообщения" Регулярно попадаются темы, которые не интересны лично мне. Можно их будет как-нибудь пометить/скрыть для себя, чтобы они в новых сообщениях не попадали? Спасибо.
  18. А что подразумевается под частотой сигнала?
  19. Немного оффтопа. Подскажите, а что стало причиной перехода с Active-HDL на ModelSim?
×
×
  • Создать...