⌖
Praha
Popis pracovní pozice
Vyvíjíme vysoce výkonné digitální systémy, platformy pro zpracování dat, telekomunikační
řešení, senzorové systémy a další hardwarově-softwarové komplexy pracující v reálném čase.
Hledáme FPGA Engineera, který se bude podílet na celém procesu vývoje FPGA řešení – od
návrhu architektury přes integraci a testování až po uvedení do provozu.
Hlavní pracovní náplň:
1.
Vývoj RTL kódu v jazycích Verilog, SystemVerilog nebo VHDL.
2.
Návrh a optimalizace digitálních algoritmů pro FPGA.
3.
Vývoj a integrace vlastních IP jader (IP cores).
4.
Provádění funkční a časové verifikace.
5.
Analýza a odstraňování problémů souvisejících s časováním (timing bottlenecks).
6.
Vývoj testbenchů a automatizovaných testovacích nástrojů.
7.
Práce s vysokorychlostními datovými rozhraními.
8.
Integrace FPGA řešení se systémy založenými na Linuxu.
9.
Příprava technické dokumentace.
Požadované znalosti a zkušenosti:
1.
Minimálně 2 roky zkušeností s vývojem pro FPGA.
2.
Pokročilá znalost jazyků Verilog, SystemVerilog nebo VHDL.
3.
Zkušenosti s FPGA platformami AMD/Xilinx, Intel/Altera nebo obdobnými řešeními.
4.
Praktické zkušenosti s nástroji Vivado, Quartus, ModelSim nebo QuestaSim.
5.
Znalost timing analysis, CDC (Clock Domain Crossing), správy constraints a návrhu
clock-domain architektury.
6.
Zkušenosti s DSP bloky, BRAM, FIFO, PLL/MMCM a SERDES.
7.
Porozumění principům pipeliningu, optimalizace využití zdrojů a timing closure.
Výhodou bude:
1.
Zkušenost s platformami SoC a FPGA SoC.
2.
Zkušenosti v oblasti digitálního zpracování signálů (DSP), telekomunikačních systémů
nebo senzorových platforem.
3.
Zkušenosti s rozhraními JESD204B/C, PCIe a Ethernet 10G/25G/100G.
4.
Zkušenosti s paměťmi DDR3, DDR4 a DDR5.
5.
Zkušenosti s rozhraními AXI, SPI, I2C, UART, CAN, LVDS a MIPI.
6.
Zkušenosti s vývojem FFT/IFFT, DMA a digitálních filtrů.
7.
Zkušenosti s vývojem Linux device driverů.
8.
Zkušenosti s nástrojem MATLAB/Simulink HDL Coder.
9.
Znalost analogové elektroniky a vysokorychlostních elektronických systémů.
Další technické dovednosti
1.
C/C++.
2.
Python.
3.
Bash.
4.
TCL.
5.
Git.
6.
Docker.
7.
GitLab CI/CD.
Měkké dovednosti (Soft Skills)
1.
Samostatnost a odpovědnost.
2.
Systematické myšlení.
3.
Schopnost pracovat na rozsáhlých technických projektech.
4.
Smysl pro detail.
5.
Schopnost přijímat technická rozhodnutí a odborně je obhájit.
Jazyky
1.
Čeština — povinná, úroveň C1–C2.
2.
Angličtina — minimálně úroveň B2.
3.
Schopnost připravovat a vést technickou dokumentaci v anglickém jazyce.
Výběrové řízení
1.
Technický pohovor.
2.
Praktický testovací úkol.
3.
Závěrečný pohovor.
Testovací úkol
Návrh a implementace digitálního řetězce pro zpracování dat s přenosem informací
prostřednictvím PCIe DMA a základním rozhraním pro monitorování výsledků.