horizon eda
play

horizon EDA whats new Lukas Kramer 03.02.2019 FOSDEM 2019 Lukas - PowerPoint PPT Presentation

horizon EDA whats new Lukas Kramer 03.02.2019 FOSDEM 2019 Lukas K., FOSDEM 2019 1 / 20 Motivation Why write an EDA package from scratch in 2016? Lukas K., FOSDEM 2019 2 / 20 Motivation Why write an EDA package from scratch in 2016?


  1. horizon EDA what’s new Lukas Kramer 03.02.2019 FOSDEM 2019 Lukas K., FOSDEM 2019 1 / 20

  2. Motivation Why write an EDA package from scratch in 2016? Lukas K., FOSDEM 2019 2 / 20

  3. Motivation Why write an EDA package from scratch in 2016? • Convenient and collaborative management of symbols, etc. avoiding redundancy • Proper support for parts • Unified editor • Schematic editor that knows about nets • Rule-driven design • Explicit references (i.e. not by name / location) • Make use of OpenGL 3 features • Playground for experimentation Lukas K., FOSDEM 2019 2 / 20

  4. Implementation C++14 Lukas K., FOSDEM 2019 3 / 20

  5. Implementation ∼ 70 kLOC C++14 Lukas K., FOSDEM 2019 3 / 20

  6. Implementation ∼ 70 kLOC C++14 Gtk3 ≥ 3.20 Lukas K., FOSDEM 2019 3 / 20

  7. Implementation ∼ 70 kLOC C++14 Gtk3 ≥ 3.20 Builds and runs on Linux and Windows Lukas K., FOSDEM 2019 3 / 20

  8. Implementation ∼ 70 kLOC JSON C++14 Gtk3 ≥ 3.20 Builds and runs on Linux and Windows Lukas K., FOSDEM 2019 3 / 20

  9. Implementation ∼ 70 kLOC 499bf624-b2f1-4366-8b9a-0eeb2c8fbb3f JSON C++14 Gtk3 ≥ 3.20 Builds and runs on Linux and Windows Lukas K., FOSDEM 2019 3 / 20

  10. Implementation UUIDs ∼ 70 kLOC JSON C++14 Gtk3 ≥ 3.20 Builds and runs on Linux and Windows Lukas K., FOSDEM 2019 3 / 20

  11. The Pool What’s wrong with libraries • Like a file system with only one level of hierachy • Not a database Lukas K., FOSDEM 2019 4 / 20

  12. The Pool What’s wrong with libraries The Pool • Each item is an individual JSON file • Like a file system with only one level of • Metadata is stored in a SQLite hierachy database • Not a database • Only contains real parts / parts that can be mapped to a real part Lukas K., FOSDEM 2019 4 / 20

  13. The Pool Entity Symbol 1 Unit 1 • Gate A • Gate B Symbol 2 • Gate P Unit 2 • Gate ... Part • Entity • Package Package Padstack A • Pad 1 • Pad 2 Padstack B • Pad n Lukas K., FOSDEM 2019 5 / 20

  14. The Pool Entity ? Symbol 1 Unit 1 • Gate A ? • Gate B Symbol 2 • Gate P Unit 2 • Gate ... Part • Entity • Package ? Package Padstack A • Pad 1 • Pad 2 Padstack B • Pad n Lukas K., FOSDEM 2019 5 / 20

  15. The Pool Entity Symbol 1 Unit 1 • Gate A • Gate B Symbol 2 • Gate P Unit 2 • Gate ... Part • Entity • Package Package Padstack A • Pad 1 • Pad 2 Padstack B • Pad n Lukas K., FOSDEM 2019 5 / 20

  16. The Pool Entity Symbol 1 Unit 1 • Gate A • Gate B Symbol 2 • Gate P Unit 2 • Gate ... Part • Entity • Package Package Padstack A • Pad 1 • Pad 2 Padstack B • Pad n Bomazi, Wikimedia Commons, CC-BY-SA Lukas K., FOSDEM 2019 5 / 20

  17. The Pool Entity Symbol 1 Unit 1 • Gate A • Gate B Symbol 2 • Gate P Unit 2 • Gate ... Part • Entity • Package Package Padstack A • Pad 1 • Pad 2 Padstack B • Pad n Lukas K., FOSDEM 2019 5 / 20

  18. The Pool Entity Symbol 1 Unit 1 • Gate A • Gate B Symbol 2 • Gate P Unit 2 • Gate ... Part • Entity • Package Package Padstack A • Pad 1 • Pad 2 Padstack B • Pad n Lukas K., FOSDEM 2019 5 / 20

  19. The Pool Entity Symbol 1 Unit 1 • Gate A • Gate B Symbol 2 • Gate P Unit 2 • Gate ... Part • Entity • Package Package Padstack A • Pad 1 • Pad 2 Padstack B • Pad n Lukas K., FOSDEM 2019 5 / 20

  20. The Pool Entity Symbol 1 Unit 1 • Gate A • Gate B Symbol 2 • Gate P Unit 2 • Gate ... Part • Entity • Package Package Padstack A • Pad 1 • Pad 2 Padstack B • Pad n Lukas K., FOSDEM 2019 5 / 20

  21. The Pool Entity 1.55 mm 1.0mm Symbol 1 Unit 1 • Gate A get -parameter [ solder_mask_expansion ] • Gate B 2 * +xy Symbol 2 • Gate P Unit 2 set -shape [ mask -ob obround ] • Gate ... Part 1.15 mm • Entity get -parameter [ solder_mask_expansion ] + • Package 1.55 mm Package get -parameter [ solder_mask_expansion ] Padstack A • Pad 1 2 * + set -shape [ mask -rect rectangle ] • Pad 2 Padstack B • Pad n ... Lukas K., FOSDEM 2019 5 / 20

  22. The Pool Entity Symbol 1 Unit 1 • Gate A • Gate B Symbol 2 • Gate P Unit 2 • Gate ... Part • Entity • Package Package Padstack A • Pad 1 • Pad 2 Padstack B • Pad n Lukas K., FOSDEM 2019 5 / 20

  23. The Pool Entity Symbol 1 Unit 1 • Gate A • Gate B Symbol 2 • Gate P Unit 2 • Gate ... Part • Entity • Package Package Padstack A • Pad 1 • Pad 2 Padstack B • Pad n Lukas K., FOSDEM 2019 5 / 20

  24. The Pool Entity Symbol 1 Unit 1 • Gate A • Gate B Symbol 2 • Gate P Unit 2 • Gate ... Part • Entity • Package Package Padstack A • Pad 1 • Pad 2 Padstack B • Pad n Lukas K., FOSDEM 2019 5 / 20

  25. What’s new First real-world board Lukas K., FOSDEM 2019 6 / 20

  26. What’s new First real-world board Lukas K., FOSDEM 2019 6 / 20

  27. What’s new Length tuning Lukas K., FOSDEM 2019 7 / 20

  28. What’s new BOM Export Lukas K., FOSDEM 2019 8 / 20

  29. What’s new Parametric part search Lukas K., FOSDEM 2019 9 / 20

  30. What’s new Smart head up display Lukas K., FOSDEM 2019 10 / 20

  31. What’s new Smart head up display Lukas K., FOSDEM 2019 10 / 20

  32. What’s new Smart head up display Lukas K., FOSDEM 2019 10 / 20

  33. What’s new Copying placement and tracks – Motivation Lukas K., FOSDEM 2019 11 / 20

  34. What’s new Copying placement and tracks – Schematic Lukas K., FOSDEM 2019 12 / 20

  35. What’s new Copying placement and tracks – Board Lukas K., FOSDEM 2019 13 / 20

  36. What’s new Copying placement and tracks – Board Lukas K., FOSDEM 2019 14 / 20

  37. What’s new Copying placement and tracks – Board Lukas K., FOSDEM 2019 15 / 20

  38. What’s new Even more • Incremental search • Smooth zooming • Title blocks • Customizable keyboard shortcuts • Customizable colors • Multithreaded DRC • Edit board from bottom side • Calculations in numerical entries • Lasso and paint selection • Keepouts Lukas K., FOSDEM 2019 16 / 20

  39. What’s next Release 1.0 Lukas K., FOSDEM 2019 17 / 20

  40. What’s next Release 1.0 Improve out of the box experience User docs Lukas K., FOSDEM 2019 17 / 20

  41. Links github.com/carrotIndustries/horizon github.com/carrotIndustries/x-band-tx Lukas K., FOSDEM 2019 18 / 20

  42. Thanks Friends & Testers People on the internet Lukas K., FOSDEM 2019 19 / 20

  43. That’s it Lukas K., FOSDEM 2019 20 / 20

Recommend


More recommend