Testbench - circuitos aritméticos

Linguagem descritiva de hardware

Moderadores: 51, guest2003

Testbench - circuitos aritméticos

Mensagempor chrdcv » 05 Out 2016 16:59

Pessoal, semestre novo, problemas novos...

Descrevendo um MIPS R2000 em Verilog, deparei com o problema de como avaliar a descrição feita da ULA bem como a da unidade de ponto flutuante. Como o processador é de 32b, como faço para avaliar as descrições já que o número de possibilidade para a ULA é de: 2^32 * 2^32 e no caso da unidade de ponto flutuante, as possibilidades devem ser bem maiores. Como a validação destas duas implementações são realizadas pelas empresas "sérias". O interessante é que no caso do Pentium, o pq. que a Intel não conseguiu detectar o erro na operação de ponto flutuante em um dos processadores lançado por ela?

Mais uma questão: o Verilog não possui sobrecarga de operadores básicos (como: !, $, %, &, *, -, +, =, <, >, etc...). Assim, ao descrever por "comportamento" um determinado circuito, estaremos "amarrados" as opções de implementação fornecidas pela ferramenta utilizada (não vale responder que uma outra opção seria a descrição não comportamental)? Existe alguma linguagem de alto nível de descrição de hardware que poderia oferecer maiores possibilidades ao descrever uma ALU bem como unidade de ponto flutuante de forma que haja possibilidade de sobrecarga de operadores (com o intuito de sobrecarregá-los na forma de circuitos)?

Agradeço a ajuda...
Seu Madruga: "O trabalho não é ruim, ruim é ter que trabalhar"
Avatar do usuário
chrdcv
Dword
 
Mensagens: 1580
Registrado em: 13 Out 2006 14:13

Re: Testbench - circuitos aritméticos

Mensagempor pbernardi » 06 Out 2016 18:04

Bom, você deve utilizar o DSP embutido na FPGA para fazer o seu bench. Acho que dá pra garantir que os DSPs internos (DSP48A1 na Spartan 6, DSP48E1 na Artix-7, entre outros) são plenamente testados por várias pessoas no mundo. Partindo desse pressuposto, eu me concentraria em fazer em testbench que testa a integração dos DSPs internos.

Por exemplo, ao se fazer uma multiplicação de 32b, você usaria 3 DSPs internos (18x18 para Spartan 6, 18x25 para FPGA maiores da Xilinx, não sei como são os DSPs da Altera). No DSP físico você assume que está tudo bem, e se concentra em testar a lógica em volta.

Também acho que não dá pra testar 100% em todos os casos, nós não temos os recursos de uma Intel. Mas é possível fazer um bom testbench que cubra o maior espectro de testes possível dados os recursos que você (ou sua empresa) têm a disposição.
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: Testbench - circuitos aritméticos

Mensagempor chrdcv » 07 Out 2016 20:53

Obrigado pbernardi!

Minha intenção era somente conhecer tais métodos ou saber como isso é feito na "indústria", ou se tem algum teorema que garante que sob determinadas formas de implementação, a descrição e síntese não terão erros! Como a minha descrição é para a academia, não tenho tanta disponibilidade de recursos ou mesmo possibilidade do uso de blocos já implementados, uma vez que devo fazer tudo "na unha".

Agradeço pela resposta!
Seu Madruga: "O trabalho não é ruim, ruim é ter que trabalhar"
Avatar do usuário
chrdcv
Dword
 
Mensagens: 1580
Registrado em: 13 Out 2006 14:13


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