Stefan Schippers
02/18/2022, 1:00 PMTim Edwards
02/18/2022, 1:40 PMArman Avetisyan
02/18/2022, 1:48 PMmanili
02/18/2022, 3:19 PMStefan Schippers
02/18/2022, 3:39 PMArman Avetisyan
02/18/2022, 3:39 PMmanili
02/18/2022, 3:44 PMArman Avetisyan
02/18/2022, 3:44 PMmanili
02/18/2022, 3:46 PMArman Avetisyan
02/18/2022, 3:47 PMmanili
02/18/2022, 3:47 PMArman Avetisyan
02/18/2022, 3:48 PMStefan Schippers
02/18/2022, 4:08 PM3D rendering for 2D is insanely better perfomance if you are drawing 10+ trianglesYou missed the point. The issue is that to replace a single XDrawLine() call i need at least 128 OpenGL shapes to to the same thing with a barely acceptable quality. So i am not sure what is the fastest way. Moreover consider that almost all X11 Xservers already do OpenGL 'glamor' acceleration where it makes sense (for example blitting areas / simple shapes). I already did experiments with Cairo using OpenGL backends and the final result was slower than directly calling Xlib. This is true on low-end GPUs, where speed is important. High end GPUs like Nvidia are fast anyway so who cares. The bottom line is: Yes, OpenGL is insanely fast if you are doing 3D (blending/projections, 3D transformations/texturing) but for 2D vector graphics i don't know.
Arman Avetisyan
02/18/2022, 4:23 PMStefan Schippers
02/18/2022, 4:32 PMArman Avetisyan
02/18/2022, 4:49 PMStefan Schippers
02/18/2022, 5:28 PMArman Avetisyan
02/18/2022, 5:36 PMStefan Schippers
02/18/2022, 5:48 PM## Add a custom menu in xschem
## Create a menu entry 'Test'. '.menubar' is xschem's main menu frame.
menubutton .menubar.test -text "Test" -menu .<http://menubar.test.menu|menubar.test.menu> -padx 3 -pady 0
menu .<http://menubar.test.menu|menubar.test.menu> -tearoff 0
## Create a couple of entries
.<http://menubar.test.menu|menubar.test.menu> add command -label "Test entry 1" -command {
puts Hello
}
.<http://menubar.test.menu|menubar.test.menu> add command -label "Test entry 2" -command {
puts World
}
## make the menu appear in xschem window
pack .menubar.test -side left
by the way the whole UI is done in Tcl, so you can rewrite completely the interface without recompiling the program. The choice of Tcl was done because in one shot you get the UI and a scripting language embedded in the application. Any user action is scriptable. so repetitive actions can be easily automated. And yes, this was true 30 years ago and still holds today.Tim Edwards
02/18/2022, 6:21 PMArman Avetisyan
02/18/2022, 6:56 PMStefan Schippers
02/18/2022, 10:51 PMformat="@name @@A @@B @@Z @symname"
or rely on the stored order of pins and use the following:
format="@name @pinlist @symname"
.
the @pinlist will list the pins in the order they were created while creating the symbol. This ordering can be changed as explained in he manual.
Next if you descend into one of these symbols and change the type
attribute from subcircuit
to primitive
, xschem will not descend further when netlisting and will not expand the schematic, you need in this case to provide the pex netlist, by adding a .include
line in the testbench.
this video also explains the process.Matt Liberty
02/19/2022, 2:24 AMStefan Schippers
02/19/2022, 10:53 AM