liushuideng.rar

  • 语言太难了
    了解作者
  • Verilog
    开发工具
  • 1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 0
    下载次数
  • 2019-03-31 11:40
    上传日期
配合ego1板子使用,16个小灯从左到右依次点亮,按开关后16个小灯从右到左依次点亮。
liushuideng.rar
  • liushuideng.txt
    4.2KB
内容介绍
module counter( input clk, input rst, output clk_bps ); reg [13:0]cnt; always @( posege clk or posedge rst ) if( rst ) cnt <= 14'd0; else if( cnt >= 14'd50000000 ) cnt <= 14'd0; else cnt <= cnt + 1'b1; assign clk_bps = (cnt == 14'd50000000 ? 1'b1 : 1'b0); endmodule module flash_led_clt( input clk, input rst, input clk_bps, input dir, // 用来定义方向,这里用拨码开关的状态来表示dir output reg[15:0]led ); always @(posedge clk or posedge rst) // 当系统时钟clk 或者 复位键 rst 信号出现上升沿,运行这个过程块 if(rst) led<=16'h8000; //复位时,赋值16位的16进制数8000,也就是 1000 0000 0000 0000 也就是第一个灯亮了 else case(dir) // 用拨码开关的状态来判断 1'b1: // 当拨码开关为1 if(clk_bps) // 在counter模块里面定义好的clk_bps, 每秒产生两个脉冲,脉冲一来就进入这个if分支 if(led!=16'h0001) led <= led>>1'b1; // 当16位led状态没到最后一个灯亮之前,led右移1位,如 0100 变成 0010 else led <= 16'h8000; //当移位到最后一个灯,那就让第一个灯亮 1'b0: // 当拨码开关为0 if(clk_bps) if(led!=16'h8000) led <= led<<1'b1; // 当16位led状态没到第一个灯亮之前,led左移1位,如 0100 变成 1000 else led <= 16'h0001; ////当移位到第一个灯,那就让最后一个灯亮 endcase endmodule module flash_led_top( input clk, input rst_n, input sw0, //引入拨码开关sw0,用来作为改变流水灯方向的信号源 output [15:0]led ); wire clk_bps; wire rst; assign rst = ~rst_n; //// 因为rst是按键开关,我们按下之后是个低电平,我们counter和led_flash_ctrl 都是选用rst信号的上升沿触发,所以这里我们把rst取反 counter u1( .clk(clk), .rst(rst),   /// 注意,括号()里的端口rst是top_file 文件的定义的端口rst,.rst()是counter文件里面的端口名rst .clk_bps(clk_bps) ); flash_led_clt u2( .clk(clk), .rst(rst), .clk_bps(clk_bps), .led(led), .dir(sw0) ); endmodule module flash_led_top_tb; reg clk,rst,sw0; wire [15:0] led; initial begin clk=1'b0; rst=1'b1; sw0=1'b0; #10 rst=1'b0; #10 rst=1'b1; #1000000000 #1000000000 #1000000000 #1000000000 #1000000000 #1000000000 sw0=1'b1; end always #5 clk<=~clk; flash_led_top u3( .clk(clk), .rst_n(rst), .sw0(sw0) , .led(led) ); endmodule //我的约束文件使能的语句 set_property -dict {PACKAGE_PIN P17 IOSTANDARD LVCMOS33} [get_ports clk ] set_property -dict {PACKAGE_PIN P15 IOSTANDARD LVCMOS33} [get_ports rst_n ] set_property -dict {PACKAGE_PIN R1 IOSTANDARD LVCMOS33} [get_ports {sw0}] set_property -dict {PACKAGE_PIN F6 IOSTANDARD LVCMOS33} [get_ports {led[0]}] set_property -dict {PACKAGE_PIN G4 IOSTANDARD LVCMOS33} [get_ports {led[1]}] set_property -dict {PACKAGE_PIN G3 IOSTANDARD LVCMOS33} [get_ports {led[2]}] set_property -dict {PACKAGE_PIN J4 IOSTANDARD LVCMOS33} [get_ports {led[3]}] set_property -dict {PACKAGE_PIN H4 IOSTANDARD LVCMOS33} [get_ports {led[4]}] set_property -dict {PACKAGE_PIN J3 IOSTANDARD LVCMOS33} [get_ports {led[5]}] set_property -dict {PACKAGE_PIN J2 IOSTANDARD LVCMOS33} [get_ports {led[6]}] set_property -dict {PACKAGE_PIN K2 IOSTANDARD LVCMOS33} [get_ports {led[7]}] set_property -dict {PACKAGE_PIN K1 IOSTANDARD LVCMOS33} [get_ports {led[8]}] set_property -dict {PACKAGE_PIN H6 IOSTANDARD LVCMOS33} [get_ports {led[9]}] set_property -dict {PACKAGE_PIN H5 IOSTANDARD LVCMOS33} [get_ports {led[10]}] set_property -dict {PACKAGE_PIN J5 IOSTANDARD LVCMOS33} [get_ports {led[11]}] set_property -dict {PACKAGE_PIN K6 IOSTANDARD LVCMOS33} [get_ports {led[12]}] set_property -dict {PACKAGE_PIN L1 IOSTANDARD LVCMOS33} [get_ports {led[13]}] set_property -dict {PACKAGE_PIN M1 IOSTANDARD LVCMOS33} [get_ports {led[14]}] set_property -dict {PACKAGE_PIN K3 IOSTANDARD LVCMOS33} [get_ports {led[15]}]
评论
    相关推荐
    • Lab1_flash_led.rar
      EGO_1流水灯显示代码步骤过程全都有适合初学者练手
    • count16.zip
      制作16位流水灯,实现LED模块对于拨杆0和1的识别
    • flow_led_EGo.zip
      vivado verlog 语言 流水灯实现
    • flow_led_EGo.rar
      基于fpga的程序设计,在vivado平台上进行详细内容为流水灯的实现代码。
    • 2-Vivado上手教程EGo1中文版-v1.1.rar
      这是依元素EGO1开发板的相关文件,在官网上下载实在是太慢了,所以我把它分享出来,由于上传大小限制,我就把每一部分单独上传并提供总体的百度网盘链接 链接:https://pan.baidu.com/s/1JS_NwSX4-8sVY1cRpsD_IA ...
    • FPGA EGO1官方配套实验
      压缩包为EGO1的官方配套实验,包括流水灯、智力抢答器、分频器、FIR数字滤波器、VGA图像显示、蓝牙远程控制、嵌入式软核设计
    • 软件开发计划书 .asp.rar
      一个完整的项目开发文档,可以看看.没有坏处.
    • wavelet.rar
      关于小波去噪的几十篇经典论文,对利用小波去噪的朋友很有帮助的
    • bldc.matlab.rar
      在分析无刷直流电机(BLDC)数学模型的基础上,提出了一种无刷直流电机控制系统仿 真建模的新方法。在Matlab/Simulink环境下,把独立的功能模块和S函数相结合,构建了无刷直流 电机系统的仿真模型。系统采用双闭环控制:速度环采用离散PID控制,根据滞环电流跟踪型PWM 逆变器原理实现电流控制。仿真和试验结果与理论分析一致,验证了该方法的合理性和有效性。 此方法也适用于验证其他控制算法的合理性,为实际电机控制系统的设计和调试提供了新的思路。
    • JSP课件.rar
      JSP课件 主要是个人在学习JSP时,总结一些重要的源码,大家有可以做为参考资料阅读,谢谢!