这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » wang1113的申请FPGA开发板跟进贴

共40条 2/4 1 2 3 4 跳转至
工程师
2012-10-29 11:00:48     打赏
11楼
软件的准备
我用的是QuartusII  10.0C和Modeltech_10.1c这两个软件都是从网上下载的。
QuartusII  10.0C是
ftp.altera.com/outgoing/release/10.0_quartus_windows.exe

和谐文件:
Quartus II 10.0破解文件.rar





Modeltech_10.1c包括和谐文件是
hi.baidu.com/123117400/item/86a44aab66a63ef115329b92





工程师
2012-10-30 09:56:00     打赏
12楼
第一个程序的运行——测试的运行
用的是论坛上的测试程序
FPGA开发板DIY 测试程序 下载后用QuartusII写入开发板运行
首先打开QuartusII点击出现



再点击出现



选中文件*.sof点击键出现如图



然后点击(记得一定要打开板子上的电源开关啊)会出现下图



你看看板的LED灯是不是已经开始亮了。后面的几个操作时一样的。

第一个LED闪烁灯测试



第二个LED流水灯测试



第三个蜂鸣器测试

这个没有照片可拍的了是声音,我不会上传的方法

第四个数码管测试



第五个音乐播放器测试





我没有LCD屏所以没有测试等有了再上传

工程师
2012-10-30 11:02:58     打赏
13楼
自己照着教程实现的第一个功能的程序《点亮LED》学习基本的QuartusII10.0c的操作步骤。在这个过程中还有两个碰到的问题QQ群关于“DIYFPGA实验sys_clk,sys_rstn引脚定义”的总结 QQ群关于“关于芯片引脚的定义导致的数码管自动点亮”的总结 ,有遇到相同的初学的可以看看。
这是软件界面



这是器件选择



这是编程器的选择




这是不用管脚的设置





在定义引脚是我是先将程序编译一下用到那个再从电路原理图中找到就行了






程序代码:
module led(led);
output[7:0]led;
assign led=8'b0101_0101;
endmodule

这个程序是控制2、4、6、8LED灯亮的

作业:

如果将程序中的8'b0101_0101改成8'b1010_1010就可以控制1、3、5、7LED灯亮了(教程中用always命令的也是改的这个)
运行后如下

8'b0101_0101




8'b1010_1010



总结:
0表示LED灯灭
1表示LED灯亮


源代码下载:LED.rar

工程师
2012-10-30 13:49:34     打赏
14楼
实验二(LED灯闪烁)

代码:



运行后如下






源代码下载LED_liang.rar

工程师
2012-10-30 13:53:13     打赏
15楼
实验三(流水灯LED)
源代码:
module led_water(sys_clk,
                 sys_rstn,
       led
       );
       //input,output
input sys_clk;    //clk,50MHz
input sys_rstn;   //rest
output[7:0]led;   //led output
reg [7:0] led ;   //led
reg [24:0]  delay_cnt;
always@(posedge sys_clk or negedge sys_rstn)
      begin
      if(!sys_rstn)
        delay_cnt<=25'd0;
     else
         begin
          if(delay_cnt==25'd24999999)
           delay_cnt<=25'd0;
        else
                delay_cnt<=delay_cnt+1'b1;
              end
   end
always@(posedge sys_clk or negedge sys_rstn)
      begin
           if(!sys_rstn)
        led<=8'b11111111;
    else
            begin
             if(delay_cnt==25'd24999999)
                begin
                    led<=led>>1;
              if(led==8'b00000000)
                   led<=8'b11111111;
          
         end
       else  
     
              led<=led;
      end
   end
endmodule
运行结果(向左流水)






作业:


向右流水是将 led<=led>>1中“>>”改成“<<”就可以了







向右流水视频:




视频地址:http://union.bokecc.com/flash/single/290666218ACBA694_B5DD850405B1CC89_false_EEA982EE6B20F4D1_1/player.swf

源代码下载:LED_water.rar

工程师
2012-10-30 14:56:46     打赏
16楼
实验四(LED跑马灯)

源代码



运行结果(向右跑马灯)








源代码下载led_run.rar

工程师
2012-11-01 09:10:22     打赏
17楼

实验五(按键控LED)
说明:按下一个key亮一个led灯


代码:
module key_led(
               key_in,
     led
     );
  input[7:0]key_in;
  output[7:0]led;
  reg[7:0]led;
  reg[7:0]buffer;
  always@(key_in)
  begin
      buffer=key_in;
  case(buffer)
  8'b11111110:led=8'b11111110;
  8'b11111101:led=8'b11111101;
  8'b11111011:led=8'b11111011;
  8'b11110111:led=8'b11110111;
  8'b11101111:led=8'b11101111;
  8'b11011111:led=8'b11011111;
  8'b10111111:led=8'b10111111;
  8'b01111111:led=8'b01111111;
  default led=8'b11111111;
  endcase
 end
endmodule 
  
运行结果












下载分享:key_led.rar


工程师
2012-11-01 09:37:33     打赏
18楼
实验六(静态数码管显示)

代码:
module shuma(
             sm_seg,
     sm_bit,
     clk);
input clk;
output [7:0] sm_seg;
output [7:0] sm_bit;
reg [7:0] sm_seg;
reg [7:0] sm_bit;
reg [3:0] disp_dat;
reg [36:0] count;
always@(posedge clk)
    begin
        count=count+1'b1;
    sm_bit=8'b00000000;
   end
always@(count[24])
     begin
      disp_dat={count[28:25]};
    end
always@(disp_dat)
     begin
      case(disp_dat)
      4'h0:sm_seg=8'hc0;//0
    4'h1:sm_seg=8'hf9;//1 
    4'h2:sm_seg=8'ha4;//2
    4'h3:sm_seg=8'hb0;//3
    4'h4:sm_seg=8'h99;//4
    4'h5:sm_seg=8'h92;//5
    4'h6:sm_seg=8'h82;//6
    4'h7:sm_seg=8'hf8;//7
    4'h8:sm_seg=8'h80;//8
    4'h9:sm_seg=8'h90;//9
    4'ha:sm_seg=8'h88;//a
    4'hb:sm_seg=8'h83;//b
    4'hc:sm_seg=8'hc6;//c
    4'hd:sm_seg=8'ha1;//d
    4'he:sm_seg=8'h86;//e
    4'hf:sm_seg=8'h8e;//f
    endcase
    end
    endmodule

运行结果



















下载分享:shumaguan.rar

工程师
2012-11-02 12:56:26     打赏
19楼

实验七(动态显示数码管)

源代码 :
module shuma(clk,
             rstn,
     sm_seg,
     sm_dig);
input clk;
input rstn;
output [7:0] sm_seg;
output [7:0] sm_dig;
reg [7:0] sm_seg;
reg [7:0] sm_dig;
reg[15:0]cnt_scan;
reg[4:0] buffer;
always@(posedge clk or negedge rstn)
    begin
     if(!rstn)
     begin
    cnt_scan<=0;
    end
     else
     begin
   cnt_scan<=cnt_scan+1'b1;
   end
  end
always@(cnt_scan)
    begin
     case(cnt_scan[15:13])
    3'b000:sm_dig=8'b11111110;
    3'b001:sm_dig=8'b11111101;
    3'b010:sm_dig=8'b11111011;
    3'b011:sm_dig=8'b11110111;
    3'b100:sm_dig=8'b11101111;
    3'b101:sm_dig=8'b11011111;
    3'b110:sm_dig=8'b10111111;
    3'b111:sm_dig=8'b01111111;
   
    endcase
   end
always@(sm_dig)
     begin
     case(sm_dig)
   8'b11111110:buffer=0;
   8'b11111101:buffer=1;
   8'b11111011:buffer=2;
   8'b11110111:buffer=3;
   8'b11101111:buffer=4;
   8'b11011111:buffer=5;
   8'b10111111:buffer=6;
   8'b01111111:buffer=7;
   default:buffer=8;
   endcase
      end
always@(buffer)
    begin
       case(buffer)
        4'h0:sm_seg=8'hc0;//0
    4'h1:sm_seg=8'hf9;//1
    4'h2:sm_seg=8'ha4;//2
    4'h3:sm_seg=8'hb0;//3
    4'h4:sm_seg=8'h99;//4
    4'h5:sm_seg=8'h92;//5
    4'h6:sm_seg=8'h82;//6
    4'h7:sm_seg=8'hf8;//7
    4'h8:sm_seg=8'h80;//8
    4'h9:sm_seg=8'h90;//9
    4'ha:sm_seg=8'h88;//a
    4'hb:sm_seg=8'h83;//b
    4'hc:sm_seg=8'hc6;//c
    4'hd:sm_seg=8'ha1;//d
    4'he:sm_seg=8'h86;//e
    4'hf:sm_seg=8'h8e;//f
    endcase
      end   
   
   
   endmodule

运行结果:



源代码下载分享:shumaguandong.rar


工程师
2012-11-06 20:41:50     打赏
20楼
实验八(花样LED)
用case实现的

关键代码:

always @ (posedge clk)
   begin
      case(state)
        5'b00000: led=8'b11111111;
        5'b00001: led=8'b00000000;
        5'b00010: led=8'b10000000;
        5'b00011: led=8'b11000000;
        5'b00100: led=8'b11100000;
        5'b00101: led=8'b11110000;
        5'b00110: led=8'b11111000;
        5'b00111: led=8'b11111100;
        5'b01000: led=8'b11111110;
        5'b01001: led=8'b11111111;
        5'b01010: led=8'b00000000;
        5'b01011: led=8'b11111111;
        5'b01100: led=8'b00000001;
        5'b01101: led=8'b00000010;
        5'b01110: led=8'b00000100;
        5'b01111: led=8'b00001000;
        5'b10000: led=8'b00010000;
        5'b10001: led=8'b00100000;
        5'b10010: led=8'b01000000;
        5'b10011: led=8'b10000000;
        5'b10100: led=8'b11111111;
        5'b10101: led=8'b00000000;
        5'b10111: led=8'b10000001;
        5'b11000: led=8'b11000011;
        5'b11001: led=8'b11100111;
        5'b11010: led=8'b11111111;
        5'b11011: led=8'b00011000;
        5'b11100: led=8'b00111100;
        5'b11101: led=8'b01111110;
        5'b11110: led=8'b11111111;
        5'b11111: led=8'b00000000;
      endcase
       state=state+1;
     end

实现的视频:


视频地址:http://union.bokecc.com/flash/single/290666218ACBA694_3E75C2E921037A8C_false_EEA982EE6B20F4D1_1/player.swf




源代码分享:chanLED.rar

共40条 2/4 1 2 3 4 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]