The Hidden Power of Formal Methods in Hardware Design: Crash Course

  Рет қаралды 2,676

Psychogenic Technologies

Psychogenic Technologies

Күн бұрын

Пікірлер: 21
@deadbugengineering3330
@deadbugengineering3330 Жыл бұрын
The test-first approach for designing hardware without micromanaging signals is really cool! Thanks for sharing!
@PsychogenicTechnologies
@PsychogenicTechnologies Жыл бұрын
I agree! Using these testing tools in this manner has changed how I'm making stuff, it's pretty awesome. Thank you for the feedback :)
@stewartmackenzieindaba
@stewartmackenzieindaba Жыл бұрын
Fantastic to see this material. Thanks for the crash course and the pointer to the full talk!
@PsychogenicTechnologies
@PsychogenicTechnologies Жыл бұрын
Cool! Yeah, the talk is a little rough around the edges, but I think it has a few gems worth the time. Thanks for the feedback :)
@bleeptrack
@bleeptrack Жыл бұрын
Never heard about cover before. Super interesting! Thanks!
@PsychogenicTechnologies
@PsychogenicTechnologies Жыл бұрын
It's only recently that I started getting how crazy useful cover could be! I hope it's as helpful to you :)
@akira410
@akira410 Жыл бұрын
I saw this thumbnail in my feed and I thought "Hey, that guy looks like..." Good to see you on here! Great video! Cover seems like a super useful tool. Looks like I have a bit of content to go through. I hope you've been well!
@PsychogenicTechnologies
@PsychogenicTechnologies Жыл бұрын
hah, Rob!! Wow... ok, I read this and... well neither your username nor thumb were all that helpful, lol! How ya been? Actually, I'll ping you via sidechannel... but yes, cover is super useful and, though I didn't emphasize as much, BMC manages to find some really weird/unexpected stuff, sometimes and is really good a preventing problems you didn't know you were going to have.
@Oguz286
@Oguz286 10 ай бұрын
I used the open source formal methods tools a lot with FPGA design and recently I also used it with my first commercial ASIC that we made to prove critical parts of it. Suffice to say, those critical parts all work perfectly! I would definitely recommend formal methods for anyone doing digital design :)
@PsychogenicTechnologies
@PsychogenicTechnologies 9 ай бұрын
Yes, these are awesomely powerful tools. I'm still getting the hang of prove/induction mode (not to the point that I'm confident that I've actually proven the thing works for eternity), but BMC locates a lot of problems before they happen and I'm loving cover for inspection. Do you have any recommendations as starting points for defining formal specs used for reliable k-induction use?
@Oguz286
@Oguz286 9 ай бұрын
@@PsychogenicTechnologies I don't have a simple resource that can used as a starting point, but I can give some pointers: * With induction, every formal step *except the last* will *assume* that your *assertions* are true. Let's say you have two instances of a 5-bit up counter and you reset it back to zero whenever the counter is 9. If you assert that both counters have the same value, then it will pass BMC, but not induction because the initial value of one counter could have been different than that of the other counter. You will need to add extra assertions (that act as assume statements up until the last formal step) so that the "incorrect" initial values are flushed out. * When proving asynchronous logic or logic with asynchronous resets for example, then the $prev statement refers to the previous clock transition, *not* the last clock cycle. This can be very confusing at first, because with synchronous logic, $past refers to the previous clock cycle (so the previous rising edge or previous falling edge, instead of the previous edge). Most of it comes down to trying to prove a bunch of different types of hardware to gain more experience. You can also ask Matt Venn, who I believe taught a formal verification course before. Hope this helps, even if it's a little bit :)
@zdenkostanec1622
@zdenkostanec1622 Жыл бұрын
Just came to say hello, nice job as always! 😁
@PsychogenicTechnologies
@PsychogenicTechnologies Жыл бұрын
Hallo to you, and many thanks! :D
@fluffyvillain968
@fluffyvillain968 Жыл бұрын
Really really superb content
@PsychogenicTechnologies
@PsychogenicTechnologies Жыл бұрын
Many thanks! Sometimes I worry that content like this addresses itches that no one else share: comments such as yours let me know it's worth the effort :) Thanks again, cheers.
@fluffyvillain968
@fluffyvillain968 3 ай бұрын
@@PsychogenicTechnologies would actually appreciate a more in depth tutorial for setting this up and usage, etc :)
@gryzman
@gryzman Жыл бұрын
for an amateur designers out there, what is "cover" ?
@PsychogenicTechnologies
@PsychogenicTechnologies Жыл бұрын
Hello gryzman, Here "cover" is in the sense of "encompass" or "reach"--so you are asking the system: "reach this state ABC, and show me how you did that". So that's what it does, if it can: it finds a way to meet all your demands and spits out a VCD file that you can look at.
@_-martin-_
@_-martin-_ Жыл бұрын
Goat, cabbage, sailor... huh?? :D
@PsychogenicTechnologies
@PsychogenicTechnologies Жыл бұрын
hahaha, yes! I'd seen this problem handled this way before, and thought it was a really neat demo of the power of the solvers. Couldn't find the original source again (ok, didn't try too hard, I admit), anyway I wanted to try and do it myself 'cause I think it's kind of funny. You can see all the code at github.com/psychogenic/amaranth_testbench/blob/main/amaranth_testbench/examples/ferryman.py
TinyTapeout04: demoboard preview and quickstart guide
6:52
Psychogenic Technologies
Рет қаралды 2,6 М.
From top to Transistors: opensource Verilog to ASIC flow
22:06
Psychogenic Technologies
Рет қаралды 8 М.
나랑 아빠가 아이스크림 먹을 때
00:15
진영민yeongmin
Рет қаралды 18 МЛН
An Unknown Ending💪
00:49
ISSEI / いっせい
Рет қаралды 40 МЛН
小丑和白天使的比试。#天使 #小丑 #超人不会飞
00:51
超人不会飞
Рет қаралды 43 МЛН
Python design of a hardware digital tuner on FPGA and ASIC
13:19
Psychogenic Technologies
Рет қаралды 3,5 М.
Open Source Analog ASIC design: Entire Process
40:11
Psychogenic Technologies
Рет қаралды 43 М.
Harder Drive: Hard drives we didn't want or need
36:47
suckerpinch
Рет қаралды 1,7 МЛН
The Promise of Open Source Semiconductor Design Tools
12:18
Asianometry
Рет қаралды 104 М.
I Made The Ultimate Cheating Device
9:39
ChromaLock
Рет қаралды 161 М.
My thoughts on framework after daily driving it for 2 years
16:34
Louis Rossmann
Рет қаралды 703 М.
나랑 아빠가 아이스크림 먹을 때
00:15
진영민yeongmin
Рет қаралды 18 МЛН