mmicko / enigmaFPGA

Enigma in FPGA

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

enigmaFPGA

Enigma in FPGA, made for learning Verilog as part of presentation on BalcCon 2017.

Version of code from conference is at separate branch (Balccon2017): https://github.com/mmicko/enigmafpga/tree/Balccon2017

Due to limitation of presentation uart_rx and uart_tx modules are used from : https://www.nandland.com/vhdl/modules/module-uart-serial-port-rs232.html

Project contains build files for various targets.

  • make - creates binary for Go Board (using yosis and arachne-pnr)
  • make blackice - creates binary for BlackIce FPGA
  • make prog - programs Go Board (using iceprog)
  • make test - run Verilog test for encryption (using iverilog)
  • make testrotor - run Verilog test for rotor rotating (using iverilog)
  • make run - run C++ tests (using verilator)

More explanation and Javascript reference application at : http://enigma.louisedade.co.uk/enigma.html

About

Enigma in FPGA

License:MIT License


Languages

Language:Verilog 57.5%Language:Python 21.5%Language:C++ 13.5%Language:Makefile 7.4%Language:Shell 0.1%