toweroff 1 17 декабря, 2014 Опубликовано 17 декабря, 2014 · Жалоба :bb-offtopic: а уписать 8088 в циклон не получится? и освободиться вообще от этой платы :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
justontime 0 17 декабря, 2014 Опубликовано 17 декабря, 2014 · Жалоба :bb-offtopic: а уписать 8088 в циклон не получится? и освободиться вообще от этой платы :) Есть еще вариант - взять мой нынешний компьютер на фиг знает каком жутко крутом процессоре, и вообще не мучиться :) Вообще весь смысл затеи в том, чтобы сделать что-то типа XT совместимого компьютера, но с настоящим процессором (и некоторыми другими основными микросхемами обвязки). Т.е. с утилитарной точки зрения смысла, естественно, нет никакого :) А так есть куча проектов, где полностью внутри FPGA не то, что XT, а нормальные AT сделаны... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 17 декабря, 2014 Опубликовано 17 декабря, 2014 · Жалоба Хотя я в (далеком) прошлом программист, мне очень сложно утрясти в голове VHDL (и прочее подобное). Намного проще на бумажке набросать хотя бы приблизительную схему, и уже по ней пытаться что-то сделать. Я бы вообще делал бы большую часть схемным дизайном, но тот же Quartus не очень под это дело заточен... Это, на самом деле, абсолютно нормально. Для начала, так и надо делать - начинать со схем, а потом вникать, как ту, или иную схемотехническую конструкцию, описать на HDL. А уже потом уходить в какие-то более абстрактные абстракции возможностей описания аппаратуры. Вот Вам в помощь документик полезный. Он, хоть, и не про альтеру, и не про VHDL (на него сами перенесете с верилога), но, начиная со стр.6-10 там очень подробно расписано, какие языковые конструкции синтезируются в какие схемотехнические элементы (к сожалению, по VHDL я такого не знаю): document.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
justontime 0 18 декабря, 2014 Опубликовано 18 декабря, 2014 · Жалоба Во, я такой документ (правда, по VHDL) как раз искал, спасибо ! А по моему проекту я нахожусь в полной прострации - результаты ночных экспериментов ясности не только не внесли, а наоборот, еще больше запутали. Так что пока беру паузу и пытаюсь придумать, как точнее локализовать проблему (может, к сожалению, даже не одну)... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
justontime 0 18 декабря, 2014 Опубликовано 18 декабря, 2014 · Жалоба Я предполагал, что все у Вас обойдется более простой реализацией: if (rising_edge(CLK)) then RAMOn <= MRDCn; end if; то есть, просто задержка на 1 такт. К сожалению, даже с этим изменением после 9 часов работы теста произошла все та же (насколько могу судить) ошибка... Я уже начинаю снова возвращаться к мысли, что дело может быть в случайных помехах, а не во времянках... Пока думаю над тем, как поточнее локализовать причину, или хотя бы добиться большей регулярности сбоя. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 18 декабря, 2014 Опубликовано 18 декабря, 2014 · Жалоба К сожалению, даже с этим изменением после 9 часов работы теста произошла все та же (насколько могу судить) ошибка... Значит, она не совсем там. Однозначно, на этом пути: память->FPGA->транслятор->проц, но она может быть на любом из этих участков... Нет там никаких случайных помех, с вероятностью 99% Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
justontime 0 24 января, 2015 Опубликовано 24 января, 2015 · Жалоба Вряд ли кому это реально интересно, но для полноты картины... Итак, вроде решил проблему. Правда, без точного знания причины... После безуспешных предыдущих мучений попробовал сгенерировать память прямо в FPGA, и она заработала без сбоев, хотя вроде была подключена совершенно идентично внешней памяти. Так как были более насущные задачи, эту проблему отложил и некоторое время не думал о ней. Но тут вдруг в голову пришла мысль - адресная шина внутренней памяти имеет клок, тогда как шина адреса внешней SRAM - без клока, полностью асинхронная. Не сильно вдаваясь во времянки еще и шины адреса (до этого все разборки были вокруг шины данных), просто поставил регистр на шину адреса, тактируемый таковым сигналом процессора (в свое время использовал этот же сигнал для встроенной памяти, чтобы не ломать голову насчет лучшего источника). И после этого все заработало ! Пока нет особого желания разбираться в самых корнях проблемы, но навскидку ничего не вижу - вроде адрес и так должен держаться процессором с большим запасом (младшие 8 и старшие 4 линии я и так, естественно, защелкивал). Пока устраивает, что заработало, и ладно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться