Você está na página 1de 6

Quantum Computing VHDL Library for Hardware Synthesis

Igor 1 , Luis Henrique2 , Edmilson3 , Renata H. S. Reiser4


1
CDTEC – Universidade Federal de Pelotas (UFPEL)
Pelotas, RS – Brazil
ibvalerao@inf.ufpel.edu.br, luiz@, edmilson@

Abstract. This paper presents the development of a VHDL library for quantum
computing aimed at hardware synthesis. The library facilitates the implementa-
tion of quantum algorithms in physical quantum computing devices, addressing
challenges such as quantum gate representation, state initialization, and mea-
surement processes. The VHDL-based approach enables leveraging existing
hardware design and verification methodologies for quantum computing, thus
bridging the gap between quantum algorithm development and practical hard-
ware realization.

Resumo. Este artigo apresenta o desenvolvimento de uma biblioteca em VHDL


para computação quântica visando a sı́ntese em hardware. A biblioteca fa-
cilita a implementação de algoritmos quânticos em dispositivos de computação
quântica fı́sicos, abordando desafios como a representação de portas quânticas,
inicialização de estado e processos de medição. A abordagem baseada em
VHDL permite aproveitar as metodologias existentes de design e verificação
de hardware para computação quântica, reduzindo assim a lacuna entre o de-
senvolvimento de algoritmos quânticos e a realização prática em hardware.

1. Introdução
A computação quântica representa uma das fronteiras mais promissoras e desafi-
adoras da ciência e tecnologia contemporâneas. Diferenciando-se fundamentalmente
da computação clássica por basear-se nos princı́pios da mecânica quântica [6], como
superposição e entrelaçamento, ela promete revolucionar diversos campos, desde a crip-
tografia até o desenvolvimento de novos medicamentos, pela sua capacidade de processar
informações em uma escala e velocidade inatingı́veis para computadores clássicos. A
habilidade única de um computador quântico de analisar uma vasta quantidade de possi-
bilidades simultaneamente abre portas para a solução de problemas complexos que são
considerados impraticáveis ou extremamente demorados para a tecnologia atual. No en-
tanto, apesar de seu potencial transformador, a realização prática da computação quântica
enfrenta obstáculos significativos, tais como a limitação de recursos computacionais, de-
safiando cientistas e engenheiros a encontrar soluções inovadoras para tornar essa tec-
nologia acessı́vel e eficaz. Dentre os diversos modelos computacionais para a computação
quântica, o Modelo de Circuitos Quânticos [2] destaca-se como o mais conhecido e uti-
lizado para interação com o hardware quântico atual. A implementação prática de com-
putadores quânticos é um campo de pesquisa bastante ativo. Apesar dos avanços, o acesso
a computadores quânticos fı́sicos ainda é bastante restrito. Além disso, as máquinas ex-
istentes estão sujeitas a erros aleatórios devido à decoerência quântica, além de serem
limitadas em número de qubits, conectividade e correção de erros integrada. Assim, a
simulação em hardware clássico torna-se fundamental para permitir que pesquisadores de
algoritmos quânticos testem e validem novos algoritmos em um ambiente com simulação
de erros. Os sistemas de computação estão se tornando cada vez mais heterogêneos,
utilizando uma variedade de aceleradores de hardware para aumentar a velocidade das
tarefas computacionais. Um desses aceleradores, os Arrays de Portas Programáveis em
Campo [4] (FPGAs) permitem criar circuitos altamente paralelos especializados capazes
de imitar as propriedades de paralelismo quântico das portas quânticas, particularmente
para a classe de algoritmos quânticos onde muitos cálculos diferentes podem ser real-
izados simultaneamente ou como parte de um pipeline profundo. Diante dos desafios
enfrentados pela computação quântica, como a decoerência quântica e a limitação de re-
cursos, este artigo propõe uma abordagem utilizando FPGAs, programados via VHDL [3]
(Very high speed integrated circuit Hardware Description Language), para simular algo-
ritmos quânticos. Exploraremos inicialmente os conceitos fundamentais da computação
quântica, essenciais para a compreensão das possibilidades e limitações dessa tecnolo-
gia emergente. Em seguida, detalharemos como a linguagem VHDL pode ser apli-
cada na programação de FPGAs para criar simulações eficientes e flexı́veis, culminando
na apresentação de uma biblioteca desenvolvida especificamente para esse fim. Essa
abordagem não apenas supera algumas das barreiras atuais ao acesso e à eficácia da
computação quântica mas também abre caminhos para pesquisa e desenvolvimento fu-
turos nesse campo.

2. Fundamentos da computação clássica


A computação clássica, tal como a conhecemos hoje, é fundamentada nos princı́pios
da lógica booleana e na manipulação de bits, que são a unidade básica de informação,
representando dois estados possı́veis: 0 ou 1. Essa dualidade reflete a natureza binária
do hardware computacional, onde transistores — os blocos construtivos dos circuitos
integrados — operam como interruptores que podem estar em um de dois estados: ligado
ou desligado.

Figure 1. Representação binária do número 87.

A lógica booleana, com suas operações fundamentais de AND, OR e NOT, é empre-


gada no design de circuitos digitais para processar informações binárias. Os circuitos
lógicos construı́dos a partir dessas operações básicas podem ser combinados em estru-
turas mais complexas, como somadores, multiplicadores, e registradores, permitindo a
realização de todas as operações computacionais fundamentais, a porta NAND sendo
uma porta universal capaz de realizar tudo que é computável.
A complexidade e a eficiência dos circuitos lógicos modernos são o resultado direto
da inovação contı́nua em tecnologias de semicondutores, permitindo uma miniaturização
Figure 2. Exemplo de um circuito clássico com duas entradas (A,B) e uma saı́da
Q.

sem precedentes e um poder de processamento exponencialmente crescente. No entanto,


à medida que nos aproximamos dos limites fı́sicos da miniaturização, enfrentamos de-
safios crescentes relacionados à eficiência energética e à dissipação de calor, pressionando
a indústria a buscar alternativas inovadoras. Uma dessas alternativas é a computação
quântica, que, ao contrário da computação clássica, explora os princı́pios da mecânica
quântica para processar informações de maneiras radicalmente novas e mais eficientes
para certos tipos de problemas.

2.1. Fundamentos da computação quântica


A computação quântica é um campo cientı́fico dedicado ao estudo e aplicação das teo-
rias e propriedades da mecânica quântica na área da computação. Ao contrário dos com-
putadores clássicos, os computadores quânticos operam conforme as leis probabilı́sticas
da fı́sica quântica, oferecendo o potencial de resolver certos tipos de problemas de forma
mais eficiente que os computadores tradicionais. Os computadores quânticos, assim como
seus equivalentes clássicos, consistem em hardware e software, utilizando qubits como
sua unidade fundamental de informação. Os qubits, diferentemente dos bits clássicos,
aproveitam propriedades únicas da mecânica quântica, como superposição e emaran-
hamento, permitindo processamento de informações de maneira paralela e eficiente.

Figure 3. Representação geometrica de um qbit utilizando a esfera de bloch.

A Esfera de Bloch é uma representação geométrica de um qubit no espaço, fornecendo


uma maneira intuitiva de visualizar o estado de um qubit como um ponto na superfı́cie de
uma esfera. Diferentemente dos bits clássicos, cujos estados são binários e lineares, a na-
tureza multidimensional dos qubits e sua capacidade de existir em qualquer superposição
de estados exigem uma representação que possa capturar essa complexidade. O emaran-
hamento quântico, também conhecido como entrelaçamento quântico, é um fenômeno in-
trigante da mecânica quântica no qual duas ou mais partı́culas se tornam interdependentes
de tal maneira que as propriedades de uma estão intrinsecamente ligadas às propriedades
da outra, independentemente da distância entre elas. Esse fenômeno é crucial para o de-
senvolvimento de tecnologias quânticas, como computação e criptografia quântica, pois
permite a correlação instantânea entre qubits, independentemente da distância entre eles.
As portas quânticas, operadores matriciais unitários que atuam nos qubits, de-
sempenham um papel central na computação quântica. Analogamente às portas lógicas
em computação clássica, as portas quânticas são usadas para realizar diversas operações,
incluindo transformações de estado quântico, rotações e emaranhamento. Elas são os
componentes essenciais dos circuitos quânticos, responsáveis pela implementação de al-
goritmos quânticos e pela realização de cálculos em computadores quânticos.

Figure 4. Circuito quântico que simula o circuito clássico da segunda seção.

Similar aos sistemas clássicos, existe um conjunto de portas quânticas universais que
aproxima qualquer porta quântica para uma precisão desejada. Alguns exemplos de con-
juntos universais são : {CNOT, Todas portas de 1 qbit}, { CNOT, H, T }, ... , { CNOT,
Ry (π/4 ), S }.

3. VHDL para computação quântica


A abordagem de projeto para o desenvolvimento de dispositivos lógicos programáveis
com auxı́lio computacional, conhecida como PLDs (Programmable Logic Device), ofer-
ece uma metodologia para conceber e descrever circuitos digitais por meio de ferramentas
de descrição de hardware (HDL). Essas linguagens de programação são fundamentadas
nas estruturas e comportamentos de seus componentes, manipulando equações booleanas,
tabelas verdade e operações complexas de maneira direta. Na descrição estrutural, é de-
talhada a arquitetura dos componentes e suas interconexões dentro do circuito, enquanto
na descrição comportamental, modela-se o comportamento dos componentes do circuito.
A sı́ntese lógica nas HDLs assegura a geração automática do circuito digital,
acompanhada por uma biblioteca de componentes. Atualmente, as duas principais
aplicações do VHDL [6, 5, 11, 1] encontram-se na programação de dispositivos lógicos
como FPGA e nas aplicações especı́ficas de circuitos integrados ASICs (Application
Specific Integrated Circuits). Utilizando a ferramenta Quartus II da empresa Altera [1]
para a geração do código VHDL, possibilitou-se projetar e simular um FPGA (inserir
especificação) para validar o código desenvolvido na simulação do dispositivo IMZ.
Destaca-se, entre as principais caracterı́sticas, a capacidade do VHDL na
interpretação da simulação por meio de diversas ferramentas, facilitando a análise da
complexidade (número de bits, portas) e a dimensão correspondente da área do circuito
interno gerado. Ao contrário da programação essencialmente baseada em computações
sequenciais, o VHDL adota uma abordagem concorrente. Ao evitar as limitações associ-
adas ao acesso à memória sequencial, torna-se uma linguagem atrativa para a execução
de algoritmos paralelos, sendo essa caracterı́stica de importância fundamental no contexto
quântico.
A motivação para o uso do VHDL neste trabalho reside na busca por uma
descrição dos circuitos quânticos seguindo os padrões estabelecidos para os circuitos
clássicos.

4. Estudos de caso e aplicações


O algoritmo Bernstein-Vazirani é um importante algoritmo quântico na área da
computação quântica. Ele é usado para encontrar um número escondido (ou ”secreto”)
em uma função que é implementada por um oráculo. Em termos simples, o algoritmo
resolve um problema de paridade de um número binário secreto, revelando esse número
com apenas uma única consulta ao oráculo.
O algoritmo de Bernstein-Vazirani é uma extensão do problema de Deutsch-Josza
para funções de paridade de cadeias de bits secretas. Ele demonstra a capacidade dos
computadores quânticos de resolver certos problemas de forma mais eficiente do que os
computadores clássicos. Além disso, o algoritmo de Bernstein-Vazirani é um exemplo de
como a computação quântica pode superar a computação clássica em termos de complex-
idade computacional.
O algoritmo quântico recursivo de Bernstein-Vazirani é uma extensão do algo-
ritmo originalmente proposto por Bernstein e Vazirani, projetado para resolver problemas
de forma eficiente em computadores quânticos. A principal inovação deste algoritmo re-
side na sua capacidade de lidar com problemas recursivos, ampliando significativamente
a classe de problemas que os computadores quânticos podem resolver de maneira eficaz.
Ao contrário dos computadores clássicos, que muitas vezes enfrentam dificul-
dades em lidar com problemas recursivos devido à sua natureza exponencial, os com-
putadores quânticos podem explorar a sobreposição quântica para realizar cálculos de
forma paralela, reduzindo assim o tempo necessário para resolver problemas complexos.
O algoritmo de Bernstein-Vazirani opera com um oráculo especı́fico que fornece
informações sobre uma função oculta. Em uma única chamada ao oráculo, o algoritmo
quântico é capaz de extrair todas as informações relevantes sobre a função, revelando
seus parâmetros ocultos de maneira eficiente. Em contraste, os algoritmos clássicos geral-
mente exigem um número significativamente maior de consultas ao oráculo para alcançar
o mesmo resultado, tornando-os menos eficientes em problemas recursivos.
No algoritmo Bernstein-Vazirani, são aplicadas as seguintes portas quânticas:
• Porta CNOT (Controlled-NOT): Realiza uma operação controlada, onde o estado
do qubit de controle determina se a porta NOT é aplicada ao qubit de destino .
Essas portas são essenciais para a implementação do algoritmo Bernstein-Vazirani
e são utilizadas para manipular os qubits e realizar cálculos quânticos.

5. Conclusion
** FAZER ** The conclusion summarizes the contributions of the VHDL library to the
field of quantum computing and outlines future work for enhancing its functionality and
supporting more complex quantum algorithms.

References
[1] Igor Basilio Valerão. Código Fonte. Disponı́vel em: https://github.com/
Igor-Basilio/TB_CQHW. Acesso em: 06/02/2024.
[2] Michael A. Nielsen and Isaac L. Chuang. Quantum Computation and Quantum Informa-
tion. Cambridge University Press, 10th anniversary edition, 2010.
[3] Douglas L. Perry. VHDL: Programming by Example. McGraw-Hill, 4th edition, 2002.
[4] Pong P. Chu. FPGA Prototyping by VHDL Examples: Xilinx Spartan-3 Version. John
Wiley & Sons, 2008.
[5] Preskill, J. (2018). Quantum computing in the NISQ era and beyond. Quantum, 2, 79.
[6] R. Shankar, Principles of Quantum Mechanics. Springer, 2011
[7] Ladd, T. D., Jelezko, F., Laflamme, R., Nakamura, Y., Monroe, C., O’Brien, J. L. (2010).
Quantum computers. Nature, 464(7285), 45-53.

Você também pode gostar