реклама на сайте
подробности

 
 
> Помощь новечку, Помоги новичку с VHDL
BuTeK
сообщение May 4 2006, 17:44
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 67
Регистрация: 25-04-06
Из: Беларусь, Гомель
Пользователь №: 16 450



Недавно начал пробывать программировать на VHDL. И у меня случилась такая беда: не получается написать программу которая бы посылала по одной восьмибитной шине станачало первый байт затем после 10нс второй байт. Помогите кто знает...
И ещё вопрос имеется кабель JTAG для программирования сигнального процессора TI подойдёт ли он к программирыванию Spartana 3?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ishergin
сообщение May 10 2006, 19:56
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 130
Регистрация: 16-06-05
Из: Оренбург
Пользователь №: 6 039



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

Во небольшой пример (могут быть синтаксические ошибки)
Код
.....
.....

entiny XXX is
   port (
      clk : in std_logic; -- тактовый сигнал с периодом в 10 нс
      rst : in std_logic; -- сброс
      ena : in std_logic; -- сигнал разрешения
      byte1 : in std_logic_vector (7 downto 0);
      byte2 : in std_logic_vector (7 downto 0);
      byte_out : out std_logic_vector (7 downto 0)
   );
end XXX;

architecture behav of XXX is  

type tstate is (sm_Idle, sm_Byte2);

signal state : tstate;

sm_proc: process (clk, rst)
begin
  if rst = '1' then
    state <= sm_Idle;
  elsif rising_edge(clk) then
    case state of
      when sm_Idle =>
          if ena = '1'  then
             state <= sm_Byte2;
             byte_out <= byte1;
          end if;
      when sm_Byte1 =>
          byte_out <= byte2;
          state <= sm_Idle;
     end case;
  end if;
end process;

end XXX;


надеюсь пример поможет понят работу, засуньте его в симулятор какой нибудь smile.gif, так нагляднее...


--------------------
Программа выполнила невыполнимое и допустила недопустимое
Go to the top of the page
 
+Quote Post
BuTeK
сообщение May 11 2006, 18:37
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 67
Регистрация: 25-04-06
Из: Беларусь, Гомель
Пользователь №: 16 450



Всем спасибо!!! Действительно много нового узнал... И самое интересное, что такой оговорки при описании after нигде не встречал... Хотя часто встречал, что такое after применяют для избежания дребезга... И сейчас не могу понять от какого дребизга... при эмуляции дребезга ведь нет, а в реальную железку не запишется... или я что-то не так понимаю?!
А если ли внутренний генератор у Spartana 3? И программируется ли он? А то я раньше думал тоже программировать Clk спомощью after cool.gif
Go to the top of the page
 
+Quote Post
ishergin
сообщение May 11 2006, 19:46
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 130
Регистрация: 16-06-05
Из: Оренбург
Пользователь №: 6 039



Цитата(BuTeK @ May 12 2006, 00:37) *
Всем спасибо!!! Действительно много нового узнал... И самое интересное, что такой оговорки при описании after нигде не встречал... Хотя часто встречал, что такое after применяют для избежания дребезга... И сейчас не могу понять от какого дребизга... при эмуляции дребезга ведь нет, а в реальную железку не запишется... или я что-то не так понимаю?!
А если ли внутренний генератор у Spartana 3? И программируется ли он? А то я раньше думал тоже программировать Clk спомощью after cool.gif


Генератора нету, вам надо будет использовать внешний генератор, зато есть блок умножения частоты на 2.
В литературе по Verilog/VHDL обычно указываются какие конструкции языка являются синтезируемыми.

Вот пример подавления дребезга для железки (например от кнопки, которая подключена к плис)
Прикрепленный файл  Debounce.rar ( 2.58 килобайт ) Кол-во скачиваний: 137


ЗЫ. постарайтесь найти нармальную литературу smile.gif

Удачи!


--------------------
Программа выполнила невыполнимое и допустила недопустимое
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 06:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01443 секунд с 7
ELECTRONIX ©2004-2016