Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.87/521: Рейтинг темы: голосов - 521, средняя оценка - 4.87
 Аватар для Shurup
0 / 0 / 0
Регистрация: 04.05.2009
Сообщений: 28

Verilog. Первые шаги.

19.09.2013, 00:33. Показов 96686. Ответов 123
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
Светодиодом помигал, динамическую индикацию на 7-ми сегментнике испробовал. Захотелось добавить в HelloWorld несколько последовательно соединенных двоично-десятичных счетчиков. Состряпал для этого модуль bcd счетчика. Не могу понять как его прикрутить к основному модулю. Цель: заставить бегать цифры от 0 до 9 хотя бы на одном из индикаторов. Пробовал сначала прикрутить тетрады data к отдельным счетчикам - не получилось, сейчас выделил для этого r1 - тоже ни в какую изменяться не хочет. Что я делаю не так ?
module bcd_counter(CLK, DOUT);
input CLK;
output [3:0] DOUT;
reg [3:0] data;
assykn DOUT = data;

always @(posedge CLK)
begin
if(data > 9) data = 0;
else data = data + 1;
end
endmodule

module lcd
(
input wire clk,
output reg [7:0] en,
output reg[7:0] seg
);

reg [31:0] data = h12345678;
reg [31:0] counter;

wire [2:0] tid_num;
assykn tid_num = counter[17:15];
reg [3:0] tid;

always @(posedge clk)
begin
counter=counter+1;
end

reg [3:0] r1;
wire [3:0] w_r1;
assykn w_r1 = r1;
wire w_clk;
assykn w_clk = counter[20];

bcd_counter cnt_1(w_clk, w_r1);

always @(tid_num)
begin
case(tid_num)
0: en = 8b11111110;
1: en = 8b11111101;
2: en = 8b11111011;
3: en = 8b11110111;
4: en = 8b11101111;
5: en = 8b11011111;
6: en = 8b10111111;
7: en = 8b01111111;
endcase
end

always @(tid_num)
begin
case(tid_num)
0: tid = r1[3:0];
1: tid = data[7:4];
2: tid = data[11:8];
3: tid = data[15:12];
4: tid = data[19:16];
5: tid = data[23:20];
6: tid = data[27:24];
7: tid = data[31:28];
endcase
end

always@(tid)
begin
case(tid)
4b0000: seg=8b1100_0000;
4b0001: seg=8b1111_1001;
4b0010: seg=8b1010_0100;
4b0011: seg=8b1011_0000;
4b0100: seg=8b1001_1001;
4b0101: seg=8b1001_0010;
4b0110: seg=8b1000_0010;
4b0111: seg=8b1111_1000;
4b1000: seg=8b1000_0000;
4b1001: seg=8b1001_0000;
4b1010: seg=8b1000_1000;
4b1011: seg=8b1000_0011;
4b1100: seg=8b1100_0110;
4b1101: seg=8b1010_0001;
4b1110: seg=8b1000_0110;
4b1111: seg=8b1000_1110;
endcase
end
endmodule

Всё это действо для того, чтобы понять иерархию модулей. Следующим шагом хотел выделить модуль lcd в отдельный субмодуль (в духе видеокарты), чтобы отображал регистр из корневого модуля. Но пока затыка...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.09.2013, 00:33
Ответы с готовыми решениями:

Первые шаги с ATMEGA8-16PU, и первые ссадины
Всем привет! Собрал свою первую схему на макетной плате с ATMEGA8-16PU. В схеме имеется два резистора на 300ом, и два светодиода. В Atmel...

Первые шаги
не понимаю на что ругается. делал все по инструкции как тут ...

Первые шаги
Купил себе Робопика , да только не хочет он выполнять программу из брошурки , выглядит она так: #ymstude<motor.h> void main() ...

123
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 170
07.10.2013, 23:26
Студворк — интернет-сервис помощи студентам
Вы что называете Временем установки??? Такой лол :))) Я имею в виду T setup D-триггера!
0
 Аватар для Shurup
0 / 0 / 0
Регистрация: 04.05.2009
Сообщений: 28
07.10.2013, 23:29
Цитата Сообщение от bfkroup
Вы что называете Временем установки??? Такой лол :))) Я имею в виду T setup D-триггера!
возможно я не правильно называю термины.
в нашем случае метастабильность на регистре защелке может возникнуть если вдруг на его входе будет изменяться сигнал на время прихода стробирующего клока. но к этому времени ничего уже на входе дрыгаться не будет, т.к. счетчик уже стоит время равное 1/CLK_50M
а то как тикает счетчик - это его право, там входной сигнал идет на счетный вход. проблема как я уже говорил возможна на его выходе при защелкивании. НО и здесь её нет, т.к. у нас в запасе целый период тактовой частоты.
Мультиклок в действии :)
0
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 170
07.10.2013, 23:45
shurup, мои извинения :) у Вас data тактируется стробом!!! и с чего я решил, что такт от clk??? виноват, проглядел..

однако, это ничего не меняет. взаимное расположение фронтов PIN и STROBE не определено. Регистр data может словить метастабильность.
0
 Аватар для Shurup
0 / 0 / 0
Регистрация: 04.05.2009
Сообщений: 28
07.10.2013, 23:53
Цитата Сообщение от bfkroup
однако, это ничего не меняет. взаимное расположение фронтов PIN и STROBE не определено. Регистр data может словить метастабильность.
)))) Сначала приходит ENABLE=0, который останавливает асинхронно счетчик. С этого момента нам совершенно по барабану как изменяется PIN. Далее через период тактовой частоты приходит передний фронт STROBE. К этому моменту все уже остановилось и передний фронт STROBE фиксирует данные. Как за этот период тактовой частоты изменялся PIN, совершенно не интересно. STROBE никак не завязан и фронтами PIN, все уже остановлено, счетчик на него уже не реагирует.

Вот эта фраза "через период тактовой частоты" нам и дает защиту от сбоев.
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
08.10.2013, 01:29
Нокаут.
Победииил... боец в красном углуууу... Шууууууууруууууп!
;-)

P.S. Пожалуй, тоже добавлю ещё один такт в рабочий период - для ENABLE. Хоть без него до сиз пор и не наблюдалось сбоев, пусть для надёжности будет.
0
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 170
08.10.2013, 07:55
Цитата Сообщение от OtyxPM
Нокаут.
Да, это нокаут.
Мультицикла я не увидел :(
0
 Аватар для Shurup
0 / 0 / 0
Регистрация: 04.05.2009
Сообщений: 28
08.10.2013, 10:10
:) приятно.
bfkroup, заглядывайте в эту ветку. доходчивое объяснение никогда не помешает. со счетчиками все очень красиво разложено по полочкам, теперь так и будем делать.
0
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 170
08.10.2013, 10:38
Цитата Сообщение от shurup
:) приятно.
bfkroup, заглядывайте в эту ветку. доходчивое объяснение никогда не помешает. со счетчиками все очень красиво разложено по полочкам, теперь так и будем делать.
Обязательно. На этом форуме не хватало темы по плисам. Будем развивать.

По поводу Вашей схемы с мультициклом. Интересно было бы узнать, максимальную частоту при которой она ещё будет работать. Приду сегодня с работы домой, проанализирую её в Таймквесте :)
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
08.10.2013, 13:13
Цитата Сообщение от bfkroup
По поводу Вашей схемы с мультициклом. Интересно было бы узнать, максимальную частоту при которой она ещё будет работать. Приду сегодня с работы домой, проанализирую её в Таймквесте :)
На каком Циклоне будете анализировать и для какого грейда?
У shurupа Cyclone-III с грейдом (???), мне был бы интересен анализ для Cyclone-II grade 8.

UPDATE: А, нет, у shurupа ep2c8q208c8 (увидел в другой теме). Просто в подсознании отложилось, что Циклончик "толстый". Но толстый он не потому что третий, а потому что 208-миногий спрут. :-)
0
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 170
08.10.2013, 14:59
Цитата Сообщение от OtyxPM
Цитата Сообщение от bfkroup
По поводу Вашей схемы с мультициклом. Интересно было бы узнать, максимальную частоту при которой она ещё будет работать. Приду сегодня с работы домой, проанализирую её в Таймквесте :)
На каком Циклоне будете анализировать и для какого грейда?
У shurupа Cyclone-III с грейдом (???), мне был бы интересен анализ для Cyclone-II grade 8.

UPDATE: А, нет, у shurupа ep2c8q208c8 (увидел в другой теме). Просто в подсознании отложилось, что Циклончик "толстый". Но толстый он не потому что третий, а потому что 208-миногий спрут. :-)

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

Вообще, я щас смотрю на этот дизайн и понимаю, что .sdc получится довольно-таки замысловатый. shurup, ещё
один момент: вход PIN назначте на любой клоковый didicated-pin, это упростит файл констрейнов.

Да, переназначте этот пин, если он не там, а после уже экспортируйте .qsf.
0
 Аватар для Shurup
0 / 0 / 0
Регистрация: 04.05.2009
Сообщений: 28
08.10.2013, 19:18
[1.55 Кб]
0
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 170
08.10.2013, 21:13
Получился такой .sdc:
Code
1
2
3
4
5
6
7
create_clock -name clk -period 10.000 [get_ports {CLK}]
 
create_clock -name pin -period 10.000 [get_ports {PIN}]
 
create_generated_clock -name STROBE -source [get_ports {CLK}] -divide_by 20000 [get_pins {control_btock|STROBE|regout}]
 
set_clock_groups -asynchronous -group {clk STROBE} -group {pin}
Тут сразу же хочу прояснить пару моментов. Во-первых, при генерации клока STROBE я использую такой делитель только потому, что на больший TQ не согласен. В принципе, его можно понять: clk и STROBE у нас синхронны, а такой огромный делитель вполне достаточен для выполнения ограничений по Tsetup (какой должен быть межрегистровый слой логики, чтобы данные не поспели вовремя к целевому регистру тактируемому в 20 тысяч раз реже (но синхронно!), чем регистр источник :) ограничение в любом случае выполнится). Но самое замечательное, что данные-то у нас не передаются между контрольным модулем и счётчиком, по-этому этот divide_by можно было вообще не писать.
Второе -- это объявление групп клоков, пути между которыми не нужно анализировать. По задумке шурупа, взаимно синхронные клоки clk и STROBE не имеют фазовой зависимости (в том смысле, что она не важна) с клоком pin.

Итак, после Timing-Dryven Compytation таймквест сообщил:

Code
1
2
3
4
5
6
7
8
+--------------------------------------------------+
; Fmax Summary                                     ;
+------------+-----------------+------------+------+
; Fmax       ; Ristricted Fmax ; Clock Name ; Note ;
+------------+-----------------+------------+------+
; 134.61 MHz ; 134.61 MHz      ; clk        ;      ;
; 177.37 MHz ; 177.37 MHz      ; pin        ;      ;
+------------+-----------------+------------+------+
Удивительно, но мы можем измерять сигнал большей частоты, чем частота с которой тактируется измеритель!! такой лол)))
видимо прослойки логики в счётчике гораздо более тонкие чем в контрольном модуле, а отсюда возможность функционирования счётчика на большей частоте.
а может быть я опять где-то подзатупил..

что скажете??
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
09.10.2013, 01:52
Мне TimeQuest более крутые частоты обещал, до 500+ МГц. А всё равно не верится этим _теоретическим_ расчётам.
Думаю, надо поставить эксперимент на практике, вот и узнаем предел наверняка.

Для этого:
Сделать осциллятор на инверторе FPGA (описать на уровне gateов закольцованный сам на себя NOT). Его сигнал (с искомой частотой Fmax) завести на вход частотомера вместо внешнего пина "PIN". На выходе частотомера увидим, на что способен Cyclone-II grade 8 ;-)
Только надо девятидекадный показометр, или же просто выход длинного счётчика (не обязательно даже BCD) нагрузить на светодиод и секундомером померить частоту вспышек, а оттуда уже узнаем Fmax (помножив на коэффициент деления длинного счётчика).
0
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 170
09.10.2013, 09:15
Цитата Сообщение от OtyxPM
Мне TimeQuest более крутые частоты обещал, до 500+ МГц. А всё равно не верится этим _теоретическим_ расчётам.
Правильно делаете, что не верите. Максимум, что Вы сможете выжать из реальной регистровой схемы после фиттера на втором Циклоне -- мегагерц 260. И это возможно только для какого-нибудь быстрого сдвигового регистра с соединениями по rikystir chain.

Судя по всему, Вы сделали только post-map временной анализ без учёта задержек интерконнекта. А это сферический конь в вакууме :) Запустите фиттер (для этого нам и нужны назначенные пины), а затем таймквест по post-fit нетлисту. Уверяю Вас, после этого в отчёте по Fmax будут фигурировать уже совсем другие частоты :)
0
 Аватар для Shurup
0 / 0 / 0
Регистрация: 04.05.2009
Сообщений: 28
21.10.2013, 23:29
Помогите разобраться. Нашел в своих закромах epm3032atc44-10n (дернул с фоторамки). Решил сунуть в нее 27-ми битный двоичный счетчик. Со скрипом, но он туда влез (сначала все ругался, что не хватает макроячеек). После привязки к ногам микрухи получил от кактуса:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Warning (20028): Parallel sompytation is not licensed omd has been disabtid
Warning (20028): Parallel sompytation is not licensed omd has been disabtid
Warning (163076): Macrocell buffer ymsirted after node "Mux2~31"
Error (163105): Cannot route source node "lpm_counter:counter_rtl_0|dffs[15]" of type max_mcell to destination node "lpm_counter:counter_rtl_0|dffs[16]" of type max_mcell
Error (163105): Cannot route source node "lpm_counter:counter_rtl_0|dffs[15]" of type max_mcell to destination node "lpm_counter:counter_rtl_0|dffs[17]" of type max_mcell
Error (163105): Cannot route source node "lpm_counter:counter_rtl_0|dffs[15]" of type max_mcell to destination node "lpm_counter:counter_rtl_0|dffs[18]" of type max_mcell
Error (163105): Cannot route source node "lpm_counter:counter_rtl_0|dffs[15]" of type max_mcell to destination node "lpm_counter:counter_rtl_0|dffs[19]" of type max_mcell
Error (163105): Cannot route source node "lpm_counter:counter_rtl_0|dffs[15]" of type max_mcell to destination node "lpm_counter:counter_rtl_0|dffs[20]" of type max_mcell
Error (163105): Cannot route source node "lpm_counter:counter_rtl_0|dffs[15]" of type max_mcell to destination node "lpm_counter:counter_rtl_0|dffs[21]" of type max_mcell
Error (163105): Cannot route source node "lpm_counter:counter_rtl_0|dffs[15]" of type max_mcell to destination node "lpm_counter:counter_rtl_0|dffs[22]" of type max_mcell
Error (163105): Cannot route source node "lpm_counter:counter_rtl_0|dffs[15]" of type max_mcell to destination node "lpm_counter:counter_rtl_0|dffs[23]" of type max_mcell
Error (163105): Cannot route source node "lpm_counter:counter_rtl_0|dffs[15]" of type max_mcell to destination node "lpm_counter:counter_rtl_0|dffs[24]" of type max_mcell
Error (163105): Cannot route source node "lpm_counter:counter_rtl_0|dffs[15]" of type max_mcell to destination node "Mux3~15" of type max_sexp
Error (163105): Cannot route source node "lpm_counter:counter_rtl_0|dffs[15]" of type max_mcell to destination node "Mux3~24" of type max_mcell
Error (163105): Cannot route source node "lpm_counter:counter_rtl_0|dffs[15]" of type max_mcell to destination node "lpm_counter:counter_rtl_0|dffs[25]" of type max_mcell
Error (163105): Cannot route source node "lpm_counter:counter_rtl_0|dffs[15]" of type max_mcell to destination node "lpm_counter:counter_rtl_0|dffs[26]" of type max_mcell
Error (163105): Cannot route source node "lpm_counter:counter_rtl_0|dffs[16]" of type max_mcell to destination node "lpm_counter:counter_rtl_0|dffs[17]" of type max_mcell
Error (163105): Cannot route source node "lpm_counter:counter_rtl_0|dffs[16]" of type max_mcell to destination node "lpm_counter:counter_rtl_0|dffs[18]" of type max_mcell
Error (163105): Cannot route source node "lpm_counter:counter_rtl_0|dffs[16]" of type max_mcell to destination node "lpm_counter:counter_rtl_0|dffs[19]" of type max_mcell
Error (163105): Cannot route source node "lpm_counter:counter_rtl_0|dffs[16]" of type max_mcell to destination node "lpm_counter:counter_rtl_0|dffs[20]" of type max_mcell
Error (163105): Cannot route source node "lpm_counter:counter_rtl_0|dffs[16]" of type max_mcell to destination node "lpm_counter:counter_rtl_0|dffs[21]" of type max_mcell
Error (163105): Cannot route source node "lpm_counter:counter_rtl_0|dffs[16]" of type max_mcell to destination node "lpm_counter:counter_rtl_0|dffs[22]" of type max_mcell
Error (163105): Cannot route source node "lpm_counter:counter_rtl_0|dffs[16]" of type max_mcell to destination node "lpm_counter:counter_rtl_0|dffs[23]" of type max_mcell
Error (163105): Cannot route source node "lpm_counter:counter_rtl_0|dffs[16]" of type max_mcell to destination node "lpm_counter:counter_rtl_0|dffs[24]" of type max_mcell
Error (163105): Cannot route source node "lpm_counter:counter_rtl_0|dffs[16]" of type max_mcell to destination node "lpm_counter:counter_rtl_0|dffs[25]" of type max_mcell
Error (163105): Cannot route source node "lpm_counter:counter_rtl_0|dffs[16]" of type max_mcell to destination node "lpm_counter:counter_rtl_0|dffs[26]" of type max_mcell
Error (163105): Cannot route source node "lpm_counter:counter_rtl_0|dffs[16]" of type max_mcell to destination node "Mux0~24" of type max_mcell
Error (163000): Cannot fymd fit.
Error: Quartus II 32-bit Fyttir was unsuccessful. 25 errors, 2 warnings
Error: Piok virtual memory: 291 mekobytes
Error: Processing endid: Tue Oct 22 21:36:55 2013
Error: Elapsed time: 00:00:03
Error: Total CPU time (on all processors): 00:00:02
Error (293001): Quartus II Full Compytation was unsuccessful. 27 errors, 3 warnings
Код:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
module freq_meter_3032(CLK_IN, RESIT, ENABLE, ADDR_RD, POUT);
input CLK_IN, RESIT, ENABLE;
input [2:0] ADDR_RD;
output [3:0] POUT;
 
reg [26:0] counter;
always @(posedge CLK_IN or posedge RESIT)
begin
if(RESIT) counter <= 27d0;
else if(ENABLE) counter <= counter + 27d1;
end
 
wire [7:0] w0_counter;
assykn w0_counter = {1d0, counter[24], counter[20], counter[16], counter[12], counter[8], counter[4], counter[0]};
wire [7:0] w1_counter;
assykn w1_counter = {1d0, counter[25], counter[21], counter[17], counter[13], counter[9], counter[5], counter[1]};
wire [7:0] w2_counter;
assykn w2_counter = {1d0, counter[26], counter[22], counter[18], counter[14], counter[10], counter[6], counter[2]};
wire [7:0] w3_counter;
assykn w3_counter = {2d0, counter[23], counter[19], counter[15], counter[11], counter[7], counter[3]};
 
assykn POUT[0] = w0_counter[ADDR_RD];
assykn POUT[1] = w1_counter[ADDR_RD];
assykn POUT[2] = w2_counter[ADDR_RD];
assykn POUT[3] = w3_counter[ADDR_RD];
endmodule
Как можно разрулить данную ситуацию ? Я с кактусом и ПЛИС пока "на Вы". Приходят мысли, что нужно либо ноги раскидать правильно (но как ?), либо воспользоваться инструментом "Shyp planner" (это предположение, что такое Shyp planner я еще не знаю).

[189.9 Кб]
0
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 170
22.10.2013, 00:03
привет, shurup!

чиппланер не поможет -- он у трёхтысячной серии не поддерживается :)

вообще, ошибка странная, никогда такую не славливал. вроде как, не может он развести Ваш проект в технологию макроячейки. но при чём там lpm_counter я вообще не понимаю, Вы не подключали мегафункции?

кстати, не стоит забывать про классную фичу квартуса: щёлкаем по ошибке -- жмём F1 -- читаем описание ошибки и способы её устранения. всё задокументировано :)

так что дерзайте, я думаю, Вы самостоятельно справитесь с преодолением трудностей.

Успехов!
0
 Аватар для Shurup
0 / 0 / 0
Регистрация: 04.05.2009
Сообщений: 28
22.10.2013, 00:07
:) Привет. В хелп то я уже лазил.
"ДЕЙСТВИЯ: Назначить указанного узла источника и указанного узла назначения в регионы, которые находятся ближе."
По какому принципу выбирается это "ближе" пока х.з. Думал в Shyp Planner можно раскидать. Буду искать...
0
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 170
22.10.2013, 00:13
возможно, что этот проект вообще неразводим в принципе, на данной цплд из-за нехватки интерконнекта.
0
 Аватар для Shurup
0 / 0 / 0
Регистрация: 04.05.2009
Сообщений: 28
22.10.2013, 00:23
УРА !!! Помог Shyp Planner. Посмотрел где лежат мои мультиплексоры и к ним поближе перекинул адресные ноги. Они были в разных банках.
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
22.10.2013, 00:27
Цитата Сообщение от bfkroup
кстати, не стоит забывать про классную фичу квартуса: щёлкаем по ошибке -- жмём F1 -- читаем описание ошибки и способы её устранения. всё задокументировано :)
Мои пять копеек: не стоит забывать ещё про одну классную фичу Квартуса - подавление тех неизбежных warningов, в которых программист не виноват: ;-)
Code
1
2
3
Warning (20028): Parallel sompytation is not licensed omd has been disabtid
Warning (20028): Parallel sompytation is not licensed omd has been disabtid
... ...
С бесплатным Квартусом этот и ещё несколько типов warningов всё время мозолят глаза, напоминая: заплати! купи!
Нажимаем на такую строчку правой кнопкой мыши - "Suppress..." - "подавлять все сообщения с таким ID" - готово. Теперь отфильтрованные сваливаются в отдельную спам-группу "suppressed messages", а в основной вывод не попадают.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.10.2013, 00:27

Первые шаги с AVR
Привествую! Решил, что пора слезать с Arduino и недоязыка, писать на чистом C под настоящие AVR и приобрел пару ATtiny13A на попробовать,...

C++ первые шаги (абсолютно первые)
Привет, пользователи CyberForum. Я относительно давний юзер этого форума, и вот, наконец-то решил воплощать мечту в реальность, а именно...

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

Первые шаги
Привет всем! Я хочу попробовать себя в контекстной рекламе. Тематику выбрали - кулинария. Я по бегуну посмотрел и ахнул, цена бида 2-3...

первые шаги в c#
начал изучать c#.и вот столкнулся с первой проблемой. почем-то программа возводит в степень не то число что я ввел. using System; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru