集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
楼主: lcytms

FPGA初级课程第八讲 按键计数(加一或者减一)

[复制链接]
 楼主| lcytms 发表于 2016-11-7 22:23:40 | 显示全部楼层
本帖最后由 lcytms 于 2016-11-7 22:25 编辑

新建top.v顶层模块,将以上三个模块都加入到top.v顶层模块中进行例化。
将top.v模块设置为顶层模块。
编写top.v模块如下。
module top (clk, rst_n, key1, key2, sel, seg);

        input clk, rst_n;
        input key1, key2;
       
        output [2:0] sel;
        output [7:0] seg;
       
        wire key_out1, key_out2;
        wire [23:0] data;

        key_flag k1 (.clk(clk), .rst_n(rst_n), .key_n(key1), .key_out(key_out1));
        key_flag k2 (.clk(clk), .rst_n(rst_n), .key_n(key2), .key_out(key_out2));
       
        key_counter #(.CNT_NUM(20))
                c1 (.clk(clk), .rst_n(rst_n), .key1(~key_out1), .key2(~key_out2), .data(data));       
       
        seg7 s1 (.clk(clk), .rst_n(rst_n), .data(data), .sel(sel), .seg(seg));

endmodule

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-11-7 22:26:03 | 显示全部楼层
参照.tcl文件设置好FPGA管脚

参照EP4CE10F17C8Nzx_1.tcl文件内容,对FPGA芯片管脚进行设置。

EP4CE10F17C8Nzx_1.tcl文件相关内容如下所示。FPGA芯片配置结果如图所示。

        #set_global_assignment -name FAMILY "Cyclone IV"
        #set_global_assignment -name DEVICE ep4ce10f17c8n

set_location_assignment PIN_E1    -to    clk         
       
# KEY 轻触按键
set_location_assignment PIN_L3    -to   key[0]         
set_location_assignment PIN_L1    -to   key[1]         
set_location_assignment PIN_J6    -to   key[2]         

# SEG7 x 8 七段数码管
set_location_assignment PIN_L6    -to   sel[2]
set_location_assignment PIN_N6    -to   sel[1]
set_location_assignment PIN_M7    -to   sel[0]
set_location_assignment PIN_T11   -to   seg[0]     
set_location_assignment PIN_T10   -to   seg[1]   
set_location_assignment PIN_T9    -to   seg[2]     
set_location_assignment PIN_T8    -to   seg[3]     
set_location_assignment PIN_T7    -to   seg[4]     
set_location_assignment PIN_T6    -to   seg[5]     
set_location_assignment PIN_T5    -to   seg[6]     
set_location_assignment PIN_T4    -to   seg[7]
   

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-11-7 22:29:26 | 显示全部楼层
.sof文件下载到FPGA
全编译FPGA工程,生成.sof文件,连接至芯ZX-1开发板并上电。
打开Programmer通过Jtag口,将.sof文件下载到FPGA进行在线仿真。
.sof文件下载界面如下图所示。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-11-7 22:30:29 | 显示全部楼层
本帖最后由 lcytms 于 2016-11-7 22:33 编辑

开发板运行效果
开发板运行效果如下图所示。
经检查,开发板运行效果与设计相符。

程序下载后,6个数码管根据加一减一按键操作,循环显示模20的数据000000~000013,与设计要求一致。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-11-7 22:34:31 | 显示全部楼层
好了,今天的课程就讲到这里。
通过今天的课程,我们学习了按键计数的基本原理,并对按键计数逻辑电路进行了建模、仿真。
最后,结合第六讲的单独按键消抖和第四讲的数码管一起编写一个完整的演示逻辑,进行了下板检查。
希望大家掌握按键计数(加一或者减一)的基本原理,并熟练运用Verilog语言编写驱动逻辑。
更复杂的知识和技巧我们将逐步通过后面的课程展现给大家。

课程到此结束,谢谢大家的关注!
zxopen08 发表于 2016-11-9 09:16:00 | 显示全部楼层
FPGA初级课程第八讲 按键计数(加一或者减一)
芙蓉王 发表于 2016-11-14 16:44:52 | 显示全部楼层
                                      
Blondie 发表于 2016-11-16 15:41:10 | 显示全部楼层
                           
Sunlife 发表于 2016-11-16 16:19:36 | 显示全部楼层
               感谢分享
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-5-19 04:05 , Processed in 0.073839 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表