janco
* HardCaml - DSP for FPGA/ASIC, * embedded SW in OCaml (running on Xilinx MicroBlaze), * HardCaml example: AXI interface, GPIO, SPI, cordic, * FPGA: LUTs and regs, BRAM, DSP,
skip to 9:40 if you are familiar with FPGA, skip to 17:50 if you know HDLs, go to 37:10 for a demo
* HardCaml datatypes: registers, wires (can be used before they are assigned), memory, ...
* API: arithmetic, logic, `pipeline`, `reg`, bit selects, `width` --> useful for HW generation, `inst` - use VHDL and Verilog in HardCaml
* signed and unsigned types: checks at compilation, * `bits` = non-synthesizable, `signal`= synthesizable, * `Always` ~ Verilog `always` - used mainly for FSM
* built-in cycle-accurate simulator: supports multiple process, MicroBlaze simulator (instruction set simulator)
* terminal-based waveform viewer and VCD export
* formal verification: SAT solvers - boolean function --> SAT/UNSAT
* software: Ocaml -> bytecode -> Ocaml interpreter for MB, C-stubs in Ocaml library, no signals, no threads, no Unix
* code for HardCaml available on Jane Street GitHub
There is also an International Office (https://guest-services.desy.de/international_office/index_en...) providing help when dealing with government and city administration.
DESY is one of the world’s leading research centres for photon science, particle and astroparticle physics as well as accelerator physics.
MSK (Maschine Strahlkontrollen) group develops, builds and operates complex control systems for beam control and beam diagnostics for FLASH, PETRA III and European XFEL. The newly-established MicroTCA Technology Lab at DESY will adapt, develop and market the high-end electronics for external customers in research and industry.
Tech stack:
* Hardware: mostly FPGA (Xilinx high-end)
* Platoform: MicroTCA.4
* OS: GNU/Linux
* Software: DOOCS, EPICS, Python
Firmware developer: http://www.desy.de/v2/docs/1498038584.pdf (in German)Software developer: http://www.desy.de/v2/docs/1497019079.pdf (in German)
DESY is one of the world’s leading research centres for photon science, particle and astroparticle physics as well as accelerator physics.
MSK (Maschine Strahlkontrollen) group develops, builds and operates complex control systems for beam control and beam diagnostics for FLASH, PETRA III and European XFEL. The newly-established MicroTCA Technology Lab at DESY will adapt, develop and market the high-end electronics for external customers in research and industry.
Tech stack:
* Hardware: mostly FPGA (Xilinx high-end)
* Platoform: MicroTCA.4
* OS: GNU/Linux
* Software: DOOCS, EPICS, Python
Firmware developer: http://www.desy.de/v2/docs/1498038584.pdf (in German)Software developer: http://www.desy.de/v2/docs/1497019079.pdf (in German)
http://www-conf.slac.stanford.edu/wao2012/talks/Thu_Aug9/McG...
A better comparison would check for zero somehow like this:
bool zero(float x) { return std::abs(x) <= std::abs(x)*FLT_EPSILON; }