اطلاعیه

Collapse
No announcement yet.

کمک در مورد verilog

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    کمک در مورد verilog

    من نیاز به راهنمایی در مورد نوشتن یک ماژول با زبان verilogبرای تقسیم فرکانس ورودی بصورت 1/2و1/4و1/8 دارم.تا جایی که من تحقیق کردم با استفاده از فلیپ فلاپ د میشه این کار را کرد.یه چیزی هایی هم نوشتم اما ایراد می گرفت توی نرم افزار
    هر گاه خداوند تو را به لبه پرتگاه هدايت کرد به خدا اطمينان کن،يا تو را از پشت خواهد گرفت يا به تو پرواز کردن خواهد آموخت.

    #2
    پاسخ : کمک در مورد verilog

    من این کد نوشتم :

    module ClkDiv(Clk_In, ClkDiv2, ClkDiv4, ClkDiv8, ResetL);
    input Clk_In;
    output ClkDiv2;
    output ClkDiv4;
    output ClkDiv8;
    input ResetL;
    reg ClkDiv2;
    reg ClkDiv4;
    reg ClkDiv8;
    reg Counter1;
    reg [1:0]Counter2;

    always @(posedge Clk_In or negedge ResetL)
    if (!ResetL)
    ClkDiv2 <= 0;
    else
    ClkDiv2 <= ~ClkDiv2;

    always @(posedge Clk_In or negedge ResetL)
    if (!ResetL) begin
    ClkDiv4 <= 0;
    Counter1 <= 0;
    end
    else begin
    if (Counter1 == 1)
    ClkDiv4 <= ~ClkDiv4;
    Counter1 <= ~Counter1;
    end

    always @(posedge Clk_In or negedge ResetL)
    if (!ResetL) begin
    ClkDiv8 <= 0;
    Counter2 <= 0;
    end
    else begin
    if (Counter2 == 3)
    ClkDiv8 <= ~ClkDiv8;
    Counter2 <= Counter2 + 1;
    end

    endmodule
    https://www.linkedin.com/in/mohammadhosseini69

    http://zakhar.blog.ir

    دیدگاه


      #3
      پاسخ : کمک در مورد verilog

      خوب عزیز من یک کانتر بگیر که بر اساس پالس ورودی بشمره. بیت صفر اش میشه تقسیم بر 2و بیت 1 میشه تقسیم به چهار و غیره.
      مثلا:


      کد:
      module ClkDiv(clkIn, clkOut2, clkOut4, clkOut8)
       input clkIn;
       output clkOut2, clkOut4, clkOut8;
      
       reg[2:0] cntr;
      
       assign clkOut2 = cntr[0];
       assign clkOut4 = cntr[1];
       assign clkOut8 = cntr[2];
       
       always @(posedge clkIn)
       begin
         reg <= reg + 1;
       end
      endmodule

      دیدگاه

      لطفا صبر کنید...
      X