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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Quartus и VHDL, Как так-то...
hynter
сообщение Jul 6 2008, 09:46
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 29
Регистрация: 27-02-07
Пользователь №: 25 709



Здравствуйте. Помогите разобраться с логикой работы VHDL...Что-то вообще я её не понимаю...почитал...вроде всё логично, а начинаю делать - вообще никак...
Вот например:
На вход схемы приходит сигнал IRDYn, я его сразу же передаю на выход схемы RST:

RST<=IRDYn;

Сигнал выходит с задержкой на целый такт...Там, конечно, говориться про дельто-задержку...но не настолько же... Как мне сразу передать на выход данные?

Или вот ещё:

Создаю компонент, который будет сравнивать приходящий адрес (ADR1) и содержание BAR в конфигурационном пространстве для PCI:

ARCHITECTURE behavior OF ADR_CMP IS

begin
process(ADR1)
begin
if (ADR1 = BAR) then --Если адрес совпадает, то разрешаем доступ
ADREN<='1';
else
ADREN<='0'; ---Если нет - то нет...
end if;
end process;
end behavior;

В программе пишу:

SET_SIGNALS: process(ADREN)
begin
if (ADREN='1') then --Если разрешён доступ, то выставляем соответствующие сигналы
DEVSELn<='0';
TRDYn<='0';
DIREN_in<='1'; --Открытие буферных элементов для входнях сигналов
else
DEVSELn<='1';
TRDYn<='1';
DIREN_in<='0';
end if;
end process SET_SIGNALS;


Так вот, если в DIREN_in писать '1', то адрес не совпадает...но он же (DIREN_in) выставляется после того, как адрес определился...непонятно...

P.S. DIREN_in так же изменяет направление передачи данных с двунаправленой шины AD, по которой в фазе адреса приходит тот самый адрес, а в фазе данных должны уходить данные....Может поэтому глючит... wacko.gif
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jul 6 2008, 10:06
Сообщение #2


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Вы забываете про тактовую частоту и строку "if clk'event and clk = '1' then" иначе у Вас будут не тригеры, а защелки. Должно быть наподобии

Код
SET_SIGNALS: process(ADREN, clk)
begin
if clk'event and clk = '1' then
if (ADREN='1') then --Если разрешён доступ, то выставляем соответствующие сигналы
DEVSELn<='0';
TRDYn<='0';
DIREN_in<='1'; --Открытие буферных элементов для входнях сигналов
else
DEVSELn<='1';
TRDYn<='1';
DIREN_in<='0';
end if; end if;
end process SET_SIGNALS;

Передачу сигналов с входа на выход можно делать и вне процесса. В VHDL кроме сигналов есть и переменные(variable), которые видны внутри данного процесса и переменным присвоение происходит без всяких задержек.

P.S. Если это для контролёра PCI зайдите на opencores.org и скачайте реализацию ядра интерфейса шины PCI и посмотрите, как там это сделано. Просто PCI это не для новичка который только начинает разбираться в VHDL - это мое субъективное мнение smile.gif


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Jul 7 2008, 04:56
Сообщение #3


Полное ничтожество
*****

Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354



Цитата(Maverick @ Jul 6 2008, 14:06) *
Вы забываете про тактовую частоту и строку "if clk'event and clk = '1' then" иначе у Вас будут не тригеры, а защелки. Должно быть наподобии

Код
SET_SIGNALS: process(ADREN, clk)
begin
if clk'event and clk = '1' then
if (ADREN='1') then --Если разрешён доступ, то выставляем соответствующие сигналы
DEVSELn<='0';
TRDYn<='0';
DIREN_in<='1'; --Открытие буферных элементов для входнях сигналов
else
DEVSELn<='1';
TRDYn<='1';
DIREN_in<='0';
end if; end if;
end process SET_SIGNALS;

Передачу сигналов с входа на выход можно делать и вне процесса. В VHDL кроме сигналов есть и переменные(variable), которые видны внутри данного процесса и переменным присвоение происходит без всяких задержек.

P.S. Если это для контролёра PCI зайдите на opencores.org и скачайте реализацию ядра интерфейса шины PCI и посмотрите, как там это сделано. Просто PCI это не для новичка который только начинает разбираться в VHDL - это мое субъективное мнение smile.gif




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

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

на какой частоте симулируете???

процесс универсальное средство - я другими не пользуюсь например
и его не обязательно тактировать
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Jul 7 2008, 09:53
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Maverick - касательно
Код
if (ADREN='1') then --Если разрешён доступ, то выставляем соответствующие сигналы
    DEVSELn<='0';
    TRDYn<='0';
    DIREN_in<='1'; --Открытие буферных элементов для входнях сигналов
else
    DEVSELn<='1';
    TRDYn<='1';
    DIREN_in<='0';
els if;

и
Код
if (ADR1 = BAR) then --Если адрес совпадает, то разрешаем доступ
    ADREN<='1';
else
    ADREN<='0'; ---Если нет - то нет...
end if;

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

2 hynter - если вы роутите сигнал со входа на выход в architecture - то на выходе сигнал будет иметь только задержку , кторая равна времени прохождяния сигнала по пути внутри кристала - как роутер положит - если у вас большая частота и путь кривоватый - то оно может выйти так , что сигнал выйдет гораздо позже чем зашёл смотря по тактовой..
Go to the top of the page
 
+Quote Post
hynter
сообщение Jul 8 2008, 07:39
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 29
Регистрация: 27-02-07
Пользователь №: 25 709



Ага. Спасибо большое за разъяснение!! Очень помогло!!=)
Такой вопрос, всё-таки, остался...Вот есть кусок проги:

ST: process(CLK)
Begin
if CLK'event and CLK='1' then
CASE STAT is
when IDLE => If (FRAMEn='0') then
If (AD1=BAR) then STAT<=S_DATA; DEVSELn<='0';
else STAT<=B_BUSY; DEVSELn<='Z'; end if;

else STAT<=IDLE; AD1<=ZST; end if;

.................................
end case;

end if;

end process ST;

Сигналу DEVSELn значение упорно присваивается на целый такт позже чем это надо...То есть через такт после того, как выполняется условие AD1=BAR. Подскажите, пожалуйста, как этого избежать?
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Jul 8 2008, 08:01
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 hynter - а вы проведите эксперимент - сделайте простой сравнитель - без тактовых - и посмотрите когда на выходе будет 0 а когда 1 в зависимости от подаваемых данных - в принципе вы увидите что есть задержка - не сразу после подачи на вход данных у вас выставляется нужное значание. Ну а данные в тригере защёлкиваются по rising_edge вашего CLK. Видимо данне тоже меняются в момент переднего фронта и тригер просто защёлкивает предыдущее значение.

В обсчем загоните в Quartus или ISE или есчё куда нить - на какой кристал вы там ориентируетесь - и посмотрите в RTL-въювере - там тогда всё понятно станет ..
Go to the top of the page
 
+Quote Post
hynter
сообщение Jul 11 2008, 09:16
Сообщение #7


Участник
*

Группа: Новичок
Сообщений: 29
Регистрация: 27-02-07
Пользователь №: 25 709



Подскажите, пожалуйста, а как сохранить в переменную..или ещё куда данные?
В определённый момент приходят данные на вход CBEn, которые потом теряются с него => их необходимо сохранить.
Пишу:

------
shared variable CMD : std_logic_vector(3 downto 0):="ZZZZ";
------
Process(FRAMEn)
begin
if falling_edge(framen) then CMD:=CBEn; end if;
end process;

В результате в CMD не сохранятеся
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Jul 11 2008, 11:01
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 hynter - ну для начала
Код
signal CMD : std_logic_vector(3 downto 0):="0000";--initial value
...
Process(framen)
begin
    if ( falling_edge(framen) ) then
    CMD <= CBEn;
    end if;
end process;

это вы сварганили тригер, который срабатывает по falling_edge framen - данные заносятся в CMD - но если вы их выводить куда то или использовать далее не будете - то ессно синтезатор это выкинет - оптимизация понимаеш....
Go to the top of the page
 
+Quote Post
hynter
сообщение Jul 13 2008, 09:22
Сообщение #9


Участник
*

Группа: Новичок
Сообщений: 29
Регистрация: 27-02-07
Пользователь №: 25 709



Обьясните, пожалуйста, как же всё-такие это работает...В книжках одно пишут...на деле - другое...
Квартус половину функций не пропускает (например несколько WAITов в одном процессе)...список чувствиетльности вообще какая-то непонятная вещь...что туда ни пиши - получается, что он всё равно реагирует на все сигналы, которые в этом процессе проверяются...

Самый главный вопрос такой:

как передать данные, при их поступлении, сразу на выход?? Без всяких задержек...неужели он обычный провод синтезировать не может????

Сообщение отредактировал hynter - Jul 13 2008, 09:23
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Jul 14 2008, 04:37
Сообщение #10


Полное ничтожество
*****

Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354



Цитата(hynter @ Jul 13 2008, 13:22) *
Обьясните, пожалуйста, как же всё-такие это работает...В книжках одно пишут...на деле - другое...
Квартус половину функций не пропускает (например несколько WAITов в одном процессе)...список чувствиетльности вообще какая-то непонятная вещь...что туда ни пиши - получается, что он всё равно реагирует на все сигналы, которые в этом процессе проверяются...

Самый главный вопрос такой:

как передать данные, при их поступлении, сразу на выход?? Без всяких задержек...неужели он обычный провод синтезировать не может????


чето вы совсем темните

выход <= вход;

на самом деле порядка 3-5 наносекунд задержка на уровне вывода
сколько у вас задержка
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Jul 14 2008, 11:02
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 hynter - отвыкайте от wait - какпо мне - не сильно удобочитаемо - как то потыкался я в квартусе с этими вейтами - ни туда не сюда - да и забыл про них.
На счёт списка чувствительности - всё что читается в процессе или проверяется. Хотя если вы туда что то не напишите - нечего страшного не будет.
А на счёт
Цитата
как передать данные, при их поступлении, сразу на выход

ну так вам rv3dll(lex) написал
Код
out <= in;

Всё прекрасно работает и в планнере видится smile.gif
Go to the top of the page
 
+Quote Post
hynter
сообщение Jul 16 2008, 14:06
Сообщение #12


Участник
*

Группа: Новичок
Сообщений: 29
Регистрация: 27-02-07
Пользователь №: 25 709



Ага...понятно в чём косяк=) Оно так и должно задерживаться...а у нас же 33MHz...оно медленней и поэтому всё хорошо=) Спасибо большое!
Но вот такой теперь косяк:
Всё работает!
Комментирую подачу в выходной сигнал переменной, которая НИГДЕ НЕ ИСПОЛЬЗУЕТСЯ! ей просто присваивается значение - всё!! Летит вся прога вообще!! Одни неопределённые сигналы....вся диаграмма в крестах...

Как такое вообще может быть? Чего не так-то??
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Jul 16 2008, 14:39
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 hynter - ну что значит
Цитата
НИГДЕ НЕ ИСПОЛЬЗУЕТСЯ

понимаете в HDL языках понятие переменной немного не такое как в C++ ...
Посмотрите внимательно код - возможно она муксится где то или семафорит кому либо.

Или приведите код - телепаты то в отпуске - лето , море, пляж wassat.gif ....
Go to the top of the page
 
+Quote Post
hynter
сообщение Jul 17 2008, 12:14
Сообщение #14


Участник
*

Группа: Новичок
Сообщений: 29
Регистрация: 27-02-07
Пользователь №: 25 709



Цитата(Kuzmi4 @ Jul 16 2008, 18:39) *
Или приведите код....


Вот он код=)
Речь шла о сигналах RD_TX и CNF_RD (вывод, без которого не работает, помечен коментарием "--NEED")

Помогите пожалуйста разобраться...а то 24 сдавать уже всё это дело...а я недели 3 уже над этим бьюсь и никак не рвублюсь crying.gif
Прикрепленные файлы
Прикрепленный файл  VHDL.txt ( 9.22 килобайт ) Кол-во скачиваний: 106
 
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Jul 17 2008, 16:29
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 hynter - посмотримс на досуге ..

А кому сдавать то - не диплом хоть ?

------------------
навскидку что видно , пока не ушёл домой:
Код
--*********
--*SIGNALS*
--*********
NOT_WE    <= '0' when (FRAMEn='0' and AD1=ADR ) else '1' when (DONE='0') else 'Z';   --Не распознан адрес
RD_TX     <= '1' when (FRAMEn='0' and CNF(4)=AD1) else '0';                          --Транзакция чтения данных  and CBEn="0010"
CNF_RD    <= '1' when (FRAMEn='0' and IDSEL='1' and CBEn="1010") else '0';           --Транзакция чтения конфигурации
CNF_WR    <= '1' when (FRAMEn='0' and IDSEL='1' and CBEn="1011") else '0';           --Транзакция записи конфигурации
DONE      <= '1' when (FRAMEn='1' and IRDYn='1') else '0';                           --Транзакция Закончена

А далее
Код
OUT2(0)<=NOT_WE;
OUT2(1)<=RD_TX;  ---NEED!!
OUT2(2)<=CNF_RD; ---NEED!!
OUT2(3)<=CNF_WR;

Сделайте
Код
OUT2(0)<=NOT_WE;
OUT2(1)<='0';
OUT2(2)<='0';
OUT2(3)<=CNF_WR;

И будет вам счастие - выводы 1 и 2 порта OUT будут в нуле вечно, и синтезатор по идее должен выкинуть RD_TX и CNF_RD вообсче как ненужные..

Или тут должно быть чтото хитрей ?
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Jul 18 2008, 08:09
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Посмотрел в обсчем я ваш код - стэйт машины там у вас страшные (RTL в 1 лист блин не вмещается sad.gif, хотя задача не такая и сложная), я бы по другому немного реализовал а то латчи вставляет вам там, ну да ладно.
Итак - чем не подходит вариант
Код
OUT2(1)<='0';
OUT2(2)<='0';
??
Go to the top of the page
 
+Quote Post
hynter
сообщение Jul 18 2008, 09:01
Сообщение #17


Участник
*

Группа: Новичок
Сообщений: 29
Регистрация: 27-02-07
Пользователь №: 25 709



Со стэйт машинами я тут долго мудрил...вот нашёл в квартусе уже готовую часть нечто похожего на то, что мне нужно...покопался в коде и взял их оттуда..вот..

Вариант с OUT(1) - подошёл. Спасибо большое за подсказку! А вот там, где OUT(2)<=CNF_RD, при замене на '0' летит диаграмма вывода данных на AD1 при попадании на процедуру CONF_READ, хотя все управляющие сигналы DEVSELn, TRDYn, STOPn и PAR выставляются правильно...

И ещё при конфигурировании, то есть CNF_WR='1' засчёлкивается адрес, присвоенный моему устройству, в ADR. Он пишется правильно и храниться до конца работы. С этим адресом нужно сравнивать приходящий на AD1 код, что и делается в строчке:

RD_TX <= '0' when (FRAMEn='0' and AD1=ADR) else '1';

так вот, если писать так, то при сравнении AD1 и ADR, все сигналы становятся неопределёнными...а если задать адрес в переменную, то всё работает:

RD_TX <= '0' when (FRAMEn='0' and AD1=CNF(4)) else '1';

Сообщение отредактировал hynter - Jul 18 2008, 09:05
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Jul 18 2008, 09:11
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 hynter - ступил малёхо, вы
Код
CNF_RD

Заюзываете в процессе раздачи тасков
Код
--**************************
--*STATE_mashine_controller*
--**************************

process(NOT_WE,CNF_WR,CNF_RD,DONE,OTHER_CMD)
begin    
  case STAT is      
       when IDLE =>
          if    (NOT_WE='0') then  if CBEn="0010" then nxt_stat<=S_DATA;
                              else nxt_stat<=BACKOFF; end if;
!!!       elsif (CNF_RD='1')     then nxt_stat<=CONF_RD;
          elsif (CNF_WR='1')     then nxt_stat<=CONF_WR;

И есчё вот тут
Код
--Сохранение адреса читаемого регистра в пространстве конфигурации
Process(CNF_RD)  
begin
  if (CNF_RD'event and CNF_RD='1') then ADDR <= AD1(7 downto 2); end if;  
end process;

Ототго видно и валится. Не ненужный это сигнал оказался(ADDR кстати в вашей процедуре в стэйт-машине как раз присутствует)..
Так что наверно следут оставить его в покое...
Внимательней надо быть, этож ваш код..
Go to the top of the page
 
+Quote Post
hynter
сообщение Jul 18 2008, 10:01
Сообщение #19


Участник
*

Группа: Новичок
Сообщений: 29
Регистрация: 27-02-07
Пользователь №: 25 709



Я и не говорил, что CHF_RD не нужен! Как раз-таки очень нужный это сигнал.... Я сказал, что выводить его на OUT2(2) нет необходимости...я когда отлаживал - выводил и смотрел его состояние.....а когда всё заработало - я его (этот вывод) удалил и всё полетело...вот в чём вопрос....
Ну, впринципе, да и ладно бы с ним...пускай выводится...просто не буду назначать эти пины на саму ПЛИСину...

А вот ADDR я и не трогаю! С ним вообще всё отлично...сохраняется...распознаётся..выводится куда надо...засада в следующей засчёлке:

--Сохранение адреса устройства в регистр адреса в пространстве конфигурации
Process(CNF_WR)
begin
if (CNF_WR'event and CNF_WR='0') then ADR:= AD1(31 downto 2)&"01" ; end if;
end process;

вот с этим ADR-ом упорно не хочет корректно сравниваться...

Сообщение отредактировал hynter - Jul 18 2008, 10:02
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Jul 18 2008, 10:15
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 hynter - меня тут смущают огромное кол-во shared variablе..
Хотя я тоже в замешательстве почему так...

Было б меньше листов RTL-я можно былоб посмотреть - тогда точно б стало всё ясно, а так...
В принципе я бы реализовал через муксы AD и там защёлок не нужно было б на выходе, хотя я так глядел - есть там муксы вроде..
Короче советую углубиться в изучение RTL и избавиться от shared variable - signal`ами позменять посмотреть..
Go to the top of the page
 
+Quote Post
hynter
сообщение Jul 18 2008, 10:57
Сообщение #21


Участник
*

Группа: Новичок
Сообщений: 29
Регистрация: 27-02-07
Пользователь №: 25 709



Хорошо!=) Спасибо большое за помощь!
А RTL - это чё это и где это найти?? =)
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Jul 18 2008, 12:19
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 hynter - показываю:
Прикрепленное изображение

RTL - это сокращение от register transfer level - ну типа как в MaxPlusII вы оперируете элементарными компонентами.
Memory Mapped - это как оно будет реализовано в FPGA.
Chip Planner - это как будет ложиться в FPGA - именно в ваш кристал..
Go to the top of the page
 
+Quote Post
hynter
сообщение Jul 19 2008, 14:05
Сообщение #23


Участник
*

Группа: Новичок
Сообщений: 29
Регистрация: 27-02-07
Пользователь №: 25 709



Понял почему такая фигня происходит! У меня ПЛИС EPM3256ATI144-10...она слишком медленная оказалась...если запустить на другой, со скоростью -5, то всё работате....беда только в том, что я никак не могу найти такую ПЛИС, да чтобы ешё и Индастриал была.....что делать...ума ни приложу....
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Jul 19 2008, 14:42
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 hynter - какая фигня ?
Go to the top of the page
 
+Quote Post
hynter
сообщение Jul 19 2008, 15:03
Сообщение #25


Участник
*

Группа: Новичок
Сообщений: 29
Регистрация: 27-02-07
Пользователь №: 25 709



Как какая....всё та же: перестаёт работать, если удалить вывод OUT2(2)<=CNF_RD, все сигналы становятся неопределёнными, при сравнивании данных на AD1 и того, что помещено в ADR...если взять другую плисину, ну, например, EPM7256AEFC256-5, то всё работает отлично и никаких глюков не происходит...
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Jul 19 2008, 15:08
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 hynter - хм... есчё один прикол с цплд - там расказывали что лапы разводиь как хочеш нельзя...

EPM3ххх - это мах3000 - там по моему мемори маппед вроде и не посмотреть (чип планнер тоже) - так что как оно так хитро лягло в камне видимо останется загадкой....
Go to the top of the page
 
+Quote Post
hynter
сообщение Jul 19 2008, 16:37
Сообщение #27


Участник
*

Группа: Новичок
Сообщений: 29
Регистрация: 27-02-07
Пользователь №: 25 709



Цитата(hynter @ Jul 19 2008, 18:05) *
Понял почему такая фигня происходит! ...


А нет...шутка...всё равно не работает...правда теперь в другом месте...
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Jul 19 2008, 18:10
Сообщение #28


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 hynter - мдя...
в обсчем советую заюзать моделсим или в квартусе поотводить вайры в ключевых местах - тут по ходу надо вникнуть в суть дела - кстати, если всё и так работает а сроки горят , то вы можете просто эти вайры не заюзывать, хотя там косяки могут в другом каком нить месте вылезти... Не совсем наш метод sad.gif
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd August 2025 - 23:39
Рейтинг@Mail.ru


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