Track This Job
Add this job to your tracking list to:
- Monitor application status and updates
- Change status (Applied, Interview, Offer, etc.)
- Add personal notes and comments
- Set reminders for follow-ups
- Track your entire application journey
Save This Job
Add this job to your saved collection to:
- Access easily from your saved jobs dashboard
- Review job details later without searching again
- Compare with other saved opportunities
- Keep a collection of interesting positions
- Receive notifications about saved jobs before they expire
AI-Powered Job Summary
Get a concise overview of key job requirements, responsibilities, and qualifications in seconds.
Pro Tip: Use this feature to quickly decide if a job matches your skills before reading the full description.
Are you passionate about software, and eager to expand into hardware? Do you love statically typed languages and functional programming? Haskell, Rust, Scala? If you're interested in learning how hardware works, particularly the intricate details of CPU design, this position could be perfect for you.
About The Role
Hardware is a vast subject with many expert domains. This position is primarily about behavioural logic with an infinite propagation speed model, also known as digital logic design. Digital logic design separates the concern of correct operation from physical concerns, like frequency, area, power, and layout. This makes digital logic design perfect for software engineers when working in collaboration with hardware engineers who concern themselves with these issues.
The work will largely be in Chisel, and you will be using frameworks like Chipyard. In addition, you will be working with OpenROAD for architectural exploration, and you will learn to interpret reports for power, area, and performance, which will be crucial for architectural exploration. You will learn to read Verilog, which is the de facto interchange format between tools and hardware.
It is not the execution time or memory requirements of the Chisel that is critical, it is that quality of the the Verilog that is generated when Chisel runs(elaboration) that matters. This allows focusing on quality, elegance and clarity of expressing ideas in Chisel, rather than worrying about whether some functional programming concept doesn't run quite as fast as it would have in C++.
Key Responsibilities
- Develop Chisel and Chipyard code, and debug System-on-Chip using simulation and FireSim as well as internal Ascenium tools.
- Profile the system to identify bottlenecks in the microarchitecture.
- Examine existing RISC-V implementations for A/B comparison with Ascenium's technology.
- Collaborate with hardware engineers to identify bottlenecks in terms of frequency, area, and power and to implement solutions in the Chisel code.
- We are using many open source projects, and there will be opportunities to collaborate with, and to contribute to the open source community to help build your open source portfolio
Making a CPU is a "target rich environment." In this environment you will find many opportunities to develop your skills, and to expand your areas of interest, for example move deeper into physical considerations, the CPU core, system concerns, and software integration.
At Ascenium, we have a flat hierarchy, and we encourage engineers to participate in non-engineering business interests, such as work culture, procedures, management, recruitment, and technical evangelism.
Why Join Us?
For more information about why people like to work here, see: https://www.ascenium.com/careers.
Key Skills
Ranked by relevanceReady to apply?
Join Ascenium and take your career to the next level!
Application takes less than 5 minutes