请选择 进入手机版 | 继续访问电脑版

通业开发人论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 560|回复: 0

FPGA入门到实战1

[复制链接]
发表于 2016-6-15 21:56:40 | 显示全部楼层 |阅读模式
module ex_module(
        input   wire            sys_clk,//输入变量一定是wire变量
        input   wire            rst_n,//n 表示低复位
        input   wire    [7:0]   d,
        output  reg     [7:0]   q//输出可以是wire变量,也可以是reg变量
);//接口列表
//异步D触发器
//reg变量必须在always语句块里面赋值
always  @(posedge sys_clk or negedge rst_n)  //敏感列表,可以包括电平触发或者沿触发
        if(rst_n == 1'b0)//条件表,这里是组合逻辑,1指的是1bit,b表示二进制.2'b10, 10'd10,10'hff
            q<=8'h00;//沿触发的逻辑一定都用<=非阻塞赋值
        else
            q<=d;
            
//同步触发器
//always  @(posedge sys_clk)
//        if(rst_n == 1'b0)
//            q<=8'h00;//沿触发的逻辑一定都用<=非阻塞赋值
//        else
//            q<=d;
endmodule

module  ex_wire(
        input   wire        sel,
        input  wire         a,
        input  wire         b,
        output  wire        c
);
//
//wire 变量一定用assign 连续赋值语句赋值,而且必须用阻塞赋值
assign  c=(条件)?a:b;

endmodule

module      ex_cnt
{
    input   wire            sys_clk,
    input   wire            rst_n,
    output  wire    [9:0]   cnt
};
reg     [9:0]   cnt_r;
always @ (posedge sys_clk or negedge rst_n)
            if(rst_n == 1'b0)
                cnt_r<='d0;
            else
                cnt_r<=cnt_r + 1'b1;
assign     cnt = cnt_r;            
//仿真工具 modelsim
endmodule

`timescale 1ns/100ps//单位时标声明
//#10.1//#为延时开始
//声明模块
module tb_ex_cnt;//声明不需要端口列表
        reg tb_sclk,tb_rst_n;//激励信号声明
        wire    [9:0]   tb_cnt;//原始模块输出信号连接线声明
        initial//上电只执行一次
        begin//顺序执行
            tb_sclk <= 0;
            tb_rst_n <= 0;
            #200
            tb_rst_n <= 1;
        end
        
        
always #10 tb_sclk <= ~tb_sclk;
//例化的方法
ex_cnt  ex_cnt_inst(
    .sys_clk(tb_sclk),
    .rst_n(tb_rst_n),
    .cnt([9:0]tb_cnt)//例化模块的时候,如果原始模块是输出信号,那么括号内的必须是wire变量.
            )
endmodule






本帖子中包含更多资源

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

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|TongYe R&D Inc. ( 粤ICP备17061194号-1 )

GMT+8, 2021-1-28 22:55 , Processed in 0.125007 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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