FPGA/Embedded SW Engineer

Job opening ID

Posting title
FPGA/Embedded SW Engineer

Roles and responsibilities
11 month contract position
W2 with full benefits

Job Description:
•Define system-level computational architectures, covering device selection (specifically processors, FPGA, memory, and nonvolatile storage) and communications throughout the instrument data system
•Work with project engineers and scientists to define and refine concepts-of-operations
•Develop, manage, and track FPGA financial, technical, and schedule resources, and provide regular inputs to project management
•Serve as review board chair for FPGA projects in Division 38
•Design and development of FPGAs for instrument command and data handling, external component interfaces, instrument subsystem control, onboard data reduction, and interfacing with embedded microprocessors/microcontrollers (e.g. Microblaze, PPC440, 8051, ARM Cortex-M1), discrete microprocessors/processors/microcontrollers (e.g. UT700, GR712, GR740, 8051), and single-board computers (e.g. RAD750)
•Design and development of low-level software for interfacing with FPGA-based designs (i.e. device drivers)
•Design and development of software, FPGA, and hardware EGSE to be used in support for testing and verifying FPGA implementations
•Testing and debugging FPGAs in a mixed hardware/software environment, verifying existing FPGA designs for high-reliability applications, spacecraft interface, housekeeping data collection, health and safety data collection and handling, and instrument interfaces
•Work in small teams alongside hardware and software engineers to deliver a product to the next level of integration.
•The selected candidate will also be a key team member on future tasks for device evaluation and characterization, circuit analysis, test and support

Required Skills:
•Must be a US Citizen or Green Card Holder
•Offer contingent on ability to successfully pass a background check and drug screen
•Requires a Bachelor’s degree in electronics/electrical engineering, computer engineering, computer science, or software engineering with a minimum of 9 years of related experience; Master’s degree in similar disciplines with a
minimum of 7 years of related experience; or Ph.D. in similar disciplines with a minimum of 5 years related experience.
•Broad-ranging experience and extensive knowledge in the following areas: digital systems, embedded systems, FPGA development (design, implementation, simulation and verification), implementation of data processing and control architectures in a mixed hardware/software environment using Virtex-5, RTG4, ProASIC3, RTAX or similar FPGAs, bus drivers, FPGA device drivers and simulation of the Spacecraft interfaces.
•Experience designing instrument computational systems, defining data and control flow through discrete electronics components, FPGA, microprocessors, and ground data systems, based on high-level project needs.
•Experience working with project system engineering and system leads in performing design trades.
•Experience designing versatile and agile systems that are flexible and robust to changing and fluid project requirements.
•Experience managing and reporting FPGA project financials and schedules
•Extensive experience designing embedded systems
•A thorough understanding of instrument development and testing.
•Extensive experience verifying FPGAs for high-reliability applications (space flight applications preferred)
•Extensive experience in testing and debugging FPGAs in a mixed hardware/software environment
•Extensive understanding and application of advanced principles, theories, concepts and techniques in FPGA development from top-level requirements, through HDL generation, place-and-route, back-annotation, timing analysis, and test-vector generation, to in-system hardware verification.
•Extensive experience and advanced knowledge of System-On-the-Chip architectures and soft-core processors development on FPGAs.
•Mastery of FPGAs design and implementation practices resulting in repeatable, high-yielding products.
•Extensive knowledge in general systems programming in C, with a working knowledge.
•Extensive Experience with large and small-scale digital circuits and digital sub-system test procedure generation, electrical test-characterization, and back-annotation.
•Demonstrated history of success leading small teams of hardware and software engineers to deliver a product to the next level of integration
•Extensive experience with the microprocessors, microcontrollers, and flight computers.
•Extensive understanding and wide application of advanced principles, theories, concepts and techniques in real-Time application development, data acquisition and software/FPGA control systems resulting in contributions to the development of new theories and methods.
•Experience designing and implementing custom EGSE to support FPGA-level testing.
•Broad knowledge of industry and/or academic practices and standards across a range of applications related to systems, FPGA, and software engineering.
•Extensive experience in firmware engineering using SystemVerilog (experience with VHDL is a plus, but new designs will require SystemVerilog)

Desired Skills:
•Extensive knowledge of Laboratory policies and procedures, NASA policies and procedures, and government regulations across a range of applications.
•Thorough knowledge of multiple commonly used spacecraft communication protocols (e.g. SpaceWire, 1553, Ethernet, cPCI, high speed serial, SPI).
•Extensive experience in software engineering using Python
•Extensive experience with low-level boot code and device drivers using assembly language or C
•Extensive experience with UVM, regression testing, and automated testing

Number of positions