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

horizon eda
SMART_READER_LITE
LIVE PREVIEW

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?


slide-1
SLIDE 1

horizon EDA

what’s new Lukas Kramer 03.02.2019 FOSDEM 2019

Lukas K., FOSDEM 2019 1 / 20

slide-2
SLIDE 2

Motivation

Why write an EDA package from scratch in 2016?

Lukas K., FOSDEM 2019 2 / 20

slide-3
SLIDE 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

slide-4
SLIDE 4

Implementation

C++14

Lukas K., FOSDEM 2019 3 / 20

slide-5
SLIDE 5

Implementation

C++14 ∼ 70 kLOC

Lukas K., FOSDEM 2019 3 / 20

slide-6
SLIDE 6

Implementation

C++14 ∼ 70 kLOC Gtk3 ≥ 3.20

Lukas K., FOSDEM 2019 3 / 20

slide-7
SLIDE 7

Implementation

C++14 ∼ 70 kLOC Gtk3 ≥ 3.20 Builds and runs on Linux and Windows

Lukas K., FOSDEM 2019 3 / 20

slide-8
SLIDE 8

Implementation

C++14 ∼ 70 kLOC Gtk3 ≥ 3.20 Builds and runs on Linux and Windows JSON

Lukas K., FOSDEM 2019 3 / 20

slide-9
SLIDE 9

Implementation

C++14 ∼ 70 kLOC Gtk3 ≥ 3.20 Builds and runs on Linux and Windows JSON

499bf624-b2f1-4366-8b9a-0eeb2c8fbb3f

Lukas K., FOSDEM 2019 3 / 20

slide-10
SLIDE 10

Implementation

C++14 ∼ 70 kLOC Gtk3 ≥ 3.20 Builds and runs on Linux and Windows JSON UUIDs

Lukas K., FOSDEM 2019 3 / 20

slide-11
SLIDE 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

slide-12
SLIDE 12

The Pool

What’s wrong with libraries

  • Like a file system with only one level of

hierachy

  • Not a database

The Pool

  • Each item is an individual JSON file
  • Metadata is stored in a SQLite

database

  • Only contains real parts / parts that

can be mapped to a real part

Lukas K., FOSDEM 2019 4 / 20

slide-13
SLIDE 13

The Pool Part

  • Entity
  • Package

Entity

  • Gate A
  • Gate B
  • Gate P
  • Gate ...

Package

  • Pad 1
  • Pad 2
  • Pad n

Unit 1 Unit 2 Padstack A Padstack B Symbol 1 Symbol 2

Lukas K., FOSDEM 2019 5 / 20

slide-14
SLIDE 14

The Pool Part

  • Entity
  • Package

Entity

  • Gate A
  • Gate B
  • Gate P
  • Gate ...

Package

  • Pad 1
  • Pad 2
  • Pad n

Unit 1 Unit 2 Padstack A Padstack B Symbol 1 Symbol 2

? ? ?

Lukas K., FOSDEM 2019 5 / 20

slide-15
SLIDE 15

The Pool Part

  • Entity
  • Package

Entity

  • Gate A
  • Gate B
  • Gate P
  • Gate ...

Package

  • Pad 1
  • Pad 2
  • Pad n

Unit 1 Unit 2 Padstack A Padstack B Symbol 1 Symbol 2

Lukas K., FOSDEM 2019 5 / 20

slide-16
SLIDE 16

The Pool Part

  • Entity
  • Package

Entity

  • Gate A
  • Gate B
  • Gate P
  • Gate ...

Package

  • Pad 1
  • Pad 2
  • Pad n

Unit 1 Unit 2 Padstack A Padstack B Symbol 1 Symbol 2

Bomazi, Wikimedia Commons, CC-BY-SA Lukas K., FOSDEM 2019 5 / 20

slide-17
SLIDE 17

The Pool Part

  • Entity
  • Package

Entity

  • Gate A
  • Gate B
  • Gate P
  • Gate ...

Package

  • Pad 1
  • Pad 2
  • Pad n

Unit 1 Unit 2 Padstack A Padstack B Symbol 1 Symbol 2

Lukas K., FOSDEM 2019 5 / 20

slide-18
SLIDE 18

The Pool Part

  • Entity
  • Package

Entity

  • Gate A
  • Gate B
  • Gate P
  • Gate ...

Package

  • Pad 1
  • Pad 2
  • Pad n

Unit 1 Unit 2 Padstack A Padstack B Symbol 1 Symbol 2

Lukas K., FOSDEM 2019 5 / 20

slide-19
SLIDE 19

The Pool Part

  • Entity
  • Package

Entity

  • Gate A
  • Gate B
  • Gate P
  • Gate ...

Package

  • Pad 1
  • Pad 2
  • Pad n

Unit 1 Unit 2 Padstack A Padstack B Symbol 1 Symbol 2

Lukas K., FOSDEM 2019 5 / 20

slide-20
SLIDE 20

The Pool Part

  • Entity
  • Package

Entity

  • Gate A
  • Gate B
  • Gate P
  • Gate ...

Package

  • Pad 1
  • Pad 2
  • Pad n

Unit 1 Unit 2 Padstack A Padstack B Symbol 1 Symbol 2

Lukas K., FOSDEM 2019 5 / 20

slide-21
SLIDE 21

The Pool Part

  • Entity
  • Package

Entity

  • Gate A
  • Gate B
  • Gate P
  • Gate ...

Package

  • Pad 1
  • Pad 2
  • Pad n

Unit 1 Unit 2 Padstack A Padstack B Symbol 1 Symbol 2

1.55 mm 1.0mm get -parameter [ solder_mask_expansion ] 2 * +xy set -shape [ mask -ob obround ] 1.15 mm get -parameter [ solder_mask_expansion ] + 1.55 mm get -parameter [ solder_mask_expansion ] 2 * + set -shape [ mask -rect rectangle ] ...

Lukas K., FOSDEM 2019 5 / 20

slide-22
SLIDE 22

The Pool Part

  • Entity
  • Package

Entity

  • Gate A
  • Gate B
  • Gate P
  • Gate ...

Package

  • Pad 1
  • Pad 2
  • Pad n

Unit 1 Unit 2 Padstack A Padstack B Symbol 1 Symbol 2

Lukas K., FOSDEM 2019 5 / 20

slide-23
SLIDE 23

The Pool Part

  • Entity
  • Package

Entity

  • Gate A
  • Gate B
  • Gate P
  • Gate ...

Package

  • Pad 1
  • Pad 2
  • Pad n

Unit 1 Unit 2 Padstack A Padstack B Symbol 1 Symbol 2

Lukas K., FOSDEM 2019 5 / 20

slide-24
SLIDE 24

The Pool Part

  • Entity
  • Package

Entity

  • Gate A
  • Gate B
  • Gate P
  • Gate ...

Package

  • Pad 1
  • Pad 2
  • Pad n

Unit 1 Unit 2 Padstack A Padstack B Symbol 1 Symbol 2

Lukas K., FOSDEM 2019 5 / 20

slide-25
SLIDE 25

What’s new

First real-world board

Lukas K., FOSDEM 2019 6 / 20

slide-26
SLIDE 26

What’s new

First real-world board

Lukas K., FOSDEM 2019 6 / 20

slide-27
SLIDE 27

What’s new

Length tuning

Lukas K., FOSDEM 2019 7 / 20

slide-28
SLIDE 28

What’s new

BOM Export

Lukas K., FOSDEM 2019 8 / 20

slide-29
SLIDE 29

What’s new

Parametric part search

Lukas K., FOSDEM 2019 9 / 20

slide-30
SLIDE 30

What’s new

Smart head up display

Lukas K., FOSDEM 2019 10 / 20

slide-31
SLIDE 31

What’s new

Smart head up display

Lukas K., FOSDEM 2019 10 / 20

slide-32
SLIDE 32

What’s new

Smart head up display

Lukas K., FOSDEM 2019 10 / 20

slide-33
SLIDE 33

What’s new

Copying placement and tracks – Motivation

Lukas K., FOSDEM 2019 11 / 20

slide-34
SLIDE 34

What’s new

Copying placement and tracks – Schematic

Lukas K., FOSDEM 2019 12 / 20

slide-35
SLIDE 35

What’s new

Copying placement and tracks – Board

Lukas K., FOSDEM 2019 13 / 20

slide-36
SLIDE 36

What’s new

Copying placement and tracks – Board

Lukas K., FOSDEM 2019 14 / 20

slide-37
SLIDE 37

What’s new

Copying placement and tracks – Board

Lukas K., FOSDEM 2019 15 / 20

slide-38
SLIDE 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

slide-39
SLIDE 39

What’s next

Release 1.0

Lukas K., FOSDEM 2019 17 / 20

slide-40
SLIDE 40

What’s next

Release 1.0

Improve out of the box experience User docs

Lukas K., FOSDEM 2019 17 / 20

slide-41
SLIDE 41

Links

github.com/carrotIndustries/horizon github.com/carrotIndustries/x-band-tx

Lukas K., FOSDEM 2019 18 / 20

slide-42
SLIDE 42

Thanks

Friends & Testers People on the internet

Lukas K., FOSDEM 2019 19 / 20

slide-43
SLIDE 43

That’s it

Lukas K., FOSDEM 2019 20 / 20