Thông báo

Collapse
No announcement yet.

Mem mới cần giúp đỡ về FSM trong Verilog

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Mem mới cần giúp đỡ về FSM trong Verilog

    Em đang làm bài về FSM , có chút thắc mắc (lab7 trong bộ 10lab của altera )
    Đề bài cụ thể ( post lun cái đề gốc bằng tiếng anh , tại trình độ còn thấp , nên dịch ra sợ hem chuẩn lắm )
    For this part you are to design a circuit for the DE2 board that scrolls the word "HELLO" in ticker-tape fashion on
    the eight 7-segment displays HEX7 − 0. The letters should move from right to left each time you apply a manual
    clock pulse to the circuit. After the word "HELLO" scrolls off the left side of the displays it then starts again on
    the right side.
    Design your circuit by using eight 7-bit registers connected in a queue-like fashion, such that the outputs of the
    first register feed the inputs of the second, the second feeds the third, and so on. This type of connection between
    registers is often called a pipeline. Each register’s outputs should directly drive the seven segments of one display.
    You are to design a finite state machine that controls the pipeline in two ways:
    1. For the first eight clock pulses after the system is reset, the FSMinserts the correct characters (H,E,L,L,0, , , )
    into the first of the 7-bit registers in the pipeline.
    2. After step 1 is complete, the FSM configures the pipeline into a loop that connects the last register back to
    the first one, so that the letters continue to scroll indefinitely.
    Write Verilog code for the ticker-tape circuit and create a Quartus II project for your design. Use KEY0 on the
    DE2 board to clock the FSM and pipeline registers and use SW0 as a synchronous active-low reset input. Write
    Verilog code in the style shown in Figure 3 for your finite state machine.
    Compile your Verilog code, download it onto the DE2 board and test the circuit.


    đây là phần nối mấy cái register của em
    Register R0(.Data_in(Data_in_R0) , .Clk(Clk) , .Reset(Reset), .Data_out(Data_out_R0));

    Register R1(.Data_in(Data_out_R0) , .Clk(Clk) , .Reset(Reset), .Data_out(Data_out_R1));

    Register R2(.Data_in(Data_out_R1) , .Clk(Clk) , .Reset(Reset), .Data_out(Data_out_R2));

    Register R3(.Data_in(Data_out_R2) , .Clk(Clk) , .Reset(Reset), .Data_out(Data_out_R3));

    Register R4(.Data_in(Data_out_R3) , .Clk(Clk) , .Reset(Reset), .Data_out(Data_out_R4));

    Register R5(.Data_in(Data_out_R4) , .Clk(Clk) , .Reset(Reset), .Data_out(Data_out_R5));

    Register R6(.Data_in(Data_out_R5) , .Clk(Clk) , .Reset(Reset), .Data_out(Data_out_R6));

    Register R7(.Data_in(Data_out_R6) , .Clk(Clk) , .Reset(Reset), .Data_out(Data_out_R7));

    Qua đó , em nghĩ là vấn đề mình sẽ cho cái Data_in_R0 vào là cái gì thui ( vì sau xung clock nó sẽ đẩy dữ liệu qua các register sau )


    Ý tưởng là ở trạng thái 1 , em sẽ sử dụng 1 cái DISPLAY[55:0] lưu [H E L L O Blank blank blank]
    sau đó em dịch dispay sang trái 7 bít DISPLAY = [E L L O Blank Blank Blank H]
    rùi cho cái Data_in_R0 = DISPLAY[6:0] ( =H);
    Sau 8 lần dịch thì xong trạng thái 1 , chuyển sang trạng thái số 2
    Đề bài yêu cầu ( theo em hiểu) là sau trạng thái 1 , HELLO sẽ dịch sang trái , khi nào dịch hết chữ HELLO (Tức là chữ HELLO mất lun ) thì mới bắt đầu hiện chữ H ở LED đầu tiên và dịch tiếp sang trái .
    Em muốn hỏi làm cách nào để dịch kiểu như vậy
    Hix , cho em chút gợi ý là được rùi , em nghĩ hoài mà hem ra ( dùng theo kiểu FSM nha các anh )
    Thank you so much!

  • #2
    Vậy thanh ghi dịch của bạn gồm 5(chữ HELLO) + 8(số con led 7 đoạn) = 13 tầng. Đơn giản vậy thôi: Lặp vòng 13 tầng: chữ "HELLO" và 8 khoảng trắng.

    Comment

    Về tác giả

    Collapse

    npkhttl Tìm hiểu thêm về npkhttl

    Bài viết mới nhất

    Collapse

    • since0501
      Trả lời cho Pin Li-FePO4 (pin sắt) rất dể hỏng! Các biện pháp ngăn ngừa.
      bởi since0501
      Mình đào mộ xíu, cho mình hỏi là pin của bác vẫn ok chứ? Mình vừa đóng khối pin 16 cell 40135 thì khi chạy điện áp nó sụt so với khi nghỉ như video mình dẫn link, vậy cho mình hỏi là dung lượng pin sẽ tính khi áp nghỉ hay áp đang hoạt động, và pin sụt áp như vậy là bình thường hay pin kém?
      ht...
      hôm nay, 17:56
    • mèomướp
      Trả lời cho Sửa bộ nguồn DC 60V 45A
      bởi mèomướp
      Dạ hông dám làm thì chắc chắn sẽ mãi ko thể làm được đâu ạ. Nguồn xung dân dụng vài kw giờ rất nhìu ạ, sạc ô tô điện, máy hàn, lò vi sóng, âm ly... tùy chất lượng mà độ phức tạp sẽ khác nhau ạ. Và cái giá phải trả về kinh tế...
      Hôm qua, 13:11
    • tuyennhan
      Trả lời cho Sửa bộ nguồn DC 60V 45A
      bởi tuyennhan
      Sửa dạng này thì chuyên còn không dám chắc khộng cháy nổ với linh kiện bán ngoài chợ nói gì khộng chuyên .
      Hôm qua, 09:25
    • tuyennhan
      Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
      bởi tuyennhan
      Đúng rồi chọn mua theo tai . ca thì phải toàn dải nhạc thì chỉ cao và thấp thé nên loa ca thì nghe nhạc không hay và ngược lại .
      Muốn ca và nhạc đều hay thì phải dúng 2 giàn , còn nếu chỉ có 1 thì phải chỉnh sửa lại sao cho ca và nhạc đều được không quá dở ....
      Hôm qua, 09:10
    • Ng.Phuong.5
      Vấn đề in lỗ khoan ra pdf ở Orcad 9.2
      bởi Ng.Phuong.5
      Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
      Mấy con...
      09-01-2025, 19:44
    • viettinh
      Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
      bởi viettinh
      Bác nói đúng quá. Cơ mà muốn mua hàng chính hãng, hàng thương hiệu mà tai lại hợp hàng tầu mới khổ chứ.
      Đang tính mua cái loa tầu nữa cột đằng sau loa này, Loa sony chỉ để hát nhép thôi, có dc k các bác ...
      09-01-2025, 18:12
    • nguyendinhvan
      Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
      bởi nguyendinhvan
      Theo tôi thì khi hpj sản xuất ra cái loa đó, đã có nhiều chuyên gia kỹ thuật hiệu chỉnh, tính toán các phần tử kỹ lưỡng rồi.
      Bây giờ tính toán hiệu chỉnh lại cần có đội ngũ tương đương với nhà sản xuất.
      Cách đơn giản...
      09-01-2025, 00:04
    • mèomướp
      Trả lời cho Sửa bộ nguồn DC 60V 45A
      bởi mèomướp
      Dạ cháu có ý tốt muốn động viên chú ấy ngâm cứu khoa học thôi ạ. Về phần kiểm tra dao động thì chú ấy chưa biết thì sẽ tìm hiểu được là cần những gì ạ, chắc chắn là khi hướng dẫn phần ấy các cô chú nào đó sẽ lưu ý cần loại sò công suất ra tránh cháy nổ rồi ạ....
      08-01-2025, 19:02
    • tuyennhan
      Trả lời cho Sửa bộ nguồn DC 60V 45A
      bởi tuyennhan
      Chủ thớt hỏi có kiểm tra được dao động mà không cấp nguồn thì rõ trình ở mức nào mà mèo còn xúi ngâm cứu nữa ác vậy ....
      08-01-2025, 15:43
    • tuyennhan
      Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
      bởi tuyennhan
      Loa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
      08-01-2025, 15:28
    Đang tải...
    X