Thông báo

Collapse
No announcement yet.

Tài liệu và bài tập mẫu FPGA hay

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

  • Tài liệu và bài tập mẫu FPGA hay

    Do tình hình máy em đầy dữ liệu,mà xóa đi thì hơi tiếc nên em xin mạn phép up lên mạng những tài liệu của thầy giáo cho mọi người với hy vọng có thêm tài liệu cho anh em tham khảo.
    Em chia ra là 10 phần tất cả:



    Phần 1: tieu lieu 1.rar
    Phần 2: Tai lieu 2.rar
    Phần 3: tai lieu 3.rar
    Phần 4: tai lieu 4.rar
    Phần 5: tai lieu 5.rar
    Phần 6: tai lieu 6.rar
    Phần 7: tai lieu 7.rar
    Phần 8: tai lieu 8.rar
    Phần 9: tai lieu 9.rar
    Phần 10:tai lieu 10.rar
    Quang Nhat
    ---------------------------------------
    Yahoo :quangnhat85ls
    Mail :
    Nhận thiết kế và ép nhựa cho đồ điện tử

  • #2
    cũng xin góp sưc, Verilog Tutorial trang này là trang học verilog khá hay

    Comment


    • #3
      đây là code bằng verilog nhận byte từ PC xuống FPGA hiện thị ra led 7seg
      `include "led7seg.v"
      module uart(clk,reset,txd,rxd,dataled,anot);
      input clk,reset,rxd;
      output txd;
      //input datain;
      reg txd;
      reg [3:0] count_bit;
      reg [3:0] count_tx;
      reg [9:0] shift;
      reg [15:0] count_clk;
      reg [7:0] uart_buffer;
      reg [0:7] shift_tx;
      reg clk_uart;
      reg flag_tx;
      reg start,stop;
      //=========================
      output [7:0] dataled;
      output [3:0] anot;
      wire [7:0] datain;
      //==========================
      led7seg decodeled (
      .clk(clk),
      .reset(reset),
      .datain(datain),
      .dataled(dataled),
      .anot(anot)
      );
      assign datain = uart_buffer;
      //==========================
      //shift <= {ps2d,shift[9:1]};
      initial begin
      count_clk <= 0;
      count_bit <= 0;
      count_tx <= 0;
      clk_uart <= 0;
      start <= 0;
      flag_tx<=0;
      end
      //===============================================
      always @ (posedge clk or posedge reset )
      begin

      end
      always @ (posedge clk or posedge reset )
      begin
      if(reset) begin
      count_clk <= 0;
      clk_uart <= 0;
      end
      else
      begin
      count_clk <= count_clk + 1;
      if(count_clk == 5208/2)
      begin
      count_clk <= 0;
      clk_uart <=~ clk_uart;
      end
      end
      end
      //================================================
      always @ (posedge clk_uart)
      begin
      if((rxd==0)&(count_bit==0))
      begin
      start<=1;
      count_bit<=count_bit+1;
      shift <= {rxd,shift[9:1]};
      end
      if(start==1) begin
      count_bit<=count_bit+1;
      shift <= {rxd,shift[9:1]};
      if(count_bit==10)
      begin
      count_bit<=0;
      if((shift[0]==0)&(shift[9]==1)) begin
      uart_buffer<= shift[8:1];
      shift_tx <= shift[8:1];
      flag_tx<=1; // cho phep truyen
      end else shift<=0;
      start<=0;
      end
      end
      if(flag_tx==1) begin
      count_tx<=count_tx+1;
      if(count_tx==0) txd <= 0;
      else if(count_tx==9) txd <= 1;
      else if ((count_tx>0)&(count_tx<9)) begin
      txd<= shift_tx[7-(count_tx-1)];
      end
      if (count_tx==10) begin
      count_tx <= 0;
      flag_tx<=0;
      end
      end
      end
      //================================================== ===
      endmodule

      Comment

      Về tác giả

      Collapse

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

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

      Collapse

      Đang tải...
      X