Страница 389 из 628

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Чт дек 20, 2012 09:53:16
Nevox
Здравствуйте.попытка номер 2.

хотел бы спросить как осуществить запись в регистр в Verilog.

вот код

Код: Выделить всё

module SN_DVV_14_220V (IN,INT,WR,RD,CS,RESET,DAT,A);
	input wire [3:0] A;
	input wire [13:0]IN;
	input wire WR, RD, CS, RESET,INT;
	inout [7:0] DAT;
	  
	reg [7:0] D;
		

  assign DAT[7:0]=(!CS&!RD)?D[7:0]:8'bz;
  
 always @(negedge RD)
	  
	case (A)
       4'b0000:    D = 8'b00010000;
       4'b0001:    D = 8'b00100011;		  
       4'b0010:    D = 8'b00001110;	  
       4'b0011:    D = 8'b00001000;
       4'b1000:    D = IN[7:0];
       4'b1001:    D <= {2'b0, IN[13:8]};
       default:    D = 8'b00000000;
	endcase 
  endmodule
здесь в операторе кейс идет считывание регистров,как мне написать так,чтобы я мог в этот регистр что-нибудь записать?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Чт дек 20, 2012 12:22:59
ibiza11
хотел бы спросить как осуществить запись в регистр в Verilog.
вот здесь у вас идет запись в регистр

Код: Выделить всё

4'b1001:    D <= {2'b0, IN[13:8]};

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Чт дек 20, 2012 12:50:40
Nevox
а как написать условие в регистрах?
допустим при одном условии у нас в регистр пишется одно значение , а в другом случае пишется другое значение? внутри кейса можно это сделать?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Чт дек 20, 2012 14:32:32
AlexSun
Есть прошивка для PIC18F252 в формате HEX, она делает некие дела и шлет в RS232 "Готово". Возможно ли ее дизассемблировать и изменить это "Готово" на другую строку такой же длины?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Чт дек 20, 2012 14:44:26
Engineer_Keen
Конечно можно...
Можно даже не дизассемблировать, а править прямо HEX, только контрольную сумму подправить, это при условии что строчка - простая последовательность ASCII символов. Искать последовательность C3 EE F2 EE E2 EE.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Чт дек 20, 2012 14:52:00
black_lizard
Есть прошивка для PIC18F252 в формате HEX, она делает некие дела и выводит на экран "текст". Возможно ли ее дизассемблировать и изменить этот "текст"?
Любым HEX редактором.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Чт дек 20, 2012 14:58:12
AlexSun
Engineer_Keen, где находится контрольная сумма и как ее узнать для отредактированного кода?
"Готово" так и будет написано подряд в HEX редакторе? (в 16 системе естественно)
В коде программы знаю было printf("Готово");

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Чт дек 20, 2012 15:01:42
Gudd-Head
AlexSun писал(а):"Готово" так и будет написано подряд в HEX редакторе?
Не факт. Может чередоваться вызовами функций вывода на дисплей.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Чт дек 20, 2012 15:19:26
Engineer_Keen
AlexSun писал(а):где находится контрольная сумма и как ее узнать для отредактированного кода?
контрольная сумма - последний байт в каждой строке HEX-файла. Считается как сумма всех байт в строке по модулю 256, отнятая от 256.
AlexSun писал(а):"Готово" так и будет написано подряд в HEX редакторе? (в 16 системе естественно)
HEX редактор не нужен, HEX файл можно редактировать простым блокнотом, там просто последовательности 16-х чисел.
Будет ли там так написано, зависит от компилятора и структуры программы, если будет, то повезло. Меняем на то что надо и пересчитываем контрольные суммы для строк в которых менялись дынные.
На всякий случай - описание формата Intel HEX
Gudd-Head писал(а):Не факт. Может чередоваться вызовами функций вывода на дисплей.
Ну раз там printf("Готово"), скорее всего все таки последовательность .db "Готово", причем или рядом с процедурой ее вызывающей или где-то в конце кода.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Чт дек 20, 2012 15:25:24
AlexSun
Engineer_Keen писал(а):контрольная сумма - последний байт в каждой строке HEX-файла. Считается как сумма всех байт в строке по модулю 256, отнятая от 256.
То есть 256 - (сумма байтов % 256), я правильно понял?
Engineer_Keen писал(а):Будет ли там так написано, зависит от компилятора и структуры программы, если будет, то повезло.
Компилятор CCS PIC C, строка выводится вся сразу.

Спасибо за информацию, отпишу потом о результатах.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Чт дек 20, 2012 15:30:41
Engineer_Keen
AlexSun писал(а):То есть 256 - (сумма байтов % 256), я правильно понял?
Если % это сумма по модулю 256, то да. Или CRC=256 - (сумма байтов AND 255), тоже самое.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Чт дек 20, 2012 17:00:41
AlexSun
CC научился считать...

"Готово" нашел в первых строках прошивки. Заканчивается нулем. А строку другой длины невозможно туда вписать? Адреса придется править?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Чт дек 20, 2012 17:48:57
Engineer_Keen
AlexSun писал(а):CC научился считать...
Можете себя проверить, сравнив последние числа в строках HEX файле с тем что получится если посчитать вручную.
AlexSun писал(а):А строку другой длины невозможно туда вписать? Адреса придется править?
Как минимум адреса и только после дизассемблера, тут уже без этого никак.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Чт дек 20, 2012 18:09:47
AlexSun
После дизассемблера в PIC C я не нахожу там в коде "Готово", не целиком, не отдельные символы. Чем тогда дизассемблерировать и чем потом собрать HEX?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Чт дек 20, 2012 20:14:55
Engineer_Keen
Дизассемблер не скажет что там лежит слово "готово" прямо в виде .db "Готово", он только может сказать что по такому-то адресу какие-то данные или неверная команда, а может и за последовательность команд принять. Посмотрите по HEX файлу, с какого адреса начинается слово, и найдите это место в дизассемблированной программе.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пт дек 21, 2012 15:23:20
Nevox
Здравствуйте.Идея такая: есть процессорный модуль,который управляет другими модулями. На подчиненных подулях стоят плисы альтера на 44 пина серии 3000А(конкретно 3064),как надо написать в прошивке плисов,чтобы процессорный модуль мог менять регистры подчиненным модулям? нужно какое-то разрешение? или как-то регистры задать?

вариант прошивки опять же вот

Код: Выделить всё

SUBDESIGN SN_DVV_14_220V
(
   RES, INT : INPUT;
   WR       : INPUT;
   RD       : INPUT;
   CS       : INPUT;
   DAT[7..0]: BIDIR;
   A[3..0]    : INPUT;
   IN[13..0]: INPUT;
)
VARIABLE

 D[7..0]     : NODE;
BEGIN
  D[7..0] = (16&(A[3..0]==0))#
          (35&(A[3..0]==1))#
          (14&(A[3..0]==2))#
          (8&(A[3..0]==3))#
          (0&(A[3..0]==4))#
          (0&(A[3..0]==5))#
          (0&(A[3..0]==6))#
          (0&(A[3..0]==7))#
          (IN[7..0]&(A[3..0]==8));
 D[5..0] =    (IN[13..8]&(A[3..0]==9));
  
   DAT0 = TRI(D0,!CS&!RD);
   DAT1 = TRI(D1,!CS&!RD);
   DAT2 = TRI(D2,!CS&!RD);
   DAT3 = TRI(D3,!CS&!RD);
   DAT4 = TRI(D4,!CS&!RD);
   DAT5 = TRI(D5,!CS&!RD);
   DAT6 = TRI(D6,!CS&!RD);
   DAT7 = TRI(D7,!CS&!RD);
   
END;

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Пт дек 21, 2012 16:07:51
ibiza11
Nevox, сужу по Вашим постам и вот что думаю: либо Вы не умеете задавать вопросы, либо Вы слишком ленивы, чтобы самостоятельно в чем-то разбраться. По количеству информации, которую Вы приводите на обсуждение форума невозможно догадаться, что и как у Вас там устроено. Я про это упоминал в своем предыдущем посте, адресованном Вам. Не каждый захочет уточнять все условия Вашей(!) задачи, чтобы ее решить. Перечитайте свой пост и попробуйте подумать, чего нехватает в нем, прежде чем его постить на форум.
При всем уважении конечно, но по-моему Вы не ту профессию выбрали.

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Сб дек 22, 2012 20:06:13
Sceam73
Приведите ктонибудь пожалуйста простенький пример разрешения вложеных прерываний на с++ клмпилятор CVAVR
И еще вопрос, можно ли в регистры прерывания таймера по совпадению, как то записывать значения в 10тичном виде ?

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс дек 23, 2012 00:58:52
Nevox
ibiza11 писал(а):Nevox, сужу по Вашим постам и вот что думаю: либо Вы не умеете задавать вопросы, либо Вы слишком ленивы, чтобы самостоятельно в чем-то разбраться.

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

Re: Мелкие вопросы по МК и ПЛИС.

Добавлено: Вс дек 23, 2012 18:25:29
Meteor
to Nevox, читал ваши посты и при всем желании помочь ничего не смог понять.
То вы пишете о синтезе на верилог, который больше походит на AHDL, то сумбурное "хочу менять назначение регистров"
Вы бы хоть как то структурировали свои вопросы, полезно даже зарисовки сделать. Вот откуда я должен знать что за регистры между модулями? Как они управляются и как вы хотите изменить?
Все что могу посоветовать из этого воппроса - сделать жуткого вида демультиплексор, на реализацию которого уйдет средненький циклончик и явно не хватит объема ЕРМ3000