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

Работа шины процессора 8088

:bb-offtopic:

а уписать 8088 в циклон не получится? и освободиться вообще от этой платы :)

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


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

:bb-offtopic:

а уписать 8088 в циклон не получится? и освободиться вообще от этой платы :)

 

Есть еще вариант - взять мой нынешний компьютер на фиг знает каком жутко крутом процессоре, и вообще не мучиться :)

 

Вообще весь смысл затеи в том, чтобы сделать что-то типа XT совместимого компьютера, но с настоящим процессором (и некоторыми другими основными микросхемами обвязки). Т.е. с утилитарной точки зрения смысла, естественно, нет никакого :)

 

А так есть куча проектов, где полностью внутри FPGA не то, что XT, а нормальные AT сделаны...

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


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

Хотя я в (далеком) прошлом программист, мне очень сложно утрясти в голове VHDL (и прочее подобное). Намного проще на бумажке набросать хотя бы приблизительную схему, и уже по ней пытаться что-то сделать. Я бы вообще делал бы большую часть схемным дизайном, но тот же Quartus не очень под это дело заточен...

Это, на самом деле, абсолютно нормально. Для начала, так и надо делать - начинать со схем, а потом вникать, как ту, или иную схемотехническую конструкцию, описать на HDL. А уже потом уходить в какие-то более абстрактные абстракции возможностей описания аппаратуры.

Вот Вам в помощь документик полезный. Он, хоть, и не про альтеру, и не про VHDL (на него сами перенесете с верилога), но, начиная со стр.6-10 там очень подробно расписано, какие языковые конструкции синтезируются в какие схемотехнические элементы (к сожалению, по VHDL я такого не знаю):

document.pdf

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


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

Во, я такой документ (правда, по VHDL) как раз искал, спасибо !

 

А по моему проекту я нахожусь в полной прострации - результаты ночных экспериментов ясности не только не внесли, а наоборот, еще больше запутали. Так что пока беру паузу и пытаюсь придумать, как точнее локализовать проблему (может, к сожалению, даже не одну)...

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


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

Я предполагал, что все у Вас обойдется более простой реализацией:

 

if (rising_edge(CLK)) then

RAMOn <= MRDCn;

end if;

 

то есть, просто задержка на 1 такт.

 

К сожалению, даже с этим изменением после 9 часов работы теста произошла все та же (насколько могу судить) ошибка... Я уже начинаю снова возвращаться к мысли, что дело может быть в случайных помехах, а не во времянках...

 

Пока думаю над тем, как поточнее локализовать причину, или хотя бы добиться большей регулярности сбоя.

 

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


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

К сожалению, даже с этим изменением после 9 часов работы теста произошла все та же (насколько могу судить) ошибка...

Значит, она не совсем там. Однозначно, на этом пути: память->FPGA->транслятор->проц, но она может быть на любом из этих участков... Нет там никаких случайных помех, с вероятностью 99%

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


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

Вряд ли кому это реально интересно, но для полноты картины...

 

Итак, вроде решил проблему. Правда, без точного знания причины... После безуспешных предыдущих мучений попробовал сгенерировать память прямо в FPGA, и она заработала без сбоев, хотя вроде была подключена совершенно идентично внешней памяти. Так как были более насущные задачи, эту проблему отложил и некоторое время не думал о ней. Но тут вдруг в голову пришла мысль - адресная шина внутренней памяти имеет клок, тогда как шина адреса внешней SRAM - без клока, полностью асинхронная.

 

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

 

И после этого все заработало ! Пока нет особого желания разбираться в самых корнях проблемы, но навскидку ничего не вижу - вроде адрес и так должен держаться процессором с большим запасом (младшие 8 и старшие 4 линии я и так, естественно, защелкивал). Пока устраивает, что заработало, и ладно.

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


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

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

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

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

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

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

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

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

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

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