Slashdot Mirror


Learn Gate-Array Programming In Python and Software-Defined Radio

Bruce Perens writes Chris Testa KB2BMH taught a class on gate-array programming the SmartFusion chip, a Linux system and programmable gate-array on a single chip, using MyHDL, the Python Hardware Design Language to implement a software-defined radio transceiver. Watch all 4 sessions: 1, 2, 3, 4. And get the slides and code. Chris's Whitebox hardware design implementing an FCC-legal 50-1000 MHz software-defined transceiver in Open Hardware and Open Source, will be available in a few months. Here's an Overview of Whitebox and HT of the Future. Slashdot readers funded this video and videos of the entire TAPR conference. Thanks!"

51 comments

  1. I wonder... by Anonymous Coward · · Score: 0

    Is it possible to encode deep web machine learning on a Beowulf cluster of these chips on a custom ruby on rails brogrammind cloud?

    1. Re:I wonder... by Bruce+Perens · · Score: 0

      I beat you to first post. Nyahh! Booyah!

  2. How this is different from HackRF by Bruce+Perens · · Score: 4, Informative

    HackRF is designed to be test equipment rather than a legal radio transceiver. It doesn't meet the FCC specifications for spectral purity, especially when amplified. You could probably make filters to help it produce a legal output.

    Whitebox is meant to meet FCC specifications for spurious signals that are required when amplification of 25 watts or higher is used. Amplifiers also contribute spurious signals and will usually incorporate their own filters.

    HackRF is something that sticks on your laptop via USB. Whitebox is meant to be a stand-alone system or one that is controlled from your Smartphone via a WiFi or Bluetooth link.

    Whitebox is optimized for battery power. Using a FLASH-based gate-array rather than the conventional SRAM one makes a big difference.

  3. Not a fan of procedural languages syntax for HDL by StandardCell · · Score: 4, Interesting

    Folks who do development with Python should be wary of using too many procedural definitions for algorithms, even if they can be converted to hardware. Main reason is the size of the state machines and data paths, and the efficiency of algorithmic implementations in hardware, as even the best synthesis tools need to be constrained for reasons of design frequency and implementation size (hence synthesis pragmas). Granted, the hardware has gotten much more powerful and yes I know Python has object-oriented elements, but the idea of inherent concurrency and expressed versus implied data path are the trickiest things about designing hardware with languages that most people use procedurally. My other concern is supporting formal verification tools to check that Python = Verilog netlist for RTL->gate. For us more experienced hardware folks, I wish there was more emphasis on VHDL or Verilog straight-up even with open source tools.

    That said, it's great to see Chris getting this project off the ground. It'll be very helpful for the SDR community and I hope we see lots of good things come of it.

  4. The basics can be implemented... by EzInKy · · Score: 1

    ...in just about any language,

    --
    Time is what keeps everything from happening all at once.
  5. Re:Not a fan of procedural languages syntax for HD by Bruce+Perens · · Score: 5, Informative

    Chris can explain this much better than I, but we are definitely conscious of the gate-array resource use. Currently we are running within the space of the least expensive SmartFusion II chip, which I think you can get for $18 in quantity. Smartfusion 1 was more of a problem as it didn't have any multiplier macrocells and we had to make those out of gates. SmartFusion II provides 11 multipliers in the lowest end chip, and thus the fixed-point multiply performance of a modern desktop chip for a lot less power.

    We are also aware of algorithmic costs. For example we were using Weaver's third method and will probably go to something else, maybe a version of Hartley.

  6. Re:Not a fan of procedural languages syntax for HD by K.+S.+Kyosuke · · Score: 1

    Just because the language of the implementation is procedural and the language of the input specification is procedural doesn't mean the input can't be richly descriptive if all the input does is generating certain data structures describing the device model from the input. And your "object-oriented" comment seems quite out of place because it hardly brings anything new to the table that would be useful in this case compared to going the other way.

    Having said all that, I'd probably go for Lua anyway since this is the thing it was basically designed for.

    --
    Ezekiel 23:20
  7. Re:Not a fan of procedural languages syntax for HD by Bruce+Perens · · Score: 2

    Not sure you understand. The OO model is useful for representing a 4-input device with a logical output determined by a look-up table, which is the fundamental logical element. At least it's useful to do it elegantly. Lua is a small embedded language, but the purpose of MyHDL in this case is not to execute Python at runtime but to generate VHDL or Verilog describing an inherently parallel implementation of an algorithm.

  8. Oh no, not you, Mr. Perens !! by Anonymous Coward · · Score: 0

    It'll truly be the end of Slashdot if you, Mr. Perens, joins the "frost piss" gang !!

    1. Re:Oh no, not you, Mr. Perens !! by Pope+Raymond+Lama · · Score: 1

      Rather, it is just the confirmation of slashdot's true darma.

      --
      -><- no .sig is good sig.
  9. Re:Not a fan of procedural languages syntax for HD by CC12123 · · Score: 2

    I would say that the main advantage of using Python is in the verification process - writing test fixtures and analyzing the results of simulations is much easier to do with the Python toolkit. Design of real world Digital Signal Processing for the FPGA feels much more natural.

    In the end, All simulations end up running in a real Verilog simulator, after conversion. I use Icarus Verilog and it integrates seamlessly at this point. You can tie in your own Verilog modules too.

    Chris KD2BMH

  10. Re:Not a fan of procedural languages syntax for HD by K.+S.+Kyosuke · · Score: 2

    From what you just wrote, I concluded that I understand. But the OO model in the Kay(ian?) definition is hardly more suited for describing hardware than not using it. Second, if whatever algorithmic code gets executed serves as a metamodel (regardless of whether the code is OO, non-OO imperative, or functional) rather then a model, then it is indeed the case that Lua is more suited since it was designed partly as a data description language since its inception, whereas Python gets just commonly mutilated and abused to serve the same purpose. OK, it works, but I never felt comfortable reading things like that. (Too much implicit magic for my taste, I guess.)

    --
    Ezekiel 23:20
  11. Re:Not a fan of procedural languages syntax for HD by Bruce+Perens · · Score: 2

    If you ever write a means of describing digital logic designs in Lua we can compare it. Just describing data structures is not sufficient, you need to describe parallel boolean algebraic operations and macrocells such as multiply. At the moment no such thing exists and it would take a long time to duplicate the work of the MyHDL project.

  12. Re:Not a fan of procedural languages syntax for HD by K.+S.+Kyosuke · · Score: 1

    Just describing data structures is not sufficient, you need to describe parallel boolean algebraic operations and macrocells such as multiply.

    You're effectively saying that a compiler must embody not only syntax but also the semantics of its input format. I never disagreed with that! It's kind of obvious, otherwise you have a mere parser. Plus, I didn't say you can't do that in Python, in fact I explicitly said that 1) it's perfectly possible to do it in Python, but 2) perhaps Lua would have been a somewhat better choice.

    I have been in fact very much interested in having a similar system in Lua, but the proprietary nature of virtually all the relevant output devices strongly discourages me. The last FPGA I vaguely recall a having a public or reverse-engineered bitcode (some Xilinx chip, I think) was discontinued a looong time ago.

    --
    Ezekiel 23:20
  13. Re:Not a fan of procedural languages syntax for HD by Bruce+Perens · · Score: 2

    Chris and I would like to do an Open gate array as our next project. Sufficient patents have expired, etc.

  14. News for nerds? by rogoshen1 · · Score: 1

    Nope, Chris Testa!

    (okay, this is actually a fine example of 'news for nerds' submissions, so kudos.)

  15. Re:Not a fan of procedural languages syntax for HD by K.+S.+Kyosuke · · Score: 1

    Well, that would give me a serious EErection.

    --
    Ezekiel 23:20
  16. FOSS and ham radio need fully open FPGAs by Morgaine · · Score: 5, Interesting

    Free and Open Source Software (FOSS) has achieved immense success worldwide in virtually all areas of programming, with only one major exception where it has made no inroads: FPGAs. Every single manufacturer of these programmable devices has refused to release full device documentation which would allow FOSS tools to be written so that the devices could be configured and programmed entirely using FOSS toolchains.

    It's a very bad situation, directly analogous to not being able to write a gcc compiler backend for any CPU at all, and instead having to use a proprietary closed source binary compiler blob for each different processor. That would have been a nightmare for CPUs, but fortunately it didn't happen. Alas it has happened for FPGAs, and the nightmare is here.

    The various FPGA-based SDR projects make great play about being "open source, open hardware", but you can't create new bitstreams defining new codecs for those FPGAs using open source tools. It's a big hole in FOSS capability, and it's a source of much frustration in education and for FOSS and OSHW users of Electronic Design Automation, including radio amateurs.

    If FPGAs are going to figure strongly in amateur radio in the forthcoming years, radio amateurs who are also FOSS advocates would do well to start advocating for a few FPGA families to be opened up so that open source toolchains can be written. With sufficient pressure and well presented cases for openness, the "impossible" can sometimes happen.

    --
    "The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
    1. Re:FOSS and ham radio need fully open FPGAs by Dishwasha · · Score: 1

      Ever heard of SiGE and MPW/COT? Who needs FPGA when you can go open source ASIC and produce an initial production run for under $50k, possibly even $10k? There's been some interesting research from places like CalTech and Berkley in to fully designed MIMO's even with integrated antennas in an SOIC that are in many cases nearly a decade old now.

    2. Re:FOSS and ham radio need fully open FPGAs by Bruce+Perens · · Score: 2

      Yes, we feel your pain. Indeed, it's our pain. Proprietary tools, and you get told how to load the bitstream but it's an opaque blob. We would like to work on this problem next. How far off that is I can't say, if we can establish a profitable land-mobile radio business (we don't expect to make much off of hams alone) it would help to fund such an effort.

    3. Re:FOSS and ham radio need fully open FPGAs by Anonymous Coward · · Score: 2, Informative

      Who needs FPGA when you can go open source ASIC and produce an initial production run for under $50k

      Something about the FP in FPGA.

      Making a chip is either a huge gamble, or a huge amount of verification, usually both. I can buy an FPGA board for $30, I can reprogram it hundreds of times a day to test some code until it works. Sure formal verification is nice, so is rapid development. I use cheap FPGA boards as logic analysers, oscilloscopes, test generators, VNAs, and rather than trying to build a flash front end gui with a bunch of parameters, I just adjust the verilog or the software in the softcore to implement whatever test set I'm currently working on. Even if I could buy an ASIC in qty 1 for $30, it would still be inferior with a 3 month leadtime. If they could manufacture it overnight and get it to me the next day, it would still be worse than an FPGA.

      FPGAs and ASICs are incomparable. I'm working on a project using Altera FPGAs and partial reconfiguration that reprograms a portion of the FPGA at kHz intervals to increase the amount of logic density many fold, basically timesharing for FPGA. That is obviously impossible to do with an ASIC unless that ASIC is an FPGA or contains an FPGA.

      The downside to my current approach is each timeshare has to be synthesized and P&R'd separately in Quartus, and aside from editing RAM contents between loads, any logic change requires a half hour P&R run on a host PC. An open source FPGA would mean I could put the synthesis and P&R inside the system and make it self hosting. So would Altera releasing a Quartus build for Arm to run on their own SoCs though the enormous time to P&R would still be a problem.

    4. Re:FOSS and ham radio need fully open FPGAs by Anonymous Coward · · Score: 0

      My feeling is FPGAs need to be more like DRAM. interface and bitstream specified by JEDEC, implementation left up to the proprietary vendor.

      No FPGA manufacturer would walk willingly from where they are now to where DRAM manufacturers are, but I'm sure commodity manufacturers (DRAM, Flash, etc.) would pick up the manufacturing if there was an open reference design and a market.

      This isn't something that's going to come from Altera, Xilinx, Lattice or Microsemi deciding "hey, maybe we should make less money by being more open", but from a motivated individual, small group or academic project coming along with a 90% design and specification and low margin volume producers picking it up to commercialise.

      -puddingpimp

    5. Re:FOSS and ham radio need fully open FPGAs by Anonymous Coward · · Score: 0

      Nothing against ASIC and it is great the price is coming down. But there are FPGAs I can get in small quantities for under a dollar a unit. That allows for a lot of prototyping work, and small batch production with a lot less risk. Plus you can release later updates after production.

    6. Re:FOSS and ham radio need fully open FPGAs by Iconoc · · Score: 1

      Dude, You need to get out more often. I want to post a stinging response, but I don't even know where to start. I work on FPGAs on a daily basis; they are powerful devices, but I have no desire to know the most subtle details. The work of 100's of engineers goes into the development of this year's best devices. Do you propose to gather and employ their combined knowledge somehow? You'd never finish a project.

      Your template comparing FPGAs to the GCC compiler is flawed. There is a great economy of scale for FOSS compilers. There isn't one for FPGAs.

      Nice rant, wrong topic, IMHO.

    7. Re:FOSS and ham radio need fully open FPGAs by Bruce+Perens · · Score: 1

      Yes. And looking at the way things have gone previously in JEDEC, we would have to be very aware of manufacturers desire to embed their patents in standards.

    8. Re:FOSS and ham radio need fully open FPGAs by Bruce+Perens · · Score: 2

      David Rowe makes a point about echo cancellers and voice codecs, which he's written in Open Source, working alone. They were supposed to be magic. They were supposed to take big expensive research labs to make. When he actually got down to the work, he found there wasn't really magic there. Codec2 can get clear speech into 1200 Baud, and OSLEC (the echo canceler) is part of every Asterisk system and other digital telephony platforms.

      Steve Jobs also told me this when I was leaving Pixar. He didn't believe that the Linux guys could make a decent window system, because it had taken a Billion dollar research lab at Apple. Two years later he unveiled Safari, which was derivative of KDE.

      There is no question that we can make a good gate array. The technology is very well known. Can we make one that is on the absolute leading edge of the technology? We don't really have to. Making a good one that was open would be enough. But maybe we can make a great one. That depends upon what makes it great. We have a collaborative advantage as far as the software tools are concerned, the same as with compilers. Can we design a really good logic element and fabric? Probably. Can we prototype a gate-array in a gate-array? Sure! Can we use the various devices that OpenCores has developed? I don't think there would be a problem. So we could have on-chip peripherals, CPUs, etc. Once we're sure of it, can it be well-tuned to a fab? Probably, but even if we are conservative about using the fab's capabilities it would work.

    9. Re:FOSS and ham radio need fully open FPGAs by Anonymous Coward · · Score: 0

      I have no desire to know the most subtle details.

      Good for you. But others do have that desire, and they have a large list of important reasons why they do.

      Epic fail for not being able to distinguish between what you want and what others need, and so arguing that others should not have it either.

  17. radio amateurs are infinitesimally small market by Anonymous Coward · · Score: 0

    The set of "radio amateurs who are also FOSS advocates" and who program FPGAs can probably be numbered in 2 digits, maybe 3. Each of them may buy one, maybe two, instances of the FPGA (and not all of the same part number). (I am one of them, W6RMK)

    As a developer of the only open source (albeit export controlled) software radio using FPGAs that is flying in space, I'm well aware of the challenges faced by small volume customers.

      http://spaceflightsystems.grc.nasa.gov/SOPO/SCO/SCaNTestbed/

      I just don't see that there is significant pressure to be exerted in an industry where the sales rep asks how many thousand units per month you're thinking about for your application. Ham radio is a niche market, in an area (SDR) that is already a niche.

    The other issue is that commercially available FPGAs have limited market lives. You could easily spend years developing an open source tool chain for a part that is available only on eBay as a "refurbished after removed from equipment". My radio in space uses Virtex II FPGAs, no longer sold by Xilinx, and supported by ISE 10, which is several generations behind the current tool chain (fortunately, you can still download the ISE 10 tools, and while not technically supported under the latest OS versions, they do work)

    1. Re:radio amateurs are infinitesimally small market by Bruce+Perens · · Score: 1

      An Open gate-array is one of those "if you build it, they will come" sort of things. Chinese fabs would compete with each other to drive the price down. It would become the standard low-end part and gate-array manufacturers would have to compete on high-end only.

      So I am really interested in doing it, and so is Chris. We just can't ignore our current business in order to do it.

    2. Re:radio amateurs are infinitesimally small market by raxx7 · · Score: 1

      The other issue is that commercially available FPGAs have limited market lives. You could easily spend years developing an open source tool chain for a part that is available only on eBay as a "refurbished after removed from equipment".

      It's not a totally of a different problem than faced by developers of open source compilers and graphic drivers: any given model is only in the market for a short while, much less than FPGAs.
      And while CPUs are usually* replaced by 100% backward compatible models, new GPUs aren't usually backward compatible.
      * Except when the entire instruction set architecture dies away.

      The trick is, of course, to reuse as much of the code as possible to support different architectures.

      Same thing is appliable to FPGAs and ASIC development. And people are actually doing it.
      A couple of interesting projects:
      http://code.google.com/p/vtr-verilog-to-routing/
      http://www.clifford.at/yosys/
      http://opencircuitdesign.com/qflow/

      It's not yet Verilog to bitstream but some of the technically harder parts are getting done.

    3. Re:radio amateurs are infinitesimally small market by raxx7 · · Score: 1

      I don't think there's an open source FPGA design can bring much margin for improvement in pricing.
      Keep in mind is that the FPGA manufacturers already have a type of competition: beyond a certain point, it's cheaper to roll out your own ASIC.
      This already constrains the volume and price on their low end offerings.

      You're also being quite naive about competition between "cheap" manufacturers, when applied to semiconductors.
      First challenge is that lowest cost/transistor is provided by relatively modern processes (eg, 32-22 nm) and your fab options are few and the same as Xilinx/Altera's: TSMC, Samsung or GF.
      Second challenge is that it takes a considerable ammount of effort/time/money to move a design between different manufacturers (and the more optimized, the worse).

    4. Re:radio amateurs are infinitesimally small market by Bruce+Perens · · Score: 1

      There's a partial list of fabs at Wikipedia. There are more than just those three.

      Sure, process optimization per fab is an issue. We would probably need to start on the very conservative side.

      A lot of the time, building a custom ASIC rather than using an FPGA just isn't an option. Most of the products I'm concerned with need to be programmable.

    5. Re:radio amateurs are infinitesimally small market by raxx7 · · Score: 1

      1. Cut out those which don't have best $/transistor process nodes (~32 nm -- ~14 nm depending on who you ask).
      2. Cut out the memory fabs, their processes aren't suitable for general purpose logic.
      3. Dig in and notice cases like CNSE which is actually GF.
      The remaining list is those 3 plus Intel.

      Optimization per fab is a bloody understatement. To have something that is even close to competitive in performance/power/area you need to a) custom design your gate array to each process b) characterize the resulting chip from each process so the EDA tools can produce something close to a good solution.

      I fully appreciate you need the FP part in FPGA. What I was trying to say is that those users who don't need the FP part are already helping drive the FPGA prices down for high volume applications.

    6. Re:radio amateurs are infinitesimally small market by Bruce+Perens · · Score: 1

      I think you are missing the application for an Open gate array.

      It is not really for you and your company. You don't have any particular interest in the open part, and thus you and your company don't fit the demographic of the sort of user we would want. We don't need your money. I can do the first runs of this using Mosis and its ilk for chump change, and go from there.

      It simply doesn't matter if it's 32 nm or 15 nm or 50 nm. What matters is that the user can completely understand the bitstream and produce their own tools for it. We have no shortage of users who want that.

      It doesn't matter if it is on the leading edge in terms of cost, speed, power, thermal efficiency, or size. It matters that it's open.

      And maybe we can do something that you can't do with any integrated circuit available to you, which is verify from first principles that the manufactured device is without deliberately hidden security back-doors. Because we don't have intellectual property to hide and thus we don't mind producing it in a way that would make it capable of being examined.

      So, I am not particularly worried about what foundry I'll use and whether I can compete on the same playing field as Xylinx and Altera. I have my own playing field, with radically different rules from the ones they are using. I have my own customers to satisfy.

    7. Re:radio amateurs are infinitesimally small market by raxx7 · · Score: 1

      I understand the motivation. I'm just not discussing the parts where I agree with you. :)

      I just took issue with your original statement where you envisioned the open gate array dominating the low end market based on price.

    8. Re:radio amateurs are infinitesimally small market by Bruce+Perens · · Score: 1

      Hopefully we'll find out eventually.

  18. learn verilog by larry_larry · · Score: 1

    Those who are serious about learning logic design for custom integrated circuits and gate arrays should learn Verilog, or better yet SystemVerilog. Python is great and all but the logic tools are built around Verilog and VHDL and require static typing. Once one knows Verilog and VHDL, then Python, Perl, etc. can be used to dynamically abstract and stamp out repetitive stuff better than the native HDL languages.

    1. Re: learn verilog by CC12123 · · Score: 1

      I use Verilog as Verilog, and Python as SystemVerilog.

      Type checking is done at simulation time, and ultimately during synthesis. Duck typing is immensely useful for higher level abstractions.

      Chris KD2BMH

    2. Re:learn verilog by Anonymous Coward · · Score: 0

      Yup, I was thinking along similar lines. MyHDL? MicroSemi? Who? Doesn't make a lot of sense to start with these no-name technologies & vendors.

  19. VHDL is pretty easy by Anonymous Coward · · Score: 0

    This sounds like an interesting project, but my personal experience has been that VHDL is a pretty simple language to learn. I remember during my undergrad bashing out code for a fifo buffered UART in less than a day with no prior knowledge of the stuff. As far as I can tell, the real issues with FPGA development are when you get up against the performance limits of the logic, and have to start thinking about across chip skew, jitter effects on high speed asynchronous inputs, and efficiently utilising specialised macro-blocks etc etc.

    The actual logic coding side of things seemed pretty straightforward.

    1. Re: VHDL is pretty easy by CC12123 · · Score: 1

      I agree that the essence of RTL isn't too difficult; the complexity arises when you use RTL to do filtering and modulation. Even the vendor tools are lacking when it comes to analyzing Digital Signal Processing. You have to use Simulink, and that's not a cheap proposition.

      Chris KD2BMH

    2. Re: VHDL is pretty easy by Anonymous Coward · · Score: 0

      I do quite a bit of signal processing and feedback control design analysis with GNU Octave's Control and Signal packages from the octave-forge. In what ways specifically do you find that you need to use commercial Matlab for DSP analysis instead of Octave?

    3. Re: VHDL is pretty easy by Anonymous Coward · · Score: 0

      I disagree

      Larry L31337OL

    4. Re: VHDL is pretty easy by CC12123 · · Score: 1

      You do if you'd like to directly convert your model, which works so well at the high level, into C or RTL. Yes you can rewrite your Octave script in Verilog, but part of what makes MyHDL exciting is that this extra work is done for you.

  20. Re:Not a fan of procedural languages syntax for HD by jandecaluwe · · Score: 1

    To all those who equate MyHDL with "procedural input", just because it is pure Python, please hold your horses for a minute.

    HDLs like Verilog and VHDL have both procedural and concurrent semantics. The concurrent part is very specific: fine-grained, massive, but tightly controlled through event-driven semantics. The only thing necessary to emulate that in Python are generators (functions with state), which is a pure Python concept , and an event-driven scheduler (implemented in a Simulation object).

    As a result, the semantics of MyHDL, in particular its concurrent semantics, are basically identical to Verilog and VHDL semantics.

  21. Large EDU market available by Anonymous Coward · · Score: 0

    An Open gate-array is one of those "if you build it, they will come" sort of things.

    One well-known market would be immediately available and very eager to embrace an open FPGA, namely EE education.

    Educating future electronics engineers in programmable logic techniques is difficult and unsatisfactory today because part of the process is deliberately hidden and the tools are closed and proprietary. Below the level of HDL, that education is being hindered and in reality is being replaced by company-specific vocational training. This is widely recognized as inadequate for students, unbalanced for industry, and contrary to the goals of education.

    This bad situation is made even worse by some pragmatic issues. Every company's SDK is huge and entirely different, so it's not possible to create company-agnostic course materials, and having all the SDKs installed doesn't make educational sense even if it were logistically feasible. On top of that, every company imposes licensing hurdles, and their SDKs are not portable so we cannot run them where we might wish.

    These many problems combine into a very difficult situation for EE education. I have not the slightest doubt that an open FPGA would be welcomed with open arms in virtually every college and university involved in electronics engineering, worldwide.

    1. Re:Large EDU market available by Bruce+Perens · · Score: 1

      One well-known market would be immediately available and very eager to embrace an open FPGA, namely EE education.

      Yes. EE education and academic research.

      There is also the security problem. How can you determine from first principles that the chip really contains what it says it does? Insoluble with any commercial component. Maybe we could make ours sufficiently visible.

      So, my feeling is that we could get a grant for this.

  22. Re:Not a fan of procedural languages syntax for HD by CC12123 · · Score: 1

    Hey Jan, thanks for making MyHDL :D

  23. What is this for? by Truist · · Score: 1

    As a regular developer-type geek who's never done anything with radio, can somebody tell me what this does and why it is interesting? I don't want to watch an hour of video to try to figure that out.

    (Please don't take that as snark - I'm truly curious.)