- 15
- 45 862
Useful Knowledge
Приєднався 1 кві 2022
Відео
Simulating Verilog-A in Cadence | Tutorial
Переглядів 1,8 тис.8 місяців тому
Simulating Verilog-A in Cadence | Tutorial
HDL (Verilog, VHDL) Workflow: Input, Linting, Simulation, and Synthesis
Переглядів 1288 місяців тому
HDL (Verilog, VHDL) Workflow: Input, Linting, Simulation, and Synthesis
GM/ID Design Methodology | Python Tool
Переглядів 2,2 тис.Рік тому
This video shows you how to easily generate lookup tables and plots in python for CMOS designs using the gm/ID methodology. Link: github.com/medwatt/gmid
How To Create Professional Looking Circuit Schematics Easily Using Inkscape
Переглядів 14 тис.Рік тому
Github repo: github.com/medwatt/circuitikz_symbols
Stimuli Assignment | Cadence Virtuoso
Переглядів 2,3 тис.Рік тому
This video shows how to use the Stimuli Assignment form for assigning stimuli to schematic pins and global nets.
From Beginner to Pro: Unleashing the Power of i3wm with i3ipc
Переглядів 2,2 тис.Рік тому
In this video, I'm going to show you how to supercharge i3wm with i3ipc. I'll be demonstrating some features of i3ipc that will take your i3 experience to the next level. With i3ipc, you can interact with i3 using popular programming languages like Python, and increase your productivity significantly.
Real-time Parameter Tuning in Cadence Virtuoso | Tutorial
Переглядів 5 тис.2 роки тому
Real-time Parameter Tuning in Cadence Virtuoso | Tutorial
How to run SPICE simulations in Python | Ngspice and PySpice Tutorial
Переглядів 10 тис.2 роки тому
How to run SPICE simulations in Python | Ngspice and PySpice Tutorial
How to easily type your (scientific) notes with TexMacs
Переглядів 7 тис.2 роки тому
How to easily type your (scientific) notes with TexMacs
Nice stuff.
Perfect, thanks ! This gave me a crazy idea. It would be nice to do some kind of script that accepted a cadence schematic and generated a figure with the library from CircuiTikz, either generating CircuiTikz code or another language. Maybe we can get, somehow, the coordinates of each element on a cadence schematic and make use of that information. As a last resort we could use the netlist .... or develop some AI algorithm that could recognise the elements in a circuit and generate CircuiTikz code. I think I will put some thought on this! Thanks
Thanks a lot for this amazing video. Liked and subscribed. 🙂 Usually I don't watch videos that are this long but, in this case, I have watched every second !! In this area to explain well something, it cannot be done in 10 minutes! 🙂
hi @usefulknowledge6074 do you have any videos which I can refer for use of python in Cadence
The github link does not work anymore
Is this python setup work for skywater 130nm pdk (open source) ?
i have difficulty to snap the symbol into grids thus the lines are all not straight and seems ugly. what is your setup for snapping?
Thanks for the library!!
Is it a nvim plugin you use for Verilog-A, or did you write a script by yourself?
I wrote it myself.
@@usefulknowledge6074 so cool
Thank you very much brother
Are there query scripts?
The symbols are very nice, thank you for that. However, the grid snapping in Inkscape (1.3) is so frustrating. It rarely snaps to the grid as expected and often leaves the node off the grid unless you zoom million times to the grid intersections. I've never encountered a program with such a frustrating grid snapping as this Inkscape.
You can change the snapping options in Inkscape. There are lots of options. Some of the settings such as the Bounding Box option might conflict with snapping to the grid. Switch this option off and it should make snapping easier, also enable the option for Object Rotation Centres and Object Midpoints.
@@billps34 Thanks, I've found that some options really help to get better snapping. Especially the Bounding Box option which was snapping to the stroke width outline by default. However, there are still so many of unfortunate "features" in Inkscape like that text scales with the group instead of keeping fixed size, no paragraph spacing, no vertical text alignment, no usable object connectors, etc.
@@midvok3918 Thing is, you need to remember what inkscape is actually for. It's an SVG editor for making scalable vector graphics - and some of those "features" work the way they do because of the constraints of the SVG format itself. For example, there's no paragraph spacing or vertical text alignment in SVG text boxes. Theses concepts just don't exist in SVG. Text formatting is quite limited in SVG, unlike for example in page layout software (Scribus/InDesign etc).
@@billps34Ive been in a conundrum of deciding to use Inkscape or circuitikz to create circuits The problem with Inkscape is each file will need to be created for each circuit which can be an organizational problem Moreover. Circuitikz will be time consuming initially to learn but is embedded into latex and certain figures can be reused
@usefulknowledge6074 Thanks for this video and files. I discover the file where I need to put the file "svg". Otherwise, I don't understand if I need to put the file "Imfonts" inside the windows base file or at inkscape inside. Could you clarify? Thanks.
Would you happen to know the easiest way to add new symbols to the library?
Just open the SVG file in inkscape, create the symbol that you want, and add it to the symbols. Which symbols do you want to add ?
@@usefulknowledge6074 Thanks for your reply. I was thinking of a balun(two transformers).
Excelente.
Hi! I was wondering if you could do a tutorial on how to add additional symbols (in my case, I need to add a JFET symbol). Great tutorial!!
Thanks, your explanation is perfect.
Sir can you please share the nmos and pmos library?
These are freely available online: github.com/baichen318/FreePDK45/tree/main/FreePDK45/ncsu_basekit/models/hspice/tran_models
Thanks a lot for this video and the library. It makes drawing schematics in inkscape really easy and they look very professional at the end
thank you a lot for this
But how do you extract .lib files from the technologies? If I wanted to use cadence’s gpdk090, for example, how could I extract it? I know it’s possible to extract a spectre based netlist, but I’m not sure if it’s possible for other simulator.
gpdk090 is written using cadence's spectre language, which means that it can only be simulated with spectre, which this tool does not support. Why? Because almost all pdks support hspice. So, there's no point in having support for just a few cadence pdks.
It makes me really happy that you are still making useful content online that we can't easilly find. Keep on!
Thanks so much, your generosity is both remarkable and wonderful!
Which software are you using to edit .tm files ??
TeXmacs.
Brilliant. I find it crazy that TeXMacs is nowhere close to LaTeX in popularity.
Sir could you please share your notes which you used to make the video 😊
Thanks so so much sir for this video! just a question: is it possible for you to share the document? Cheers!
What you saw in the video is my notes for making the video. If you want to learn how to use the gmid method, consult this book: www.cambridge.org/core/books/systematic-design-of-analog-cmos-circuits/A07A705132E9DE52749F65EB63565CE0
Nice video, try doing the same common source amplifier with active load.
Me ajudou muito esse vídeo e gostaria de agradecer, muito obrigado. Deixo como sugestão salvar no formato .EPS, para chamar a imagem no latex.
MERCI BEAUCOUP DE TA VIDEO ! JE ME SUIS ABONNE ET JAI MIS UN POUCE BLEU
What font is that?
This is amazing! Thank you for this!
Thanks !
For future reference for anyone else go to Program Files/Inkscape/share/inkscape/symbols
you explained the process for transporting the files on linux but what about windows?
Did you ever get a reply ? I too am confused about Windows installation of the files. My unpacked zip download is a directory consisting of many various sub-directories and files. Far more folk will be using Windows than Linux for running Inkscape. A good video otherwise, but a shame I cannot yet use it.
very best sharing nice to meet you.
i like the video and followed up with a copy of the git in Jupyter lab. the library is actually hidden in a Dot folder the path proofes. all diode methodes show the same parameter but only Methode 3 (library import) shows a real diode behavior. Comparing with a real datasheet the forward current 10mA at 0.8V mean 1K dominates. setting 10ohm is more real. Anyway all other methods did not show a diode. the model parallel resistor can be the reason as it is E9 or Gigaohm and only bypassing nA; something is fishy :-( restarting the kernel and stepping to Methode 1 only, without methode 2 and 3 execution i got a new .NgSpiceShared._send_char ERROR - unknown subckt: cd n_out 0 1n4148 ..... i will stick to the library use - gives a diode i trust
i need to correct my statement. you cant run the whole document down to your point of interest. just run the import header; resort to get all imports up to the header. Than just run the interesting stuff. always restart the kernel for a new portion trial. If not you get side effects. die diode Methode 1 now works also.
Hi, thanks for the tutorial. I have a problem in exporting the file in .svg format, in the circuit i drew voltage sources are not displayed, but in Inkscape there is no error and everything looks smoothly. I tried it on a new file and delete the DC and AC sources in the existing circuit but it does not working.
The circuit looks fine on inkscape, but when you export it to pdf, something is wrong? I don't exactly understand the problem. Explain your issue more clearly, otherwise I may not be able to help.
@@usefulknowledge6074 The circuit looks fine on inkscape, but when i export it in .svg format, voltage sources are not visible.
@@usefulknowledge6074 It is solved when i "Unlink Clone" of all components :)
@@iremsnmaz1644 Nice!
@@iremsnmaz1644 Sağol ben de sayende yaptım
Extremely useful video, I have a question: is it possible to go back to the cuircuiTikZ code once the circuit has been drawn on Inkscape? So that I can copy and paste the source code directly into the main Overleaf code. In any case, having the possibility to draw the circuit and then have a pdf file to load into the LaTeX file is still super useful, but at least if there was also the chance to draw the circuit in the way you show and than know the code behind what we drew it could be useful both to learn how cuircuiTikZ thinks and also to not have to save the result in a pdf. Thank you very much, maybe my question is quite stupid, anyway really nice and smart video!
Unfortunately, this doesn't have that functionality. There is some tool that addresses your questions, but I can't remember the name right now. Basically, you draw the circuit in LTSpice and it converts the LTSpice file into CircuitTikz. I tried it and it works but wasn't too happy about the spacing between components. Also, it was a bit hard to modify. Check it out. Maybe it meets your needs.
@@usefulknowledge6074 thank you for your answer. if it is not a problem I would like to ask you two more things: as I am not very good at Inscape I am unable to move objects by following the squares in a discrete way. when I insert a symbol it can move freely in any position, without fitting perfectly into the vertices of the grigiline squares. Furthermore, when I add a line I cannot see the connection point with a symbol. do I have to activate some option in the settings? thank you for your reply.
@@marcos3865 The questions you asked are probably related to "snapping", which you need to turn on to allow objects to snap at nearby connection points. Look for the snapping button or press % to enable it.
You can always convert the SVG from Inkscape to PNG or JPEG (with correct resolution) and use in LaTeX as an image.
Great video. Can you please also provide the link of the document "The gm/Id Design Methodology"? Thank you.
I would also love a copy of "The gm/Id Design Methodology", thank you
Nice video! I have a question regarging the dc simulation. According to pyspice.fabrice-salvaire.fr/releases/v1.4/api/PySpice/Spice/Simulation.html#PySpice.Spice.Simulation.CircuitSimulation.dc it is possible to sweep over a certain resistor. However, when trying to do so, i always get an error. I use the same syntax as when sweeping over a voltage source, like this "dc_analysis = simulator.dc(R1=slice(1, 11, 1))". I've searched the whole internet and ngspice manual for a solution to this problem, whithout success. Do you know how to do a dc simulation while sweeping over the values of a resistor?
Hey, very nice approach with the python scripting trough i3ipc! Is there a repo , containing these scripts? I really want to look & learn from it. My approach and workflow are a bit different, but still, I could adapt some of these functions.
Hey, very good work! Thanks for sharing! By the way, would you know how to animate presentations like in powerpoint (text appears progressivally) using Texmacs?
Yes, it's possible with overlays.
which distro you use ?
In dwm the second window on a workspace is less than half screen size, personally do not find shell tedious as you are calling commands directly. Only Python maybe more cleaner from a coding point of view but I do not need all the functions you show but the dynamic windows is very impressive.
Making the window size smaller is very easy to do. Basically, 1 line of code. I just added it to my script. Have a look: imgur.com/a/B9yjEs7
I've isolated the tiling code into a separate script. Find it in the link below and let me know if you need something added. Link: github.com/medwatt/UsefulScripts/tree/main/i3/manual_dynamic_tiling
@@usefulknowledge6074 that is exactly what I need, going to check it out. Looks very cool 😊
Great video +
For the following code: simulator = circuit.simulator(temperature=25, nominal_temperature=25) analysis = simulator.transient(step_time=0.01E-9, end_time=6E-9, use_initial_condition=True) I got the error: PySpice.Spice.NgSpice.Shared.NgSpiceShared - Shared.ERROR - Note: v2: dc value used for op instead of transient time=0 value. The netlist printed by previous cell: .title Charging Capacitor V1 n_in 0 5 V2 n_swp 0 DC 0V PULSE(-1V 1V 2ns 0s 0s 1s 2s) S1 n_r1 n_in n_swp 0 switch1 R1 n_r1 n_c1 1kOhm C1 n_c1 0 1pF ic=2V .model switch1 SW (Roff=1MegOhm Ron=0.002Ohm)
This is a really good video. Well explained introduction to pyspice. Thank you.
Amazing. I’ve worked with lyx before which does something similar but it isn’t actively developed. It’s nice to see another latex typesetting tool😊
It can export to LaTeX, but each document or fragment thereof is a tree of strings, not a newline-delimited ASCII text file. This was done because the intended editing environment is the WYSIWYG editor. That said, a saved TeXmacs document resembles an XML file with many opening and closing angle braces; since tree nodes are strings and newlines used as delimiters, I find version control via git to be useful.
Link to the notebook used in the video: github.com/medwatt/Notes/blob/main/pyspice/PySpice.ipynb