|
Работа шины процессора 8088 |
|
|
|
Dec 17 2014, 16:06
|
Местный
  
Группа: Свой
Сообщений: 254
Регистрация: 6-12-14
Из: СПб
Пользователь №: 84 003

|
Цитата(toweroff @ Dec 17 2014, 16:15)  а уписать 8088 в циклон не получится? и освободиться вообще от этой платы  Есть еще вариант - взять мой нынешний компьютер на фиг знает каком жутко крутом процессоре, и вообще не мучиться  Вообще весь смысл затеи в том, чтобы сделать что-то типа XT совместимого компьютера, но с настоящим процессором (и некоторыми другими основными микросхемами обвязки). Т.е. с утилитарной точки зрения смысла, естественно, нет никакого  А так есть куча проектов, где полностью внутри FPGA не то, что XT, а нормальные AT сделаны...
|
|
|
|
|
Dec 17 2014, 23:03
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(justontime @ Dec 17 2014, 17:29)  Хотя я в (далеком) прошлом программист, мне очень сложно утрясти в голове VHDL (и прочее подобное). Намного проще на бумажке набросать хотя бы приблизительную схему, и уже по ней пытаться что-то сделать. Я бы вообще делал бы большую часть схемным дизайном, но тот же Quartus не очень под это дело заточен... Это, на самом деле, абсолютно нормально. Для начала, так и надо делать - начинать со схем, а потом вникать, как ту, или иную схемотехническую конструкцию, описать на HDL. А уже потом уходить в какие-то более абстрактные абстракции возможностей описания аппаратуры. Вот Вам в помощь документик полезный. Он, хоть, и не про альтеру, и не про VHDL (на него сами перенесете с верилога), но, начиная со стр.6-10 там очень подробно расписано, какие языковые конструкции синтезируются в какие схемотехнические элементы (к сожалению, по VHDL я такого не знаю):
|
|
|
|
|
Dec 18 2014, 17:07
|
Местный
  
Группа: Свой
Сообщений: 254
Регистрация: 6-12-14
Из: СПб
Пользователь №: 84 003

|
Цитата(SM @ Dec 17 2014, 15:37)  Я предполагал, что все у Вас обойдется более простой реализацией:
if (rising_edge(CLK)) then RAMOn <= MRDCn; end if;
то есть, просто задержка на 1 такт. К сожалению, даже с этим изменением после 9 часов работы теста произошла все та же (насколько могу судить) ошибка... Я уже начинаю снова возвращаться к мысли, что дело может быть в случайных помехах, а не во времянках... Пока думаю над тем, как поточнее локализовать причину, или хотя бы добиться большей регулярности сбоя.
|
|
|
|
|
Jan 24 2015, 12:48
|
Местный
  
Группа: Свой
Сообщений: 254
Регистрация: 6-12-14
Из: СПб
Пользователь №: 84 003

|
Вряд ли кому это реально интересно, но для полноты картины...
Итак, вроде решил проблему. Правда, без точного знания причины... После безуспешных предыдущих мучений попробовал сгенерировать память прямо в FPGA, и она заработала без сбоев, хотя вроде была подключена совершенно идентично внешней памяти. Так как были более насущные задачи, эту проблему отложил и некоторое время не думал о ней. Но тут вдруг в голову пришла мысль - адресная шина внутренней памяти имеет клок, тогда как шина адреса внешней SRAM - без клока, полностью асинхронная.
Не сильно вдаваясь во времянки еще и шины адреса (до этого все разборки были вокруг шины данных), просто поставил регистр на шину адреса, тактируемый таковым сигналом процессора (в свое время использовал этот же сигнал для встроенной памяти, чтобы не ломать голову насчет лучшего источника).
И после этого все заработало ! Пока нет особого желания разбираться в самых корнях проблемы, но навскидку ничего не вижу - вроде адрес и так должен держаться процессором с большим запасом (младшие 8 и старшие 4 линии я и так, естественно, защелкивал). Пока устраивает, что заработало, и ладно.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|