Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Мултиплексиране на 4-bit wire към 4 входни шини във Verilog?
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=5992
Страница 1 от 1

Автор:  Ники [ Пет Авг 01, 2008 5:12 pm ]
Заглавие:  Мултиплексиране на 4-bit wire към 4 входни шини във Verilog?

Трябва да мултиплексирам една 4-битова линия между 4 входни 4-битови линии, и опитвам със следния код, който е само за примерно представяне:

wire [3:0] out4;
reg [3:0] first,second;
reg [1:0] selector;

always @*
case ( selector[1:0] )
2'b00: out4[3:0] = { first[0],second[2:0] };
2'b01: out4[3:0] = { first[1:0],second[1:0] };
2'b10: out4[3:0] = { first[2:0],second[0] };
2'b11: out4[3:0] = first[3:0];
endcase

но ми се извежда съобщение за грешка, "Illegal left hend side of blocking assingment"

А когато използвам конструкцията за мултиплексиране между два входа, нама проблем:

assign out[3:0] = selector[0] ? { first[0],second[2:0] } : { first[1:0],second[1:0] }

Сигурно има начин да се превключва N-битов wire изход към няколко N-битови входа.

Къде греша или какво съм пропуснал?

Автор:  Trigger [ Съб Авг 02, 2008 3:54 pm ]
Заглавие: 

Дефинирай си 'wire [3:0] out4' като 'reg [3:0] out4'...

Автор:  Ники [ Съб Авг 02, 2008 8:57 pm ]
Заглавие: 

Стана точно това което исках, след синтеза погледнах схемата и reg компилатора го е заменил с wire.
От твоето съдействие научих още нещо полезно :)

На ред е следващия ми въпрос, но няма да отварям нова тема:

Възможно ли е да се промени стандарта (1.5V, 2.5V..3.3V и т.н) на вход/изход без да се препрограмира FPGA, т.е. подавам сигнал или команда през логиката и да променям директно конфигурационните битове на стандарта на избран пин?

Автор:  Trigger [ Нед Авг 03, 2008 12:52 am ]
Заглавие: 

До колкото ми е известно неможе...така или иначе ще трябва да го препрограмираш....btw какъв прибор ползваш..ако не е тайна ест :D ...понеже така мн общо ми звучи, като говорим по принцип за FPGA

Автор:  syscop [ Нед Авг 03, 2008 11:27 am ]
Заглавие: 

Ако не са ти много жиците може да използваш нещо от типа на SN74LVC1T45

Автор:  Ники [ Нед Авг 03, 2008 1:39 pm ]
Заглавие: 

Trigger написа:
До колкото ми е известно неможе...така или иначе ще трябва да го препрограмираш....btw какъв прибор ползваш..ако не е тайна ест :D ...понеже така мн общо ми звучи, като говорим по принцип за FPGA

нямам поглед върху FPGA Като цяло, за момента боря спартан3-200

syscop написа:
Ако не са ти много жиците може да използваш нещо от типа на SN74LVC1T45


хубаво е да се чете заглавието и въпроса на темата преди да се отговори нещо без връзка с тях!

Автор:  syscop [ Нед Авг 03, 2008 2:17 pm ]
Заглавие: 

Като иде дума за четене - то си пише всичко: Spartan-3 Generation FPGA User Guide, точката Using I/O Resources. Може също: Spartan-3 FPGA Family Data Sheet, IOBs, SelectIO Interface Signal Standards
Тогава въпросът ти става напълно излишен :)

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/