Steven Bell
Steven Bell
  • 271
  • 200 863

Відео

Digital logic FSM example: locked candy dispenser
Переглядів 3,6 тис.3 роки тому
Digital logic FSM example: locked candy dispenser
Introduction to finite state machines for digital logic
Переглядів 9 тис.3 роки тому
Introduction to finite state machines for digital logic
How to insert the UPduino into a breadboard
Переглядів 2353 роки тому
How to insert the UPduino into a breadboard
How to remove your UPduino from a breadboard
Переглядів 2,4 тис.3 роки тому
Quick demonstration of how to remove the UPduino 3.0 from a breadboard without bending all the pins.
How to insert and remove IC DIP packages in a breadboard
Переглядів 4,5 тис.3 роки тому
Advice for how to insert standard DIP ICs into a breadboard, and how to remove them without damaging the pins.
Basics of using an oscilloscope
Переглядів 64 тис.3 роки тому
The basics of what an oscilloscope does, and how to use it to measure an electrical signal that is changing faster than your eyes can see. Uses the Tek TDS 2012 which we have in Tufts ECE lab 223.
How to use the digital multimeter and DC power supply
Переглядів 3,6 тис.3 роки тому
Quick tutorial on using a benchtop digital multimeter (DMM) and DC power supply. Uses the TENMA 72-410 and an analog DCPS in Tufts ECE lab 223.
More advanced VHDL debugging with Lattice Radiant
Переглядів 6263 роки тому
How to dig into the RTL and technology netlist view and P&R reports to better understand why your FPGA design isn't working.
How to set the top module and enable VHDL-2008 in Lattice Radiant
Переглядів 4,9 тис.3 роки тому
How to set the top module and enable VHDL-2008 in Lattice Radiant
How to see synthesis errors in Lattice Radiant
Переглядів 4103 роки тому
How to see synthesis errors in Lattice Radiant
How (and why) to write a good debug log
Переглядів 3983 роки тому
How (and why) to write a good debug log
Building a D flip-flop with VHDL
Переглядів 9 тис.3 роки тому
I describe how to use VHDL to describe a D flip-flop, while pointing out approaches that don't work.
Structural modeling with VHDL
Переглядів 4,8 тис.3 роки тому
An example of writing a VHDL module using structural/hierarchical modeling.
What good is structural modeling?
Переглядів 7303 роки тому
A brief example of structural / hierarchical modeling in digital systems, and why it's a useful technique.
Building and analyzing a D flip-flop
Переглядів 1,8 тис.3 роки тому
Building and analyzing a D flip-flop
Building and analyzing a D latch
Переглядів 8853 роки тому
Building and analyzing a D latch
Behavior of an SR latch, step by step
Переглядів 8553 роки тому
Behavior of an SR latch, step by step
What are flip-flops good for?
Переглядів 6723 роки тому
What are flip-flops good for?
What is a VHDL process? (Part 2)
Переглядів 5 тис.3 роки тому
What is a VHDL process? (Part 2)
Simulating VDHL code with GHDL
Переглядів 15 тис.3 роки тому
Simulating VDHL code with GHDL
What is a VHDL process? (Part 1)
Переглядів 11 тис.3 роки тому
What is a VHDL process? (Part 1)
Anatomy of a VHDL module
Переглядів 1,2 тис.3 роки тому
Anatomy of a VHDL module
How to think about VHDL
Переглядів 8 тис.3 роки тому
How to think about VHDL
Your first project with Lattice Radiant
Переглядів 4,1 тис.3 роки тому
Your first project with Lattice Radiant
Implementing logic functions with multiplexers (and how FPGAs work)
Переглядів 7 тис.3 роки тому
Implementing logic functions with multiplexers (and how FPGAs work)
What are multiplexers good for?
Переглядів 3633 роки тому
What are multiplexers good for?
Practice with Karnaugh maps
Переглядів 2,5 тис.3 роки тому
Practice with Karnaugh maps
Making sense of Boolean algebra theorems
Переглядів 3163 роки тому
Making sense of Boolean algebra theorems
DeMorgan's theorem
Переглядів 1,2 тис.3 роки тому
DeMorgan's theorem

КОМЕНТАРІ

  • @leander9263
    @leander9263 19 днів тому

    "Think of it as designing a circuit and not a sequence of instructions" Dope

  • @purplelord8531
    @purplelord8531 Місяць тому

    based and vim pilled

  • @frederikhansen1321
    @frederikhansen1321 Місяць тому

    This is one of those topics where only a fairly small amount of people learn about it every year, and videos like this wouldn't get many views. For those who do watch this (me) and have to learn (also me) this, it is extremely helpful and I really appreciate you taking the time to explain this in a simple way so that one can grasp this in the right way from the beginning. Thank you!

  • @BTechCourse
    @BTechCourse 2 місяці тому

    Very good explanation Thank you 😊

  • @BEREZINtester
    @BEREZINtester 2 місяці тому

    Anderson Joseph Smith Timothy Allen Joseph

  • @LyttonMoira-s1o
    @LyttonMoira-s1o 2 місяці тому

    Antonette Crescent

  • @BrittLandi-c1n
    @BrittLandi-c1n 2 місяці тому

    Padberg Springs

  • @htubyfrdfcybrjdf8260
    @htubyfrdfcybrjdf8260 2 місяці тому

    Lee Scott Hall Donna Taylor Richard

  • @WattHowar-e9i
    @WattHowar-e9i 2 місяці тому

    Clark Daniel Lewis Joseph Clark Lisa

  • @GaryJackson7Moore-k5q
    @GaryJackson7Moore-k5q 2 місяці тому

    Lee Michelle Robinson Deborah Martin Eric

  • @CarrollFitch
    @CarrollFitch 2 місяці тому

    14251 Ulices Cove

  • @IngersollMaria-z9s
    @IngersollMaria-z9s 2 місяці тому

    Walker Ruth Thompson Donald Wilson Larry

  • @BettyClark-r3h
    @BettyClark-r3h 2 місяці тому

    Moore Donna Walker Brenda Jackson Karen

  • @htubyfrdfcybrjdf8260
    @htubyfrdfcybrjdf8260 2 місяці тому

    Smith John Young Brenda Harris Steven

  • @Fugoogle-l3y
    @Fugoogle-l3y 3 місяці тому

    holy mouth noises

  • @navidsadeghpour4970
    @navidsadeghpour4970 5 місяців тому

    For creating a clock by process, you should have inserted one line of code after wait For 5 ns : signal a : std_logic := '0' process begin a <= not (a) ; wait for 5 ns ; a <= 1; end process ;

    • @botsnlinux
      @botsnlinux 5 місяців тому

      The line a <= '1'; doesn't do anything in this example... remember that with a non-blocking assignment the signal doesn't get the new value until time passes. So after "a <= '1'", it goes back to the top of the process block and does "a <= not(a)" with the **old** value of a. If you put a "wait for 5 ns;" statement after "a <= '1'" then it would work, but it's not clear what the advantage of this would be.

    • @codingwithnamit8551
      @codingwithnamit8551 3 місяці тому

      @@botsnlinux i had a similar doubt, thanks for explaining!

  • @firsteerr
    @firsteerr 5 місяців тому

    thanks for this as someone returning to electronics for my hobby of 9 bit micros i have not sued one for decades , so this really bought it all back for me

  • @優さん-n7m
    @優さん-n7m 6 місяців тому

    So its not possible to add breakpoint into code when using teh GHDL, is this correct?

  • @vrakitine
    @vrakitine 6 місяців тому

    When I was earning my master's degree, I heard a lot about finite state machines (FSMs), but it was all theory - like clouds in the sky: there's a lot of water, but you can't drink it. I toiled for three months after graduating until I implemented my first FSM in code in 1981. Now, there is a programming methodology based on this concept - v-agent oriented programming (VAOP) - with many examples of its implementation. It's best to start learning about VAOP with this article on Medium: "Bagels and Muffins of Programming or How Easy It Is to Convert a Bagel into a Black Hole".

  • @SilentJnation
    @SilentJnation 7 місяців тому

    Beautiful. Got an exam tomorrow, helped a lot. Thank you.

  • @Iachigan
    @Iachigan 7 місяців тому

    Superb!

  • @b213videoz
    @b213videoz 8 місяців тому

    VHDL process is a lie: it doesn't exist 🤪

  • @BrianMiller-j2u
    @BrianMiller-j2u 8 місяців тому

    Will you provide a link to sevenseg.vhd or a UA-cam video where you create it so I can get the last step of the simulation to work? Great video BTW!

  • @mustafacanbakan594
    @mustafacanbakan594 8 місяців тому

    how do we know that the output stays high when both the clock and A go low at the same time?

    • @botsnlinux
      @botsnlinux 8 місяців тому

      The short answer is that we don't! A real flip-flop will have a "setup time" and a "hold time" which define the intervals before and after the clock edge where the input signal needs to stay the same. If the input signal changes at the same time as the clock, the output will be undefined.

  • @ALPAY35
    @ALPAY35 8 місяців тому

    thank you for your time

  • @b213videoz
    @b213videoz 8 місяців тому

    Why must I even think about VHDL ? 🤪

  • @geoffreyrichardson8738
    @geoffreyrichardson8738 9 місяців тому

    Should have used a laser pointer, or a fixed focus camera

  • @VendorProduction
    @VendorProduction 10 місяців тому

    Thank you omg

  • @mustafaaljumayli6615
    @mustafaaljumayli6615 10 місяців тому

    Dude thank you so much. I have an exam tomorrow, this was lifesaving. I subbed and liked🙏🏽

  • @bradleykingston551
    @bradleykingston551 11 місяців тому

    Don't we have to initialize the states?

    • @bradleykingston551
      @bradleykingston551 11 місяців тому

      I meant not initializing but define them, like how does the program know that an idle state represents a 00

    • @botsnlinux
      @botsnlinux 11 місяців тому

      Ah, the cool thing about this method is that you don't have to specify the mapping of states to bits; the synthesis tool can do that for you. And because it can try a large number of possibilities very quickly, it can (hopefully) find a state encoding that minimizes the number of gates used, or makes the circuit run fast.

  • @bradleykingston551
    @bradleykingston551 11 місяців тому

    Hi! What if i have 3 states in my diagram? can i still use the two bits representation? 00 01 10 11? I won't have to use one of them tho. help please

    • @botsnlinux
      @botsnlinux 11 місяців тому

      Sure, there's no requirement that you use all the states! Although you should probably make sure that there's a path out of the unused state, so that if it ends up there by accident (power up, glitch, etc) it has a way to get back to a known good state automatically. For example, you could use 00, 01, and 10 for your three states, and then add logic so that the 11 state always goes to the 00 state on the next cycle.

    • @bradleykingston551
      @bradleykingston551 11 місяців тому

      Thanks for your reply. i just watched the next video and realized you mentionned this and immidiately i saw your comment reply. thanks very much@@botsnlinux

  • @tomholroyd7519
    @tomholroyd7519 11 місяців тому

    Although ... for a proper A => B with 3 values, you need a LUT with *9* entries ... hrm

  • @tomholroyd7519
    @tomholroyd7519 11 місяців тому

    3-LUT are cool for directly implementing #RM3 implication. Electronic logic circuits these days are already non-binary, with at least "true", "false", and "don't care" (X). The logical value of "Both true and false" is equivalent to "neither true nor false" so you only need 3 values, really.

  • @velascogualotunadaniel2020
    @velascogualotunadaniel2020 11 місяців тому

    nice video

  • @engjds
    @engjds 11 місяців тому

    Been at this language for a while and I still pull my hair out on occasions, but lately its all been coming together since using component imports and generics, I tend to think of designs in terms of counters and glue logic, i.e. state machines, if you try and fall back on VHDL doing the power tasks without thinking in terms of hardware behind it, you will create some monstrously bulky designs, KISS method. When you start, dont make the same mistake as I did, when you search for help, ALWAYS make sure the examples are SYNTHESIZABLE (can be programmed into hardware) or testbench which cannot, learn one first, not both at the same time or you might go mental!

    • @engjds
      @engjds 11 місяців тому

      @clintonowino2619 thankyou for that tip, that is helpful!, I am at a point now where I can create mostly functioning designs, but clueless on test bench, if you know any good books let me know

  • @Moocow2003
    @Moocow2003 Рік тому

    thank you!

  • @JamesHardaker
    @JamesHardaker Рік тому

    lip smacking is very distracting

    • @MadOokami
      @MadOokami Рік тому

      Glad I'm not the only one

  • @rezapapi6544
    @rezapapi6544 Рік тому

    Thank you for clear explanation. I think there is an issue. in this line ( hourplus <= "0" & hour;), I think you should use OR(|) instead of AND (&).

    • @botsnlinux
      @botsnlinux Рік тому

      '&' here is concatenation (i.e., joining the bits into a longer vector), not logical AND! We need a 6-bit vector going into the digit-splitter, but hours will only be 5 bits. So we tack on an extra zero to make it match.

    • @rezapapi6544
      @rezapapi6544 Рік тому

      @@botsnlinux thank you for clarifying

  • @victorwaburi2821
    @victorwaburi2821 Рік тому

    Which VHDL editor can I download for free

    • @botsnlinux
      @botsnlinux Рік тому

      GHDL is a good open-source simulator for VHDL. You can use whatever editor you'd like! (I happen to prefer Vim, but there are plugins for VSCode and plenty of other editors as well.)

  • @richstaubin333
    @richstaubin333 Рік тому

    What is it about the radiant that makes it not great as you put it?

  • @CuriousCyclist
    @CuriousCyclist Рік тому

    Thank you for taking the time to make this video. Much appreciated.

  • @rckeith
    @rckeith Рік тому

    Thanks just what I needed. Great video

  • @samus4799
    @samus4799 Рік тому

    Hi, i have experience with Ladder Logic. Do you think this would give me an advantage in learning VHDL?

    • @engjds
      @engjds 11 місяців тому

      Nope, not unless you used it to siplify logic like using demorgans, karnaugh maps, state machine etc.

  • @ryanmckenna2047
    @ryanmckenna2047 Рік тому

    By far the clearest and both concise on YT. Thanks!

  • @JohnJohn-gy2st
    @JohnJohn-gy2st Рік тому

    Hello

  • @jajajaj666
    @jajajaj666 Рік тому

  • @amgadelgamal4445
    @amgadelgamal4445 Рік тому

    Hi, i think there is a mistake in the S0 KMAP 11:44 . 0110 is a minterm, but you accidentally put it as 0.

  • @keenobaerry3195
    @keenobaerry3195 Рік тому

    not in your class but going through the paces in CompE, thanks

  • @mavisagyemang3542
    @mavisagyemang3542 Рік тому

    Thank you

  • @oricardoaragao
    @oricardoaragao Рік тому

    thanks!