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

    • bqviet
      Trả lời cho Đấu tắt điện cho máy tính bảng
      bởi bqviet
      Bqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
      06-12-2025, 17:17
    • nguyendinhvan
      Trả lời cho Xin hỏi về mạch thu FM/AM trong catsette
      bởi nguyendinhvan
      Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
      05-12-2025, 19:59
    • afrendly
      Trả lời cho Đấu tắt điện cho máy tính bảng
      bởi afrendly
      Có vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
      04-12-2025, 01:27
    • nick22
      Trả lời cho Máy điện châm ?
      bởi nick22
      Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
      01-12-2025, 13:23
    Đang tải...
    X