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

Описание стека на Verilog

вот и выздоровил:)

 

так как на счет такой реализации контроллера

output [7:0] to_bus - данные передающиеся шине из стека

output [7:0] to_stack - данные из шины на запись в стек

output rd - сигнал управления стеком(на считывание)

output wr - сигнал управления (на запись)

input [7:0] from_bus - данные из шины

input [7:0] from_stack - данные из стека

 

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

И еще вопросик, у нас адрес будет идти по отдельному проводу или по шине from_bus?

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


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

вот и выздоровил :)

 

так как на счет такой реализации контроллера

output [7:0] to_bus - данные передающиеся шине из стека

output [7:0] to_stack - данные из шины на запись в стек

output rd - сигнал управления стеком(на считывание)

output wr - сигнал управления (на запись)

input [7:0] from_bus - данные из шины

input [7:0] from_stack - данные из стека

 

4 шины для обмена со стеком слишком много, достаточно 2х - данные для записи и прочтенные данные

 

впервую очередь проверяем from_bus, сверяем адрес,
Адрес лучше проверить снаружи, в сам контролер завести только cs

 

если подходит то начинаем считывать команду wr/rd и отправляем сигнал wr/rd, для подготовки стека к записи/чтению, затем непосредственно передача данных.
Какие подготовки, какие передачи данных :wacko: Такое впечатление, что у тебя в стеке конвеер стадий на 10, не меньше :) Чтение и запись производятся НЕПОСРЕДСТВЕННО при выставлении сигналов rd/wr. Запись данных производится в этом же клоке (данные должны уже стоять на шине), чтение можно производить уже на следующем клоке (на данном клоке прочтенные данные фиксируются на выходной шине)

 

И еще вопросик, у нас адрес будет идти по отдельному проводу или по шине from_bus?
Адреса на будет, будет один сигнал cs

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


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

там не 4 шины для обмена со стеком, 2 на стек и 2 на шину, все это проходит через контроллер, может поэтому возникло ощущение что на стек идет 4 шины:)

cs - это что, clock?:)

Ладно в течение дня попробую написать код для контроллера, покажу что получилось:)

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


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

там не 4 шины для обмена со стеком, 2 на стек и 2 на шину, все это проходит через контроллер, может поэтому возникло ощущение что на стек идет 4 шины :)
Сам стек должен быть внутри, иначе этот контролер вырождается в набор проводов

cs - это что, clock? :)
Это ChipSelect, выбор контролера, clock должен быть заведен отдельно

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


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

я не понимаю принцип действия контроллера:( какую роль он должен играть и какие выполнять функции, или он просто открывает доступ к стеку? на верилоге это тупое присвоение данных с шины на стек что ли? и еще вопрос, как реализовать подачу клока контроллером стеку? или у нас синхроимпульс один на все: шину, контроллер и стек?

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


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

я не понимаю принцип действия контроллера :(
Если его (контролер) расматривать отдельно от собственно стека - то я то же не понимаю :)

 

какую роль он должен играть и какие выполнять функции, или он просто открывает доступ к стеку? на верилоге это тупое присвоение данных с шины на стек что ли?
Именно. Я про это и говорил - весь модуль контроллера (без собственно стека) будет просто набором проводов.

 

и еще вопрос, как реализовать подачу клока контроллером стеку? или у нас синхроимпульс один на все: шину, контроллер и стек?
Один на всех, всем подавать через пин в интерфейсе

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


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

а как его делать, вместе со стеком? и опять же он получается будет всего лишь разрешать передачу данных? Или в принцпе можно его сделать и как набор проводов, отдально от стека, да?

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


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

а как его делать, вместе со стеком?
Он собственно и будет стеком

 

и опять же он получается будет всего лишь разрешать передачу данных?
Если вместе со стеком, то не только набор проводов, там еще будет память, на которой собственно и расположен стек и реверсивный счетчик - указатель верхушки стека (ну еще немного логики, что бы это все связать в кучку)

 

Или в принцпе можно его сделать и как набор проводов, отдально от стека, да?
Можно, но смысла в таком модуле нет никакого.

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


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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...