PicoBlaze

Linguagem descritiva de hardware

Moderadores: 51, guest2003

PicoBlaze

Mensagempor mastk » 13 Fev 2015 07:57

Alguem usa PicoBlaze? Eh facil, rapido e elegante de implentar, o maior problema dos testes que fiz foi que o compilador dele era muito limitado, esse core ja eh ultrapassado frente co MicroBlaze, core mais avancados como ARM ou o SoCs?
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Re: PicoBlaze

Mensagempor pbernardi » 13 Fev 2015 13:49

Nunca mexi com ele diretamente, mas pelo que li o picoblaze é um MCU de 8 bits, enquanto o microblaze é um controlador de 32 bits.

Picoblaze está para um PIC simples, assim como microblaze está para um ARM simples.
But to us there is but one God, plus or minus one - Corinthians 8:6±2. (xkcd.com)
pbernardi
Word
 
Mensagens: 707
Registrado em: 12 Out 2006 19:01
Localização: Curitiba-PR

Re: PicoBlaze

Mensagempor mastk » 13 Fev 2015 14:07

Sim, mas ocorre a mesma equivalencia em uso? Ja existe a opcao de colocar barramento externo no ARM sintetizado, quando ja nao esta no SoC.
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Re: PicoBlaze

Mensagempor pbernardi » 13 Fev 2015 15:04

Não entendi muito bem a sua dúvida.

Algumas FPGAs vem com ARMs (ou PowerPcs, como no caso das Virtex 4 e 5). Esses casos são de processadores em que o core são gravados direto no die, ou como você colocou, são SoC.

Os micro/picoblaze, por suas vez, são softcores, ou seja, usam lógica da FPGA para montar o processador/controlador.

Então, o uso do picoblaze/microblaze é mais adequando para FPGAs que não tem core fixo (por exemplo, Spartan 3, Spartan 6, Artix 7). Para FPGAs que têm um core fixo, faz mais sentido usar o core que já está lá (ARM=> Virtex 6, Kintex 7, Vintex 7, PowerPC=> Virtex 4, Virtex 5). Usar um pico/microblaze nesses cores só faria sentido se você precisar de um coprocessador.

Isso responde algo da sua dúvida?
But to us there is but one God, plus or minus one - Corinthians 8:6±2. (xkcd.com)
pbernardi
Word
 
Mensagens: 707
Registrado em: 12 Out 2006 19:01
Localização: Curitiba-PR

Re: PicoBlaze

Mensagempor msamsoniuk » 16 Fev 2015 15:49

voce pode fazer seu proprio core risc tambem ueh... se liga nesse cara aqui:

http://darklife.org/pics/xilinx/Screen% ... 7%20PM.png

tem menos de 100 linhas de codigo, possui 16 registros de 16 bits, instrucoes de 16 bits, faz o basicao de aritmetica e logica e possui ateh instrucao de loop com auto-decremento de contador! hahaha

eu ateh montei um assembler basicao para ele:

http://darklife.org/pics/xilinx/risc_src.tgz

claro, bem incompleto ainda, pois fiz isso no sabado passado quando estava deprimido com a chuva e o carnaval hahaha

todas as instrucoes rodam em um clock e consegui colocar 4 destes caras rodando a 50MHz em uma XC3S100E, que dah 200MIPs de performance na FPGA mais barata disponivel. nem coloquei RAM, pq os 16 registros por si acabam funcionando como uma RAM primitiva hahaha mas se vc tiver recursos, pode colocar 64K words de ROM e 64K words de RAM e/ou IO.

de forma geral, as instrucoes sao do tipo:

xxxx dddd ssss oooo

onde xxxx eh um opcode de 4 bits, dddd eh um registro destino, ssss eh um registro fonte e oooo eh um operando imediato curto.

por exemplo, a instrucao de multiplicacao com a notacao:

mul %d0 %s1 15

vai multiplicar o registro 1 com o registro 0, shiftar 15 para a direita e guardar o resultado no registro 0. o %d e %s sao justamente para indicar, respectivamente, destino e fonte, assim podem aparecer em qualquer ordem.

outro exemplo eh como a notacao permite codificar instrucoes novas sem realmente criar elas no core:

a instrucao clr simplesmente eh codificada como:

xor %d0 %s0

e nop eh simplesmente

ror %s0 %d0 0

ou seja, ele rotaciona 0 bits para a direita o registro 0 e armazena o resultado no registro 0. essencialmente, nao faz nada.

e existe algum suporte a operacoes mais elaboradas, como loops, call/return, etc. a vantagem de vc projetar e entender como funciona, eh que vc pode alterar e modificar a vontade. a desvantagem sao as ferramentas: tenho apenas um asm primitivo no momento.
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Re: PicoBlaze

Mensagempor andre_luis » 24 Abr 2015 23:10

Pessoal,


Pelo que entendi, vocês são mais adeptos á XILINX, e o MicroBlaze seria digamos o concorrente natural contra o NiosII da Altera. Sei que pode ser difícil, mas será que poderiam fazer uma comparação o mais isenta possível de ambos ? Meu maior interesse seria no poder de cada um e na facilidade de uso.

Estou aguardando um Kit no qual pretendo rodar o NiosII, mas já fiquei decepcionado mesmo antes de chegar, pois li em algum lugar que a versão que aceita acelerador por hardware é licenciado. e ainda assim a versão free é limitada por 1 ano, e por isso talvez eu tenha de pensar em agora adquirir um kit da XILINX.

Desculpa por pegar carona nesse tópico, mas achei que poderia estar relacionado de algum modo.
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: PicoBlaze

Mensagempor pbernardi » 27 Abr 2015 10:46

Bom, mexi muito pouco com FPGA da Altera, e também não mexo com soft cores da Xilinx (por ora estou fazendo o meu :p).

Mas a ideía é a seguinte para comparação de dados. Procure na internet pelo seguinte:

a) a frequência máxima do soft core numa determinada FPGA (lembro que li em algum lugar que o microblaze chegava a 90-100 MHz em uma Spartan-6, não sei sobre o Nios).
b) a relação MIPS/MHz dos cores, isso deve ter na documentação deles.

Com isso você consegue ter uma idéia sobre o poder de cada um. Sobre a facilidade de uso, bem isso é uma coisa subjetiva neh? Como não uso nem um nem outro, não posso opinar muito.
But to us there is but one God, plus or minus one - Corinthians 8:6±2. (xkcd.com)
pbernardi
Word
 
Mensagens: 707
Registrado em: 12 Out 2006 19:01
Localização: Curitiba-PR

Re: PicoBlaze

Mensagempor mastk » 13 Mai 2015 17:39

Andre, decidiu qual kit? O MicroBlaze tem retricoes de IP, ao menos era a anos atras e um compilador C para ele tambem tinha problemas.
O seu kit ja chegou? Qual escolheu? Esta sendo agradavel o ambiente de trabalho e a ferramenta?

Estou no final do nono semestre da engenharia, em breve serei livre e sao 5 anos de abstinencia na pratica, mal vejo a hora de usar Verilog pesado e ver os resultados.
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Re: PicoBlaze

Mensagempor andre_luis » 13 Mai 2015 22:18

Olha, o que eu queria comprar seria um dos kits DE2 da Terasic, mas o valor é impossivel pra mim e brincar com IPs mais possantes vai ficar pra depois, mas pelo que andei fuçando no SOPC builder, tem bastante IPs disponiveis. Como estou sem grana comprei mesmo um kit low cost de $40 baseado no Cyclone2 da Altera; foi o mínimo que suporta a variante do softcore NIOS2 que não exige licensa. Por ora, não vou fazer nada elaborado, mas vou apenas me familiarizar com a ferramenta. A propósito, o kit ainda não chegou.
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: PicoBlaze

Mensagempor mastk » 14 Mai 2015 08:35

Se for atras de opcoes da Xilinx o fornecedor de kits com o melhor custo beneficio eh a Dilentinc, como ja deve conhecer.
E imagino a sua situacao, eu comprava com frequencia no exterior, mas agora que o dolar explodiu, simplesmente nao da para comprar nada.

Por acaso, seria complexo usar o ColdFire V1, muito caro?
O que acho curioso nesse tipo de aproximacao que o codigo da CPU por fazes eh parte da sinteze e com isso fixa, logo antes de colocar algo vc precisa ter certeza mesmo, correto? Afinal nao ha BDM ou JTAG, ou ha?
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Re: PicoBlaze

Mensagempor msamsoniuk » 14 Mai 2015 23:53

mastk escreveu:Se for atras de opcoes da Xilinx o fornecedor de kits com o melhor custo beneficio eh a Dilentinc, como ja deve conhecer.
E imagino a sua situacao, eu comprava com frequencia no exterior, mas agora que o dolar explodiu, simplesmente nao da para comprar nada.

Por acaso, seria complexo usar o ColdFire V1, muito caro?
O que acho curioso nesse tipo de aproximacao que o codigo da CPU por fazes eh parte da sinteze e com isso fixa, logo antes de colocar algo vc precisa ter certeza mesmo, correto? Afinal nao ha BDM ou JTAG, ou ha?


eh esse cara aqui neh?

http://www.ip-extreme.com/IP/coldfire_altera_v1.shtml

parece que tem BDM sim... no caso de xilinx, ocuparia uma LX9, que custa 18 dolares na digikey com encapsulamento TQFP-144... o lado bom seria o encapsulamento, bem facil de trabalhar. por outro lado, um coldfire V1 de 18 dolares rodando a 80MHz pode ser meio caro, visto que um MCF52255CAF80 com coldfire V2, 512KB de flash, 64KB de SRAM, ethernet, uart, usb, encapsulamento TQFP-100, etc custa apenas 12 dolares. daih acho que vale mais a pena usar o processador normal hehehe claro, nao que a LX9 nao valha a pena... apenas nao esta sendo usada da forma correta: ela tem 16 unidades MAC capazes de trabalhar em paralelo a 250MHz para atingir 4GMAC/s, entao usar esse recurso para acomodar um processador de 80MIPS realmente eh desperdicio. em todo o caso eu sempre mantenho a possibilidade de usar um core RISC dentro da FPGA para resolver problemas mais complexos. porem, ateh o momento, eu consegui resolver todos os problemas usando apenas hardware puro. mas eu vejo mais e mais que ficaria bem mais flexivel usar um core RISC! de fato, se vc pesquisar nos processadores da freescale, vai ter que a maioria dos 683xx possui um core 68k e um coprocessador RISC emulando funcionalidades de hardware. o 68360, em particular, fez tanto sucesso que derivou toda uma gigantesca familia de processadores com core powerpc e coprocessador RISC de comunicacao.
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Re: PicoBlaze

Mensagempor mastk » 15 Mai 2015 16:42

Os simpaticos HCS08 por U$10K!!!
Nao poderia comprar e pagar royalts?
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Re: PicoBlaze

Mensagempor msamsoniuk » 19 Mai 2015 00:53

acho que nao vale a pena nao hein! :)

mastk escreveu:Os simpaticos HCS08 por U$10K!!!
Nao poderia comprar e pagar royalts?
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Re: PicoBlaze

Mensagempor pbernardi » 19 Mai 2015 13:09

Sempre dá pra colocar um core open-source, existem algums disponíveis. Não precisa ficar limitado ao Nios e ao u/picoblaze:

http://opencores.org/projects

Tem ARM, MSP430, MIPS com ferramentas de gravação e depuração, é bem interessante. Mas pode precisar de umas FPGAs maiores, dependendo do core.
But to us there is but one God, plus or minus one - Corinthians 8:6±2. (xkcd.com)
pbernardi
Word
 
Mensagens: 707
Registrado em: 12 Out 2006 19:01
Localização: Curitiba-PR


Voltar para Verilog, VHDL, SystemC ( PLAs, CPLDs, FPGAs, etc... )

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x