Jump to content

    

Claw

Участник
  • Content Count

    70
  • Joined

  • Last visited

Everything posted by Claw


  1. да, с этими библиотеками всё работает, дело в том, что входной сигнал у меня имеет тип unsigned(если брать Ваш код, то это d),но этот сигнал идёт из другого блока(там я использовала numeric_std, и я никак не могу переделать его там в std_logic, потому что операции, которые там используются библиотекой std_logic_arith не поддерживаются),а c numeric_std этот код вылетает сразу с кучей ошибок...
  2. ой,теперь дошло до деревяшки)))спасибо)))) Попыталась подключить библиотеку NUMERIC_STD и использовать вместо типа std_logic_vector unsigned как всё рухнуло...
  3. Не совсем понятент этот код... q<="000" & d здесь понятно, конкатенация, получаем единицы, а вот ,к примеру: q<=conv_std_logic_vector(conv_integer(d)+18, 8) Что здесь происходит? Мы же в итоге получаем 8ми разрядный вектор и каким образом выделить из него числа для десятков и единиц?
  4. Cпасибо всем)) :a14:
  5. Вот, что в итоге получилось: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.NUMERIC_STD.ALL; entity Gun is Port ( clk : in bit; Op1 : out unsigned(3 downto 0);--десятки Op2 : out unsigned(3 downto 0));--единицы end Gun; architecture Behavioral of Gun is signal O1: integer range 0 to 9; signal O2: integer range 0 to 9; signal Ans : unsigned(8 downto 0);--вектор в котором хранится число, из которого, собственно, нужно извлечь десятки и единицы begin--line 46(см.ниже) process(clk) begin if clk='1' and clk'event then Ans<="001010001";--специально задала, чтобы посмотреть в modelsim if to_integer(Ans)<10 then--ecли меньше 10, то O2<=to_integer(Ans);--присваеваем единицам else O1<=to_integer(Ans)/10;--находим число десятков O2<=to_integer(Ans)-(O1*10);--единиц end if; end if; end process; Op1<=to_unsigned(O1,4); Op2<=to_unsigned(O2,4); end Behavioral; В modelsim что-то пошло не так)) Может всё дело в преобразовании типов? Не сильна в этом признаюсь, но по моей логике всё вроде правильно (себя не похвалишь - никто не похвалит)
  6. А можно достать где-нибудь таблицу с характеристиками ламп? Мне нужно подобрать лампу для генератора свч и коммутатора...
  7. Можете посоветовать что-нибудь по алгебраической теории кодирования?Может даже введение в неё? Хотелось бы, чтобы там ещё затрагивалась тема полей, в достаточно доступной форме, заранее спасибо :rolleyes:
  8. Спасибо, действительно заработало ;)
  9. Спасибо! книга Жеребцова "Основы электроники", а Евтянова "РПРУ"))
  10. Ищу книжку Бернштейн Э.А., Рудяченко Н.К. "Импульсные радиопередающие устройства". Киев, 1963
  11. Спасибо большое!
  12. ok, покаoпаю) и спасибо за ссылку barabek ;) Отдельно спасибо ViKo за предоставление услуг исправления ошибок, лучше даже, чем в MS Office.
  13. Добрый день, очень нужны книжки по расчёту ламповых передатчиков СВЧ, можете что-нибудь посоветовать?
  14. А что с чем сравнивать и что это даст?
  15. Не думала, что получится такое громоздкое решение)))Спасибо, что объяснили!
  16. Да, всего двузначное... Не совсем понятно как это
  17. Как вывести полученное двузначное число ,допустим в результате перемножения, на 4-ёх разрядный 7-ми сегментный индикатор, используя десятичную систему счисления? Т.е., к примеру, вывести на индикатор результат произведения 9x9 = 81? Как отделить десятки от единиц и вывести их отдельно на каждый разряд?
  18. Имеется следующий код на VHDL: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ......... entity d_trigger is Port ( clk : in STD_LOGIC; q : in STD_LOGIC; clk_out : out STD_LOGIC); end d_trigger; architecture Behavioral of d_trigger is process (clk) begin if clk'event and clk='1' then q<=clk_out; end if; end process; end Behavioral; Появляется ошибка: Не могу понять как её исправить :smile3046:
  19. Спасибо, дальше сама буду мутить))
  20. Как на VHDL реализовать генератор сигналов заданной формы, к примеру, в виде трапеции?