29 - Synchronous, Asynchronous, Set, Reset

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ม.ค. 2025

ความคิดเห็น • 6

  • @dylanhansen69
    @dylanhansen69 9 หลายเดือนก่อน +1

    Thank you for this explanation! It was very helpful for understanding the difference between synchronous and asynchronous and where to put what in the always blocks to make it one or the other.

  • @Hasan-pd1vy
    @Hasan-pd1vy 8 หลายเดือนก่อน

    Do we have to write the synchronous part in combinational always block? Wouldn't it work like this:
    always @(negedge clk,negedge reset_n) begin
    if(!reset_n)
    Q_reg

    • @electronicwoe
      @electronicwoe 7 หลายเดือนก่อน

      Yes, that is equivalent, because if "not ~reset_n", that means that the first "always" block was triggered by a negative edge of "clk", thus you're only checking "clear_n" on a clock edge and so it is synchronous. (I also elaborated the design using your suggestion and it results in the same schematic).

  • @juhisingh7654
    @juhisingh7654 ปีที่แล้ว +1

    sir please provide testbench code also

    • @alonbechor1842
      @alonbechor1842 ปีที่แล้ว

      You can do it by yourself if you have happened to watch his previous videos..

    • @sharafmakk2936
      @sharafmakk2936 5 หลายเดือนก่อน

      you can find them in his github