State_Maschine

Jul 03, 2006 113 Replies

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Kirill Frolov! You wrote in conference fido7.ru.embedded to Alex Gavrikov on Tue, 11 Jul

2006 16:47:58 +0000 (UTC):

KF> KF>>> íÎÅ ÜÔÏ ÎÅ ÉÎÔÅÒÅÓÎÏ zanimatxsq perekompilqciej wsqkoj =u[i, ÔÅÍ

KF> ðÏÓÍÏÔÒÉÍ ËÁË Õ ×ÁÓ ÚÁÇÌÀÞÉÔ, ÅÓÌÉ ÐÉÎÇ -- ÂÏÌØÛÅ ÓÅËÕÎÄÙ...

á ÔÙ ethernet'ÏÍ ÐÏÄËÌÀÞÉÓØ...

dima

formatting link

Здравствуйте, Уважаемый Slav!

Tue Jul 11 2006 17:37, Slav Matveev wrote to Olga Nonova:

ON>> Вспомнила! Видела у Phillips-а пример... ON>> .... Там статус-регистр I2C использовался напрямую в ON>> качестве младшего байта адреса ветвления. Старщий назначался ON>> принудительно в свободной странице кодов. Все это, естественно, на ON>> ассемблере (Metalink). Интересно, как бы такое же реализовать на С ?

SM> надо полагать что разницы в адресах было достаточно для SM> обработчиков? что предлагается делать, если статусный регистр SM> отличается на единицу для двух состояний. Одного машинного слова SM> будет достаточно хотя бы для jmp'а на нужный код?

Филипсоиды сразу заложили интервал между стайтами в 8-мь инструкций. И представили пример, когда драйверу I2С вполне хватает этого прмежутка, чтобы реализовать сабж без таблицы jmp-ов. Я не знаю, как сейчас обстоят дела у Phillips, но подозреваю, что преемственность конструирования узлов кристаллов сохранена в первозданном виде.

Всего Вам Хорошего Ольга

SM> подозреваю что табличный вызов даст похожий результат.

SM> Slav.

Hi Dmitry!

11 Jul 06 20:53, Dmitry Orlov wrote to Kirill Frolov:

KF>> ðÏÓÍÏÔÒÉÍ ËÁË Õ ×ÁÓ ÚÁÇÌÀÞÉÔ, ÅÓÌÉ ÐÉÎÇ -- ÂÏÌØÛÅ ÓÅËÕÎÄÙ...

DO> á ÔÙ ethernet'ÏÍ ÐÏÄËÌÀÞÉÓØ...

äÉÍÁ, ÐÏÒÁ ÐÒÏÓÎÕÔØÓÑ...

traceroute to merkazherzog.org.il (212.179.113.110), 30 hops max, 38 byte packets

÷ÏÔ ÜÔÏ ÅÝÅ ÒÏÓÓÉÊÓËÉÊ, É, ×ÅÒÏÑÔÎÏ, ÜÚÅÒÎÅÔ:

3 Moscow-BNS041-Fa0-0-111.free.net (194.85.178.122) 3.809 ms 3.837 ms 2.963 ms

4 tv11-1-gw.msk.runnet.ru (194.190.255.33) 4.260 ms 5.625 ms 5.552 ms á ×ÏÔ ÜÔÏ, ÕÖÅ ÎÅ ÒÏÓÓÉÊÓËÉÊ, É, ×ÉÄÉÍÏ, ÓÕÐÅÒ-ÐÕÒÐÅÒ ÄÅÛÅ×ÙÊ É ÍÁÓÓÏ×ÙÊ adsl:

17 bzq-117-239-66.cust.bezeqint.net (192.117.239.66) 120.364 ms 126.158 ms *

18 * * * 19 * * * 20 * * * 21 * * bzq-219-188-10.dsl.bezeqint.net (62.219.188.10) 244.944 ms 22 bzq-25-64-146.cust.bezeqint.net (212.25.64.146) 244.328 ms 245.829 ms 406.937 ms þÅÍ ÂÙ Ñ ÎÅ ÐÏÄËÌÀÞÉÌÓÑ, Ñ ×ÒÑÄÌÉ ÓÍÏÇÕ ÕÓËÏÒÉÔØ ×ÁÛ ÐÉÎÇ × 400 ms.

Slav.

Hi Olga!

11 Jul 06 22:49, Olga Nonova wrote to Slav Matveev:

SM>> ÏÂÒÁÂÏÔÞÉËÏ×? ÞÔÏ ÐÒÅÄÌÁÇÁÅÔÓÑ ÄÅÌÁÔØ, ÅÓÌÉ ÓÔÁÔÕÓÎÙÊ ÒÅÇÉÓÔÒ SM>> ÏÔÌÉÞÁÅÔÓÑ ÎÁ ÅÄÉÎÉÃÕ ÄÌÑ Ä×ÕÈ ÓÏÓÔÏÑÎÉÊ. ïÄÎÏÇÏ ÍÁÛÉÎÎÏÇÏ SM>> ÓÌÏ×Á ÂÕÄÅÔ ÄÏÓÔÁÔÏÞÎÏ ÈÏÔÑ ÂÙ ÄÌÑ jmp'Á ÎÁ ÎÕÖÎÙÊ ËÏÄ?

ON> æÉÌÉÐÓÏÉÄÙ ÓÒÁÚÕ ÚÁÌÏÖÉÌÉ ÉÎÔÅÒ×ÁÌ ÍÅÖÄÕ ÓÔÁÊÔÁÍÉ × 8-ÍØ ÉÎÓÔÒÕËÃÉÊ. ON> é ÐÒÅÄÓÔÁ×ÉÌÉ ÐÒÉÍÅÒ, ËÏÇÄÁ ÄÒÁÊ×ÅÒÕ I2ó ×ÐÏÌÎÅ È×ÁÔÁÅÔ ÜÔÏÇÏ ON> ÐÒÍÅÖÕÔËÁ, ÞÔÏÂÙ ÒÅÁÌÉÚÏ×ÁÔØ ÓÁÂÖ ÂÅÚ ÔÁÂÌÉÃÙ jmp-Ï×. ñ ÎÅ ÚÎÁÀ, ËÁË ON> ÓÅÊÞÁÓ ÏÂÓÔÏÑÔ ÄÅÌÁ Õ Phillips, ÎÏ ÐÏÄÏÚÒÅ×ÁÀ, ÞÔÏ ÐÒÅÅÍÓÔ×ÅÎÎÏÓÔØ ON> ËÏÎÓÔÒÕÉÒÏ×ÁÎÉÑ ÕÚÌÏ× ËÒÉÓÔÁÌÌÏ× ÓÏÈÒÁÎÅÎÁ × ÐÅÒ×ÏÚÄÁÎÎÏÍ ×ÉÄÅ.

8 ÉÎÓÔÒÕËÃÉÊ - ÔÒÉ ÂÉÔÁ ÁÄÒÅÓÁ. ðÒÅÄÌÁÇÁÅÔÅ ÏÔËÁÚÁÔØÓÑ ÏÔ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÔÒÅÈ ÍÌÁÄÛÉÈ ÂÉÔ ÒÅÇÉÓÔÒÁ ×/× ÉÌÉ ÐÏÓÔÏÑÎÎÏ ÄÅÌÁÔØ ÓÄ×ÉÇ ÎÁ 3?

Slav.

,-' Hello, Kirill Frolov! How is your connection today?

ëÁËÏÅ ÏÔÎÏÛÅÎÉÅ ÉÍÅÅÔ ÐÉÎÇ Ë ËÒÉ×ÏÍÕ ÐÅÒÅËÌÀÞÅÎÉÀ ÒÁÓËÌÁÄÏË? :-)

`-._ --- Alexander Kocharin --- ... þÅÍ ÂÏÌØÛÅ ÕÚÎÁÀ ÌÀÄÅÊ, ÔÅÍ ÂÏÌØÛÅ ÎÒÁ×ÉÔÓÑ ËÏÍÐØÀÔÅÒ...

Здравствуйте, Уважаемый Slav!

Wed Jul 12 2006 10:59, Slav Matveev wrote to Olga Nonova:

ON>> Филипсоиды сразу заложили интервал между стайтами в 8-мь инструкций. ON>> И представили пример, когда драйверу I2С вполне хватает этого ON>> прмежутка, чтобы реализовать сабж без таблицы jmp-ов.

SM> 8 инструкций - три бита адреса. Предлагаете отказаться от SM> использования трех младших бит регистра в/в или постоянно SM> делать сдвиг на 3?

Я ничего не предлагаю. Это Phillips СПЕЦИАЛЬНО так назначил состояния регистра I2С. Т.е. регистр статуса принимает значеня: 0,8,16,24.... Как видите, совсем не любимое для switch: 0,1,2,3...

Всего Вам Хорошего Ольга

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Olga Nonova! You wrote in conference fido7.ru.embedded to Slav Matveev on Wed, 12 Jul

2006 10:11:16 +0000 (UTC):

ON> úÄÒÁ×ÓÔ×ÕÊÔÅ, õ×ÁÖÁÅÍÙÊ Slav!

ON> Wed Jul 12 2006 10:59, Slav Matveev wrote to Olga Nonova:

ON>>> æÉÌÉÐÓÏÉÄÙ ÓÒÁÚÕ ÚÁÌÏÖÉÌÉ ÉÎÔÅÒ×ÁÌ ÍÅÖÄÕ ÓÔÁÊÔÁÍÉ × 8-ÍØ ON>>> ÉÎÓÔÒÕËÃÉÊ. ON>>> é ÐÒÅÄÓÔÁ×ÉÌÉ ÐÒÉÍÅÒ, ËÏÇÄÁ ÄÒÁÊ×ÅÒÕ I2ó ×ÐÏÌÎÅ È×ÁÔÁÅÔ ÜÔÏÇÏ ON>>> ÐÒÍÅÖÕÔËÁ, ÞÔÏÂÙ ÒÅÁÌÉÚÏ×ÁÔØ ÓÁÂÖ ÂÅÚ ÔÁÂÌÉÃÙ jmp-Ï×.

SM>> 8 ÉÎÓÔÒÕËÃÉÊ - ÔÒÉ ÂÉÔÁ ÁÄÒÅÓÁ. ðÒÅÄÌÁÇÁÅÔÅ ÏÔËÁÚÁÔØÓÑ ÏÔ SM>> ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÔÒÅÈ ÍÌÁÄÛÉÈ ÂÉÔ ÒÅÇÉÓÔÒÁ ×/× ÉÌÉ ÐÏÓÔÏÑÎÎÏ SM>> ÄÅÌÁÔØ ÓÄ×ÉÇ ÎÁ 3?

ON> ñ ÎÉÞÅÇÏ ÎÅ ÐÒÅÄÌÁÇÁÀ. üÔÏ Phillips óðåãéáìøîï ÔÁË ÎÁÚÎÁÞÉÌ ON> ÓÏÓÔÏÑÎÉÑ ÒÅÇÉÓÔÒÁ ON> I2ó. ô.Å. ÒÅÇÉÓÔÒ ÓÔÁÔÕÓÁ ÐÒÉÎÉÍÁÅÔ ÚÎÁÞÅÎÑ: 0,8,16,24.... ëÁË ON> ×ÉÄÉÔÅ, ÓÏ×ÓÅÍ ÎÅ ÌÀÂÉÍÏÅ ÄÌÑ switch: 0,1,2,3...

ðÏÞÉÔÁÊÔÅ

Application notes AN10155_1:AN10155: Philips LPC9xx microcontroller in I2C applications

ôÁÍ ×ÎÕÔÒÉ ÌÉÓÔÉÎÇ ÎÁ ó. é ÐÒÅËÒÁÝÁÊÔÅ ÔÕÔ ÍÏÒÏÞÉÔØ ÌÀÄÑÍ ÇÏÌÏ×Õ. ëÏÄ ×ÎÕÔÒÉ ÔÁÍ ÔÁËÏÊ

interrupt(6) using(1) void I2C_Interrupt(void)

{

switch(I2STAT)

{

case 0x00: /* Bus Error has occured */

I2CON = GENERATE_STOP;

break;

case 0x08:

case 0x10:

I2DAT = msg->address;

I2CON = RELEASE_BUS_ACK;

break;

case 0x18:

case 0x28:

if (dataCount < msg->nrBytes)

{

I2DAT = msg->buf[dataCount++];

îÕ É ÔÁË ÄÁÌÅÅ...

dima

formatting link

Hi Olga!

12 Jul 06 14:11, Olga Nonova wrote to Slav Matveev:

SM>> 8 ÉÎÓÔÒÕËÃÉÊ - ÔÒÉ ÂÉÔÁ ÁÄÒÅÓÁ. ðÒÅÄÌÁÇÁÅÔÅ ÏÔËÁÚÁÔØÓÑ ÏÔ SM>> ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÔÒÅÈ ÍÌÁÄÛÉÈ ÂÉÔ ÒÅÇÉÓÔÒÁ ×/× ÉÌÉ ÐÏÓÔÏÑÎÎÏ SM>> ÄÅÌÁÔØ ÓÄ×ÉÇ ÎÁ 3?

ON> ñ ÎÉÞÅÇÏ ÎÅ ÐÒÅÄÌÁÇÁÀ. üÔÏ Phillips óðåãéáìøHï ÔÁË ÎÁÚÎÁÞÉÌ ÓÏÓÔÏÑÎÉÑ ON> ÒÅÇÉÓÔÒÁ I2ó. ô.Å. ÒÅÇÉÓÔÒ ÓÔÁÔÕÓÁ ÐÒÉÎÉÍÁÅÔ ÚÎÁÞÅÎÑ: 0,8,16,24.... ON> ëÁË ×ÉÄÉÔÅ, ÓÏ×ÓÅÍ ÎÅ ÌÀÂÉÍÏÅ ÄÌÑ switch: 0,1,2,3...

ñ ÂÙ ÈÏÔÅÌ ÐÏÓÍÏÔÒÅÔØ ÎÁ ÐÒÏÇÒÁÍÍÅÒÁ, ËÏÔÏÒÙÊ ÄÏÂÒÏ×ÏÌØÎÏ ÏÔËÁÖÅÔÓÑ ÏÔ 3 ÂÉÔ ÒÅÇÉÓÔÒÁ ÒÁÄÉ ÔÁËÏÇÏ ÉÚ×ÒÁÝÅÎÉÑ, ËÏÔÏÒÏÅ, Ë ÔÏÍÕ ÖÅ, ÎÅ ÐÏÒÔÁÂÉÌØÎÏ ÓÏ×ÅÒÛÅÎÎÏ. ëÁË ÎÅ ÔÒÕÄÎÏ ÄÏÇÁÄÁÔØÓÑ switch( status >> 3 ) , ÚÁÔÏ ÎÅ ÎÁÄÏ ÄÅÌÁÔØ ×ÙÒÁ×ÎÉ×ÁÎÉÅ ÎÁ ÇÒÁÎÉÃÕ 256 ÂÁÊÔ, ËÒÁÔÎÏ ËÏÔÏÒÙÍ ÁÄÒÅÓÕÅÔ ÓÔÁÒÛÉÊ ÂÁÊÔ ÁÄÒÅÓÁ ÐÅÒÅÈÏÄÁ. ÷ ÓÌÕÞÁÅ ÅÓÌÉ ÏÂÒÁÂÏÔÞÉË ÓÏÓÔÏÑÎÉÅ ÎÅ ÕËÌÁÄÙ×ÁÅÔÓÑ × 7 ÍÁÛÉÎÎÙÈ ÓÌÏ× ÎÁÄÏ ÄÅÌÁÔØ ÌÉÂÏ jmp, ÌÉÂÏ call É ÎÉËÁËÏÇÏ ×ÙÉÇÒÙÛÁ ÐÒÏÔÉ× ÐÅÒÅÈÏÄÁ ÐÏ ÔÁÂÌÉÃÅ ÕÖÅ ÎÅÔ.

Slav.

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

Wed Jul 12 2006 19:06, Olga Nonova wrote to Slav Matveev:

ON> èÁÒÄ×ÁÒÅ I2C × ËÒÉÓÔÁÌÌÁÈ Phillips ÒÁÚÒÁÂÁÔÙ×ÁÌÉ ÏÔÎÀÄØ ÎÅ ÐÒÏÇÒÁÍÍÅÒÙ ÎÁ ON> ó. á ÌÀÄÉ, ÏÚÁÂÏÞÅÎÎÙÅ ÂÙÓÔÒÏÄÅÊÓÔ×ÉÅÍ. é ÏÎÉ-ÔÏ ÐÏÓÞÉÔÁÌÉ, ÞÔÏ ÓÁÍÏÅ ON> 'aatrnbdyjt ÒÅÛÅÎÉÅ ÂÕÄÅÔ ÉÍÅÎÎÏ ÔÁËÏÅ. ðÁÔÅÎÔ ÉÍÅÀÔ. ÷Ù ÒÁÚÒÁÂÏÔÞÉËÏ× ON> Phillips Õ×ÁÖÁÅÔÅ?

ó ÏÄÎÏÊ ÓÔÏÒÏÎÙ ÍÎÅ ÉÈ ÖÁÌØ, ÚÁÎÉÍÁÔØÓÑ ÌÏ×ÌÅÊ ÂÌÏÈ ÎÁ ÒÏ×ÎÏÍ ÍÅÓÔÅ. ó ÄÒÕÇÏÊ ÓÔÏÒÏÎÙ, ÅÓÌÉ ÜÔÏ ÉÎÔÅÒÅÓÎÏ, ÄÁ ÅÝÅ É ÄÅÎÅÇ ÐÌÁÔÑÔ, ÔÏ ÐÏÞÅÍÕ ÂÙ É ÎÅÔ?

ON> ñ ÎÅ ÚÒÑ ÓÓÙÌÁÌÁÓØ ÎÁ ÐÒÉÍÅÒ ÄÒÅÊ×ÅÒÁ I2C, ÎÁÐÉÓÁÎÎÙÊ ÎÁ ÁÓÓÅÍÂÌÅÒÅ. ôÁË ON> ×ÏÔ, ÉÚ ÐÒÉÍÅÒÎÏ 40-ËÁ ×ÏÚÍÏÖÎÙÈ ÓÏÓÔÏÑÎÉÊ ÓÔÁÔÕÓ-ÒÅÇÉÓÔÒÁ I2C ÔÁÍ ÔÏÌØËÏ ON> ÐÁÒÁ ÎÅ ÕËÌÁÄÙ×ÁÅÔÓÑ × ÐÒÏÍÅÖÕÔÏË 8 ÉÎÓÔÒÕËÃÉÊ. äÌÑ ÜÔÏÊ ÐÁÒÙ ÄÁ, ON> ÉÓÐÏÌØÚÏ×ÁÎÙ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ jmp-Ù. ïÃÅÎÉÔÅ, ×ÓÅÇÏ 2 ÉÚ 40.

Who cares?

"Resistance is futile"

Здравствуйте, Уважаемый Slav!

Wed Jul 12 2006 17:00, Slav Matveev wrote to Olga Nonova:

ON>> Я ничего не предлагаю. Это Phillips СПЕЦИАЛЬHО так назначил состояния ON>> регистра I2С. Т.е. регистр статуса принимает значеня: 0,8,16,24.... ON>> Как видите, совсем не любимое для switch: 0,1,2,3...

SM> Я бы хотел посмотреть на программера, который добровольно SM> откажется от 3 бит регистра ради такого извращения, SM> которое, к тому же, не портабильно совершенно.

Хардваре I2C в кристаллах Phillips разрабатывали отнюдь не программеры на С. А люди, озабоченные быстродействием. И они-то посчитали, что самое 'aatrnbdyjt решение будет именно такое. Патент имеют. Вы разработчиков Phillips уважаете?

SM> Как не трудно догадаться switch( status >> 3 ) , SM> зато не надо делать выравнивание на границу 256 байт, кратно SM> которым адресует старший байт адреса перехода.

По-моему методу ветвления, да на ассемблере, никаких "switch( status >> 3 )" не требуется.

SM> В случае если обработчик состояние не укладывается в 7 машинных слов SM> надо делать либо jmp, либо call и никакого выигрыша против SM> перехода по таблице уже нет.

Я не зря ссылалась на пример дрейвера I2C, написанный на ассемблере. Так вот, из примерно 40-ка возможных состояний статус-регистра I2C там только пара не укладывается в промежуток 8 инструкций. Для этой пары да, использованы дополнительные jmp-ы. Оцените, всего 2 из 40.

Всего Вам Хорошего Ольга

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Olga Nonova! You wrote in conference fido7.ru.embedded to Slav Matveev on Wed, 12 Jul

2006 15:06:57 +0000 (UTC):

ON> ñ ÎÅ ÚÒÑ ÓÓÙÌÁÌÁÓØ ÎÁ ÐÒÉÍÅÒ ÄÒÅÊ×ÅÒÁ I2C, ÎÁÐÉÓÁÎÎÙÊ ÎÁ ÁÓÓÅÍÂÌÅÒÅ.

ôÙ ÚÒÑ ÓÓÙÌÁÌÏÓØ ÎÁ ÎÁÐÉÓÁÎÎÏÅ ÎÁ ÁÓÓÅÍÂÌÅÒÅ, ÔÅÍ ÂÏÌÅÅ, ÞÔÏ ÓÁÍÉ ÏÎÉ ÄÁÀÔ ÐÒÉÍÅÒ ÎÁ ó.

ON> ôÁË ×ÏÔ, ÉÚ ÐÒÉÍÅÒÎÏ 40-ËÁ ×ÏÚÍÏÖÎÙÈ ÓÏÓÔÏÑÎÉÊ ÓÔÁÔÕÓ-ÒÅÇÉÓÔÒÁ I2C

2^(8-3) == 32, ÏÔËÕÄÁ 40 ÓÏÓÔÏÑÎÉÊ-ÔÏ?

ON> ÔÁÍ ÔÏÌØËÏ ÐÁÒÁ ÎÅ ÕËÌÁÄÙ×ÁÅÔÓÑ × ÐÒÏÍÅÖÕÔÏË 8 ÉÎÓÔÒÕËÃÉÊ. äÌÑ ÜÔÏÊ

ôÁÍ - ÜÔÏ ÇÄÅ?

dima

formatting link

úÄÒÁ×ÓÔ×ÕÊ, Kirill!

Tuesday July 11 2006 20:47, you (2:5020/400) wrote to me:

÷ÎÁÔÕpÉ ËpÉÁÔÉÆ! áÆÔÁp, ÐÅÛÙ ÉÓÞÏ!

p.s. é ËÁËÉÍ-ÖÅ ÂÏËÏÍ ×pÅÍÑ ÐpÏÈÏÖÄÅÎÉÑ ÐÁËÅÔÁ ÉÚ Ð.á × Ð.â ×ÌÉÑÅÔ ÎÁ ÐÅpÅËÏÄÉpÏ×ËÕ ÔÅËÓÔÁ?

Alex

здравствуйте, Уважаемый Ruslan!

Sun Jul 09 2006 20:19, Ruslan Mohniuc wrote to Alexandr Torres:

ON>>> Извольте. Кто программировал ПЛИСы знают, что состояния ON>>> State_Machine

AT>> Мы не обсуждаем ПЛИСы и AHDL/VHDL, мы обсуждем микроконтроллеры и AT>> C/Asm.

RM> Hу почему же. Там то же самое. Логика в чем: перебор состояний делается в RM> таком порядке, чтобы железо оптимально переключалось на следующее RM> состояние.

Позволю категорически не согласиться. В ПЛИС-ах сравнение текущего состояния со всеми возможными производиться ПАРАЛЛЕЛЬНО схемами дещифрации. Такая параллельность действий в принципе недостижима в микроконтроллерах последовательного действия.

Всего Вам Хорошего Ольга

ðpÉ×ÅÔÓÔ×ÕÀ, Olga!

ON> éÚ×ÏÌØÔÅ. ëÔÏ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÌ ðìéóÙ ÚÎÁÀÔ, ÞÔÏ ÓÏÓÔÏÑÎÉÑ State_Machine ON> ÞÁÓÔÏ ÚÁÄÁÀÔ ÐÒÉÎÕÄÉÔÅÌØÎÏ × ×ÉÄÅ ÕÐÒÁ×ÌÑÀÝÉÈ ËÏÄÏ×ÙÈ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÅÊ. äÁ ÎÕ ÎÁÆÉÇ...ëÁË ÄÅÌÁÀ Ñ: entity videobus is Port ( <...>

); end videobus;

architecture Behavioral of videobus is <...>

type REQSTATES is (stIDLE,stY_WAIT_ACK,<...>,stNEXT_LINE); signal request_state_current : REQSTATES; -- ÔÅËÕÝÅÅ ÓÏÓÔÏÑÎÉÅ Á×ÔÏÍÁÔÁ signal request_state_next : REQSTATES; -- ÓÌÅÄÕÀÝÅÅ ÓÏÓÔÏÑÎÉÅ Á×ÔÏÍÁÔÁ <...>

begin <...>

-- Á×ÔÏÍÁÔ ÓÏÓÔÏÑÎÉÊ, ÕÐÒÁ×ÌÑÀÝÉÊ ÚÁÐÒÏÓÏÍ ÄÁÎÎÙÈ Ó ÈÏÓÔÁ É ÚÁÐÉÓØÀ ÉÈ × ÂÕÆÅÒ req_state_change : process (VBUS_CLK) begin if (RST = '1') then -- ÎÁÞÁÌØÎÏÅ ÓÏÓÔÏÑÎÉÅ request_state_current <= stIDLE; request_state_next <= stIDLE; <...>

elsif (rising_edge(VBUS_CLK)) then request_state_current <= request_state_next; -- ÉÚÍÅÎÅÎÉÅ ÓÏÓÔÏÑÎÉÑ ËÏÎÅÞÎÏÇÏ Á×ÔÏÍÁÔÁ case request_state_current is -- ÔÁÂÌÉÃÁ ÐÅÒÅÈÏÄÁ

when stIDLE =>

if (data_request_start_l2='1') then request_state_next <= stY_WAIT_ACK; end if; -- ÐÅÒÅÈÏÄ <...>

when stY_WAIT_ACK =>

if (VBUS_ACK='1') then request_state_next <= stY_RX; end if; -- ÐÅÒÅÈÏÄ <...>

when stNEXT_LINE =>

request_state_next <= stIDLE; <...>

end case; end if; end process; <...> end Behavioral; ON> üÔÉ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ ×ÙÂÉÒÁÀÔ ËÁË ÕÄÏÂÎÏ éÈ ×ÙÂÉÒÁÅÔ ÓÉÎÔÅÚÁÔÏÒ. åÍÕ ÍÏÖÎÏ ÓËÁÚÁÔØ, ÞÔÏ ÉÓÐÏÌØÚÏ×ÁÌ çÒÅÑ, ÂÅÇÕÝÕÀ 1 ÉÌÉ ÞÔÏ Åݣ, ÎÏ ÐÒÏÝÅ ÏÓÔÁ×ÉÔØ ÎÁ ÅÇÏ ÕÓÍÏÔÒÅÎÉÅ - ÓÁÍ ÓÏÏÂÒÁÚÉÔ, ÎÅ ÍÁÌÅÎØËÉÊ É ÄÅÎÅÇ ÍÎÏÇÏ ÓÔÏÉÔ......

ON> PS. äHë ÎÅ ÂÅÓÐÏËÏÉÔ? óÍÏÔÒÑ ÞØÑ.... "÷Ù ÔÁËÉ ÈÏÔÉÔÅ Ï ÜÔÏÍ ÐÏÇÏ×ÏÒÉÔØ ?" (Ó)

Michael Tulupov ...

ðpÉ×ÅÔÓÔ×ÕÀ, Alexandr!

AT> íÙ ÎÅ ÏÂÓÕÖÄÁÅÍ ðìéóÙ É AHDL/VHDL, ÍÙ ÏÂÓÕÖÄÅÍ ÍÉËÒÏËÏÎÔÒÏÌÌÅÒÙ É C/Asm. áïô: ÐÏÄÓËÁÖÉÔÅ ÓÔÒÁÖÄÕÝÅÍÕ Åݣ ÜÈ ÐÏ ðìéó ? íÏÖÎÏ ÉÎÅÔÏ×ÓËÉÅ × USENET. ÷ÎÉÍÁÎÉÅ - ÆÏÒÕÍÙ ÔÉÐÁ ÔÅÌÅÓÉÓÔÅÍ É ÜÌÅËÔÒÏÎÉËÓ ÜÔÏ ÎÅ ÜÈÉ :)

Michael Tulupov ...

ðpÉ×ÅÔÓÔ×ÕÀ, Olga!

SM>> ÈÏÔÅÌÏÓØ ÂÙ ×ÚÇÌÑÎÕÔØ ÎÁ ÒÅÁÌØÎÙÊ ÐÒÏÅËÔ, ÇÄÅ ËÏÄ ÓÏÓÔÏÑÎÉÅ SM>> ÈÒÁÎÉÔÓÑ × ÒÅÇÉÓÔÒÅ ÐÏÒÔÁ ×/×, É ËÁË ÜÔÏ ÍÏÖÎÏ ÐÅÒÅ×ÅÓÔÉ SM>> ÎÁ ÐÒÅÄÌÏÖÅÎÎÙÊ (*f)();

ON> äÌÑ ÍÅÌËÏËÏÎÔÒÏÌÌÅÒÏ× Ñ ÜÔÏÇÏ ÅÝÅ ÎÅ ÄÅÌÁÌÁ. óÏÂÓÔ×ÅÎÎÏ É ÐÙÔÁÀÓØ ON> ×ÙÑÓÎÉÔØ,ËÁË ÔÁËÏÅ ÍÏÖÎÏ ÂÙÌÏ ÂÙ ÚÁÄÅÌÁÔØ ÓÒÅÄÓÔ×ÁÍÉ ó. ïÄÎÁËÏ, ON> ÄÌÑ ðìéóÏ× ÒÅÁÌÉÚÁÃÉÑ ÓÁÂÖÁ ÐÒÑÍÏ ÎÁ ÎÏÖËÁÈ ×Ù×ÏÄ×- ÜÔÏ ËÌÁÓÓÉËÁ. HÕ-ËÁ, ÎÕ-ËÁ, ÐÏÐÏÄÒÏÂÎÅÅ ÐÌÉÚ........... þÔÏ ÜÔÏ ÚÁ ËÌÁÓÓÉËÁ ÔÁËÁÑ É ËÔÏ ËÏÍÐÏÚÉÔÏÒ ? é ÇÌÁ×ÎÏÅ ÚÁÞÅÍ ÔÁË ÉÚ×ÒÁÝÁÔØÓÑ ?

Michael Tulupov ...

Hello Kirill.

Wed Jul 12 2006 17:37, Kirill Frolov wrote to Alex Kocharin:

KF> ðÒÏÓÔÏÅ -- Ñ ÎÁ ÜËÒÁÎÅ ÂÕË×Ù ×ÉÖÕ Ó ÔÁËÏÊ ÚÁÄÅÒÖËÏÊ, ÞÔÏ ×ÏÎ ÔÕ ÓÔÒÏËÕ KF> Ó×ÅÒÈÕ ÕÍÕÄÒÑÀÓØ ÎÁÐÉÓÁÔØ, ÐÏËÁ ÎÅ ÚÁÍÅÞÕ, ÞÔÏ ÏÎÏ ÎÅ × ÔÏÊ ÒÁÓËÌÁÄËÅ.

=8-O HÅÕÖÅÌÉ ÎÅÔ ÓÐÏÓÏÂÁ ÞÉÔÁÔØ/ÐÉÓÁÔØ × ÏÆÌÁÊÎÅ?

Dimmy.

Hello Alex.

13 Jul 06 01:15, you wrote to Kirill Frolov:

þÅ ÔÕÔ ËÒÅÁÔÉ×ÎÏÇÏ. õ ÔÅÂÑ ÎÁ ÍÁÛÉÎÅ ËÌÉÅÎÔ, Á ÐÏÞÔÏ×ÁÑ ÐÒÏÇÒÁÍÍÁ ÎÁ ÓÅÒ×ÅÒÅ? ôÙ ÎÉËÏÇÄÁ ÞÅÒÅÚ putty (ssh, telnet) ÎÅ ÒÁÂÏÔÁÌ? üÔÏ ÄÌÑ ÒÑÄÁ ÚÁÄÁÞ ×ÒÏÄÅ ÓÉÓÔÅÍÎÏÇÏ ÁÄÍÉÎÉÓÔÒÉÒÏ×ÁÎÉÑ ÕÄÏÂÎÏ. ïÐÑÔØ ÖÅ ÍÏÖÎÏ ÚÁÎÏÞØ ËÁÞÎÕÔØ ÎÅÈÉÌÏ, ÐÏËÁ ÎÉËÏÍÕ ÎÅ ÍÅÛÁÅÛØ, Á ÐÏÔÏÍ ÕÔÒÏÍ, ÌÉÞÎÏ ÚÁÂÒÁÔØ. ïÎÏ ËÏÎÅÞÎÏ, ËÏÇÄÁ ÓÅÊÞÁÓ ÉÎÅÔ ÐÏ Ô× ËÁÂÅÌÀ, ÐÒÏ ÔÁËÉÅ ÐÉÎÇÉ ÓÌÙÛÁÔØ ÄÉËÏ, ÎÏ ×ÓÑËÏ ÂÙ×ÁÅÔ.... Nicolas

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

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required