На главную страницу сайта
· Наш магазин · Объявления · Рейтинг · Статьи · Частоты · Копилка · Аэродромы · Live!
· Файлы · Диапазоны · Сигналы · Музей · Mods · LPD-форум · Клуб · Радиостанции
На сайте: гостей - 51,
участников - 9 [ 73иап_S, Несущий свет, uve, grecka_kiler, AlexEX, Хайо, DangerAlex, HDD, gladiator]
 · Начало · Опросы · События · Статистика · Поиск · Регистрация · Правила · FAQ · Галерея ·
 Форум —› Программное обеспечение —› Altera Quartus VERILOG 
Портативные Си-Би радиостанции в нашем магазине


Беркут Hunter
руб.

Егерь 3
руб.

President Randy II P
руб.

Турист 3
руб.

Штурман 80
руб.
 Страница:  ««  1  2  3  4  5  »»Поиск в теме
Автор Сообщение
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 04 Янв 2012 16:02:52 · Поправил: Programmist (04 Янв 2012 16:06:25) #  

Синтезатор. Он синтезирует схему.
Там тоже непонятно, как он работает, что-то сказать можно, если смотреть прохождение каждого бита, через все ключи, а так могут быть и пустые циклы и вообще неизвестно что. На окончательном этапе отладки все можно оптимизировать, судя по качеству и скорости работы. Хорошо, когда знаешь, что нужно получить от железки, а так, по мере разработки все время возникают новые идеи, программа растет, а любое нововведение, как правило, требует половину переписать заново.
Гиббс меня тут достал. Конечно, здорово спектр крутить по кругу, в любую сторону, но в итоге он все равно портится, без фильтров не обойтись :(
petr0v
Участник
Offline2.3
с мая 2010
Balakhna
Сообщений: 412

Дата: 04 Янв 2012 18:20:44 · Поправил: petr0v (04 Янв 2012 19:11:16) #  

RadioKoteg

Значит в доп. коде(two's complement) АЦП выдаёт значения, если инвертировать старший знаковый разряд то можно перевести в положительный диапазон беззнаковый. В доп. коде чтобы на минус один умножить достаточно все биты инвертировать и прибавить 1 к полученному числу, за исключением наибольшего по модулю отрицательного числа, оно само в себя отображается.

думаю сдвинуть на 15 и проверить бит быстрее чем сравнивать два числа 32767. Хз. Или сдвинуть влево на 1 и посмотреть какой бит перенесся это при циклической ротации

Не знаю как в верилоге, на VHDL можно к отдельному биту шины обращаться как к элементу массива безо всяких сдвигов, по идее и на верилоге должны быть подобные конструкции синтаксические.

//таблица конвертации уровней
if (audio_inL >=32767) Level_L = 16'b0111111111111111; else
if (audio_inL >=16384) Level_L = 16'b0011111111111111; else
if (audio_inL >=8192) Level_L = 16'b0001111111111111; else
if (audio_inL >=4096) Level_L = 16'b0000111111111111; else
if (audio_inL >=2048) Level_L = 16'b0000011111111111; else
if (audio_inL >=1024) Level_L = 16'b0000001111111111; else
if (audio_inL >=512) Level_L = 16'b0000000111111111; else
if (audio_inL >=256) Level_L = 16'b0000000011111111; else
if (audio_inL >=128) Level_L = 16'b0000000001111111; else
if (audio_inL >=64) Level_L = 16'b0000000000111111; else
if (audio_inL >=32) Level_L = 16'b0000000000011111; else
if (audio_inL >=16) Level_L = 16'b0000000000001111; else
if (audio_inL >=8) Level_L = 16'b0000000000000111; else
if (audio_inL >=4) Level_L = 16'b0000000000000011; else
if (audio_inL >=2) Level_L = 16'b0000000000000001;
end


Это лучше как-то так сделать:

if (audio_inL[14]) Level_L <= 16'b0111111111111111;
else if (audio_inL[13]) Level_L <= 16'b0011111111111111;
...

else if (audio_inL[1]) Level_L <= 16'b0000000000000001;
else Level_L <= 16'b0000000000000000;

И вообще быстродействие в 200 МГц не нужно для звуковых сигналов, это всё последовательно можно сделать без монстроидальных комбинационных схем.
Реклама
Google
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 04 Янв 2012 18:56:24 #  

Programmist

кот код:

reg [15:0] A;
reg [15:0] B;


always @( negedge CLOCK_27)
begin
if (A == 15`b1111_1111_1111_1111 )
begin
A <= 0;
end else
begin
A <= A + 1;
end
end

always @( negedge CLOCK_50)
begin

if ((A >> 15) == 1)
begin
B <= A;
end
end

assign LEDR[15:0] = B;



а это его схема:


Увеличить
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 04 Янв 2012 19:05:32 #  

а это второй вариант:

reg [15:0] A;
reg [15:0] B;


always @( negedge CLOCK_27)
begin
if (A == 15`b1111_1111_1111_1111 )
begin
A <= 0;
end else
begin
A <= A + 1;
end
end

always @( negedge CLOCK_50)
begin

if (A == 32767)
begin
B <= A;
end
end

assign LEDR[15:0] = B;



и его синтезированная схема:

Увеличить
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 04 Янв 2012 19:21:11 · Поправил: RadioKoteg (04 Янв 2012 19:21:48) #  

можно сделать без монстроидальных комбинационных схем. ну да я туда таблицу в дБ или хочу в линейном или еще какомто например в айком или VX3, вот и такое монстро сравнение. Ну то такое, в итоге синтезатор примерно одинаково сделает схему..
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 05 Янв 2012 19:22:35 #  

Размышляю о SD карточке и закидывании туда сигнала с аудиокарты.
Windk
Участник
Offline3.3
с апр 2007
Тюмень
Сообщений: 3686

Дата: 07 Янв 2012 19:39:52 #  

RadioKoteg

до темы :)



PS.. присматриваюсь к проекту Hermes HPSDR, там проект опен сорс, аппарат на циклоне 3 - и готовое устройство и самому поковыряться можно от души )
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 07 Янв 2012 19:55:29 #  

Windk Рассмешили, это точно так:-)

Вот кто бы помог SD карточку освоить. Пример есть на SOPC на NIOSe, и тот ругается что моя плата чего то там триал.. В общем после праздников буду дальше разбираться.
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 08 Янв 2012 05:02:39 #  

Оставил я на потом флешки-SDешки, там не все так просто как кажется, готовых модулей не нашел в интернете, есть готовый но на NIOS и не рабочий..

Занялся двумя кнопочками SU-скан вверх и SD-скан вниз.
Windk
Участник
Offline3.3
с апр 2007
Тюмень
Сообщений: 3686

Дата: 08 Янв 2012 09:59:54 #  

а СД карточки - это же типа простой I2C, гдет есть примеры работы с атмегами..там вроде только организацию памяти этих карт и доступ нужно разобраться.
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 09 Янв 2012 18:37:01 · Поправил: RadioKoteg (09 Янв 2012 18:38:52) #  

как сравнить больше равно или меньше равно девять четырех битовых бсиди? Помогите!

// -- Переменные сканирование

reg [3:0] Scan_HI_FMHz_1=1;
reg [3:0] Scan_HI_FMHz_2=4;
reg [3:0] Scan_HI_FMHz_3=6;
reg [3:0] Scan_HI_FkHz_1=0;
reg [3:0] Scan_HI_FkHz_2=0;
reg [3:0] Scan_HI_FkHz_3=0;
reg [3:0] Scan_HI_FHz_1=0;
reg [3:0] Scan_HI_FHz_2=0;
reg [3:0] Scan_HI_FHz_3=0;

reg [3:0] Scan_LO_FMHz_1=1;
reg [3:0] Scan_LO_FMHz_2=4;
reg [3:0] Scan_LO_FMHz_3=4;
reg [3:0] Scan_LO_FkHz_1=0;
reg [3:0] Scan_LO_FkHz_2=0;
reg [3:0] Scan_LO_FkHz_3=0;
reg [3:0] Scan_LO_FHz_1=0;
reg [3:0] Scan_LO_FHz_2=0;
reg [3:0] Scan_LO_FHz_3=0;

// -- Переменные VFO
reg [3:0] VFO_FMHz_1=1;
reg [3:0] VFO_FMHz_2=4;
reg [3:0] VFO_FMHz_3=5;
reg [3:0] VFO_FkHz_1=5;
reg [3:0] VFO_FkHz_2=0;
reg [3:0] VFO_FkHz_3=0;
reg [3:0] VFO_FHz_1=0;
reg [3:0] VFO_FHz_2=0;
reg [3:0] VFO_FHz_3=0;
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 09 Янв 2012 22:19:34 · Поправил: RadioKoteg (09 Янв 2012 22:57:01) #  

так ?


Freq_BCD = FMHz_1;
Freq_BCD = Freq_BCD << 4;
Freq_BCD = Freq_BCD + FMHz_2;
Freq_BCD = Freq_BCD << 4;
Freq_BCD = Freq_BCD + FMHz_3;
Freq_BCD = Freq_BCD << 4;

Freq_BCD = Freq_BCD + FkHz_1;
Freq_BCD = Freq_BCD << 4;
Freq_BCD = Freq_BCD + FkHz_2;
Freq_BCD = Freq_BCD << 4;
Freq_BCD = Freq_BCD + FkHz_3;
Freq_BCD = Freq_BCD << 4;

Freq_BCD = Freq_BCD + FHz_1;
Freq_BCD = Freq_BCD << 4;
Freq_BCD = Freq_BCD + FHz_2;
Freq_BCD = Freq_BCD << 4;
Freq_BCD = Freq_BCD + FHz_3;

.
.
.

Scan_HI_BCD = FMHz_1;
Scan_HI_BCD = Scan_HI_BCD << 4;
Scan_HI_BCD = Scan_HI_BCD + FMHz_2;
Scan_HI_BCD = Scan_HI_BCD << 4;
Scan_HI_BCD = Scan_HI_BCD + FMHz_3;
Scan_HI_BCD = Scan_HI_BCD << 4;

Scan_HI_BCD = Scan_HI_BCD + FkHz_1;
Scan_HI_BCD = Scan_HI_BCD << 4;
Scan_HI_BCD = Scan_HI_BCD + FkHz_2;
Scan_HI_BCD = Scan_HI_BCD << 4;
Scan_HI_BCD = Scan_HI_BCD + FkHz_3;
Scan_HI_BCD = Scan_HI_BCD << 4;

Scan_HI_BCD = Scan_HI_BCD + FHz_1;
Scan_HI_BCD = Scan_HI_BCD << 4;
Scan_HI_BCD = Scan_HI_BCD + FHz_2;
Scan_HI_BCD = Scan_HI_BCD << 4;
Scan_HI_BCD = Scan_HI_BCD + FHz_3;


.
.
.


Scan_LO_BCD = FMHz_1;
Scan_LO_BCD = Scan_LO_BCD << 4;
Scan_LO_BCD = Scan_LO_BCD + FMHz_2;
Scan_LO_BCD = Scan_LO_BCD << 4;
Scan_LO_BCD = Scan_LO_BCD + FMHz_3;
Scan_LO_BCD = Scan_LO_BCD << 4;

Scan_LO_BCD = Scan_LO_BCD + FkHz_1;
Scan_LO_BCD = Scan_LO_BCD << 4;
Scan_LO_BCD = Scan_LO_BCD + FkHz_2;
Scan_LO_BCD = Scan_LO_BCD << 4;
Scan_LO_BCD = Scan_LO_BCD + FkHz_3;
Scan_LO_BCD = Scan_LO_BCD << 4;

Scan_LO_BCD = Scan_LO_BCD + FHz_1;
Scan_LO_BCD = Scan_LO_BCD << 4;
Scan_LO_BCD = Scan_LO_BCD + FHz_2;
Scan_LO_BCD = Scan_LO_BCD << 4;
Scan_LO_BCD = Scan_LO_BCD + FHz_3;
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 10 Янв 2012 03:12:25 #  

сравнение по BCD сработало.
DVE
Участник
Offline3.8
с ноя 2006
EU
Сообщений: 5098

Дата: 28 Мар 2012 22:39:42 · Поправил: DVE (28 Мар 2012 22:42:23) #  

Вот и я решил приобщиться к ПЛИС, пришла с ebay платка Altera CycloneII EP2C5T144 FPGA Board+USB Blaster JTAG.
http://www.ebay.com/itm/190501213198?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649

А собственно, чем под нее компилять-то? Quartus II Web Edition это оно?

PS: О, нашел мануал, может кому пригодится - http://marsohod.org/index.php/aquartus2
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 28 Мар 2012 23:51:54 · Поправил: RadioKoteg (29 Мар 2012 00:43:52) #  

А собственно, чем под нее компилять-то? Quartus II Web Edition это оно? Только полная версия! Веб едишин это для демонстрации, для студентов, там работают только некоторые проекты. Нужно полная версия, я пользуюсь 11 версией.
DVE
Участник
Offline3.8
с ноя 2006
EU
Сообщений: 5098

Дата: 06 Апр 2012 09:39:16 · Поправил: DVE (06 Апр 2012 09:39:27) #  

Мне и такой пока хватает.

Схему типа "помигать светодиодом" запустил, работает. Только не пойму, получается что ПЛИС хранит программу только до выключения питания, как ее потом прошить чтобы само работало без usb blaster-a? На отладочной плате есть EPCS4SI8, в нее чем-то залить надо?

Заказал заодно платку с EPM240 Max II CPLD, там флеш встроенный, благо цена с доставкой 13$.
petr0v
Участник
Offline2.3
с мая 2010
Balakhna
Сообщений: 412

Дата: 06 Апр 2012 12:12:28 #  

Обычно делаю на плате два интерфейса JTAG и отдельно для конфигурирования EPCS, EPCS бластером прошивается pof файлом, и после выключения-включения питания FPGA автоматически конфигурируется из EPCS.

Если на плате не сделан разъём для конфигурирования EPCS, то можно сделать это и через JTAG
http://www.altera.com/literature/an/an370.pdf
DVE
Участник
Offline3.8
с ноя 2006
EU
Сообщений: 5098

Дата: 08 Апр 2012 01:21:45 #  

Спасибо. Понял зачем на плате второй разъем есть :)

Еще не очень понятно, откуда брать тактовый сигнал для "главного цикла программы"? На чипе EP2C5T144 есть PIN17, про который Quartus пишет "dedicated clock pin", на него подается 50МГц от генератора. Если я пишу в программе
always @(posedge CLK0) begin
...
end

будет ли внутренний блок успевать выполняться за один такт, или тактовую частоту делить надо? Вообще, внутренние операции с какой скоростью выполняются, тут можно как на процессоре, прикинуть например за сколько тактов делается умножение или другая операция?
petr0v
Участник
Offline2.3
с мая 2010
Balakhna
Сообщений: 412

Дата: 08 Апр 2012 15:42:41 #  

DVE

Входные/выходные сигналы описания верхнего уровня после компиляции в Pin Planner привязываются к нужным ногам микросхемы.

Про слово программы сразу нужно забыть, есть только регистры, комбинационные схемы, конечные автоматы и т. п. Максимальная тактовая частота определяется наибольшей задержкой в комбинационных схемах от регистра до регистра. После компиляции в репорте Timing Analizer можно посмотреть максимальную тактовую, наихудшие задержки в комбинационных схемах.
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 08 Апр 2012 17:57:39 #  

Про слово программы сразу нужно забыть, есть только регистры, комбинационные схемы, конечные автоматы и т. п.
Очень грубо сказать, это пару десятков ведер высокоскоростных 155ла3 из которых вы описываете схему в виде программирования. Точнее из вашего кода программирования синтезатор "паяет" схему состоящей из логики на подобии 155ла3. Это надо осознать..
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 08 Апр 2012 18:06:25 · Поправил: RadioKoteg (08 Апр 2012 18:07:10) #  

Кстати, я поуспокоился применять альтеру на свое радио. Первая причина иррациональность. Вторая причина это то что я не смогу, у меня курилки не хватает освоить сигнальную обработку да и альтеры не хватит для этого надо внешний комп для помощи(решил использовать простой контроллер для связи с компьютером, и комп например на подобии EEE серии). Третье, также курилки не хватает сделать запись обычного вейва на обычную флешку 8 ГгБ. Решил использовать плату Altera DE2 как экспериментальную базу для абстрактных незаконченных извечных экспериментов для осознания возможностей и удивления своего разума.
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 08 Апр 2012 18:35:21 #  
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 05 Янв 2015 19:44:25 #  
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 09 Май 2017 23:12:01 · Поправил: RadioKoteg (10 Май 2017 01:19:16) #  

Накидал частотомер на альтере, работает до 350 МГц, считает до герца без "прескаллеров" в общем получился прямой счет..
С "прескаллером" 3500 МГц точность 10 Гц.

Ну понятное дело счет идет в шеснарике тесть выдает в HEX на экране частота 02FAF080, длина регистра счетчика 32 бита..

Помогите как 32 бит HEX перевести в DEC BCD?
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 10 Май 2017 12:31:22 · Поправил: RadioKoteg (10 Май 2017 12:33:32) #  

можно счет сделать в BCD, цифры сразу в десятичном но счет упал до 100 МГц..
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 10 Май 2017 13:51:35 · Поправил: RadioKoteg (10 Май 2017 13:51:46) #  

да.. до темы до сих пор


Увеличить




:-)
Kattani
Участник
Offline2.5
с янв 2007
KO96BC
Сообщений: 403

Дата: 10 Май 2017 20:37:25 · Поправил: Kattani (10 Май 2017 20:38:00) #  

Помогите как 32 бит HEX перевести в DEC BCD?
Не знаю пробовали ли такой вариант. Я делал на 8 и 12 бит. В принципе можно проследить некую аналогию и расширить под свои нУжды.
module bin_to_bcd(A,ONES,TENS,HUNDREDS);
input [7:0] A;
output [3:0] ONES, TENS;
output [1:0] HUNDREDS;
wire [3:0] c1,c2,c3,c4,c5,c6,c7;
wire [3:0] d1,d2,d3,d4,d5,d6,d7;

assign d1 = {1'b0,A[7:5]};
assign d2 = {c1[2:0],A[4]};
assign d3 = {c2[2:0],A[3]};
assign d4 = {c3[2:0],A[2]};
assign d5 = {c4[2:0],A[1]};
assign d6 = {1'b0,c1[3],c2[3],c3[3]};
assign d7 = {c6[2:0],c4[3]};
add3 m1(d1,c1);
add3 m2(d2,c2);
add3 m3(d3,c3);
add3 m4(d4,c4);
add3 m5(d5,c5);
add3 m6(d6,c6);
add3 m7(d7,c7);
assign ONES = {c5[2:0],A[0]};
assign TENS = {c7[2:0],c5[3]};
assign HUNDREDS = {c6[3],c7[3]};
endmodule


module bin_to_bcd_12b(
input [11:0] a,
output [3:0] ones, tens, hundreds,
output [3:0] thousands);
wire [3:0] c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18;
wire [3:0] d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17, d18;
assign d1 = {1'b0, a[11:9]};
assign d2 = {c1[2:0], a[8]};
assign d3 = {c2[2:0], a[7]};
assign d4 = {c3[2:0], a[6]};
assign d5 = {c4[2:0], a[5]};
assign d6 = {c5[2:0], a[4]};
assign d7 = {c6[2:0], a[3]};
assign d8 = {c7[2:0], a[2]};
assign d9 = {c8[2:0], a[1]};
assign d10 = {1'b0, c1[3], c2[3], c3[3]};
assign d11 = {c10[2:0], c4[3]};
assign d12 = {c11[2:0], c5[3]};
assign d13 = {c12[2:0], c6[3]};
assign d14 = {c13[2:0], c7[3]};
assign d15 = {c14[2:0], c8[3]};
assign d16 = {1'b0, c10[3], c11[3], c12[3]};
assign d17 = {c16[2:0], c13[3]};
assign d18 = {c17[2:0], c14[3]};

add3_1 m1(d1,c1);
add3_1 m2(d2,c2);
add3_1 m3(d3,c3);
add3_1 m4(d4,c4);
add3_1 m5(d5,c5);
add3_1 m6(d6,c6);
add3_1 m7(d7,c7);
add3_1 m8(d8,c8);
add3_1 m9(d9,c9);
add3_1 m10(d10,c10);
add3_1 m11(d11,c11);
add3_1 m12(d12,c12);
add3_1 m13(d13,c13);
add3_1 m14(d14,c14);
add3_1 m15(d15,c15);
add3_1 m16(d16,c16);
add3_1 m17(d17,c17);
add3_1 m18(d18,c18);
assign ones = {c9[2:0], a[0]};
assign tens = {c15[2:0], c9[3]};
assign hundreds = {c18[2:0], c15[3]};
assign thousands = {1'b0, c16[3], c17[3], c18[3]};
endmodule
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 11 Май 2017 01:58:54 · Поправил: RadioKoteg (11 Май 2017 02:25:13) #  

тут http://zengluyang.0fees.net/dds.pdf что-то про bin_to_bcd_16b но на китайском..



module bin_to_bcd_16(
//16 位无符号数转换为 5 个 4 位 BCD 码 (перевод Бит без знака преобразуется в пять 4-битного кода BCD)

binary,
bcd_10k,
bcd_1k,
bcd_100,
bcd_10,
bcd_1
);
input [15:0] binary;
output [3:0]bcd_10k;
output [3:0]bcd_1k;
output [3:0]bcd_100;
output [3:0]bcd_10;
output [3:0]bcd_1;
reg [35:0] tmp;
always @(binary)begin
tmp = 32'b0;
tmp[18:3] = binary;
repeat(13) begin
if(tmp[19:16] > 4)
tmp[19:16] = tmp[19:16] + 3;
if(tmp[23:20] > 4)
tmp[23:20] = tmp[23:20] + 3;
if(tmp[27:24] > 4)
tmp[27:24] = tmp[27:24] + 3;
if(tmp[31:28] > 4)
tmp[31:28] = tmp[31:28] + 3;
if(tmp[35:32] > 4)
tmp[35:32] = tmp[35:32] + 3;
tmp[35:1] = tmp[34:0];
end
end
assign bcd_10k = tmp[35:32];
assign bcd_1k = tmp[31:28];
assign bcd_100 = tmp[27:24];
assign bcd_10 = tmp[23:20];
assign bcd_1 = tmp[19:16];
endmodule
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 11 Май 2017 03:33:03 · Поправил: RadioKoteg (11 Май 2017 03:37:19) #  

проверил работает:



tmp = 32'b0;
tmp[18:3] = F_;
repeat(13)
begin
if(tmp[19:16] > 4) tmp[19:16] = tmp[19:16] + 3;
if(tmp[23:20] > 4) tmp[23:20] = tmp[23:20] + 3;
if(tmp[27:24] > 4) tmp[27:24] = tmp[27:24] + 3;
if(tmp[31:28] > 4) tmp[31:28] = tmp[31:28] + 3;
if(tmp[35:32] > 4) tmp[35:32] = tmp[35:32] + 3;
tmp[35:1] = tmp[34:0];
end
FkHz_2 = tmp[35:32];
FkHz_3 = tmp[31:28];
FHz_1 = tmp[27:24];
FHz_2 = tmp[23:20];
FHz_3 = tmp[19:16];




Как-то 32 бита надо разбить на две 16 бит половинки, найти место переноса, высчитать по отдельности и склеить..
или дописать цикл и сдвинуть все остальное..
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 11 Май 2017 09:34:52 #  

проверил работает:

или дописать



Чтобы 32 бита было что нужно изменить и добавить?
Реклама
Google
 Страница:  ««  1  2  3  4  5  »» 

Создавать сообщения могут только зарегистрированные участники форума.
Войти в форум :: » Логин » Пароль
Начало
Средства связи, рации. Купить радиостанции Motorola, Yaesu, Vertex, приемники, антенны.
Время загрузки страницы (сек.): 0.057; miniBB ®