io测试【FPGA】

按钮:

按钮是区分输入输出的,

LED配置成输入,是不会亮的。

cs 复制代码
//`timescale  1s/1ns // 【`】是预编译,类似C语言的#include // 这是FPGA原语 //晶振时钟 1ns

//======类型声明============
module LED   //跟PLC的FB功能块一样,使用前需要实例化,注:不支持中文
#( 
    // 参数变量表
   parameter num1 = 8'b0001_0001 , //二进制 0x11
   parameter num2 = 32'o123456 , //八进制  8#123456
   parameter num3 = 32'd19890722 , //十进制  10#19890722
   parameter num4 = 64'h00ff_00ff  //【最后一个不要加逗号,】 // 十六进制 0x00ff00ff  // 16#00FF00FF
 ) 

(
    // io变量表
//晶振    b5    FPGA_CLK_50M
//beep    h13
//key1    k18
//key2    n17
//key3    n18
//key4    h17
//led1    d15
//led2    c15
//led3    a12
//led4    b12

    input wire KEY1_k18 , // bool
    input wire KEY2_n17 , // bool
    input wire KEY3_n18 , // bool
    input wire KEY4_h17 , // bool

    output wire LED1_d15 , // bool
    output wire LED2_c15 , // bool
    output wire LED3_a12 , // bool
    output wire LED4_b12 , // bool

input mark    //【最后一个不要加逗号,】 
); 

assign   LED1_d15 =~KEY1_k18 ;
assign   LED2_c15 =~KEY1_k18 ;
assign   LED3_a12 =~KEY1_k18 ;
assign   LED4_b12 =~KEY1_k18 ;


endmodule

assign是逻辑门输出。不会受晶振时钟影响。

调用功能块,测试:

cs 复制代码
`timescale  1s/1ns // 【`】是预编译,类似C语言的#include // 这是FPGA原语 //晶振时钟 1ns

//======类型声明============
module tb_LED();   //跟PLC的FB功能块一样,使用前需要实例化,注:不支持中文



LED ledtest

(
    // io变量表
//晶振    b5    FPGA_CLK_50M
//beep    h13
//led1    d15
//led2    c15
//led3    a12
//led4    b12
//key1    k18
//key2    n17
//key3    n18
//key4    h17
 

); 


endmodule

实际就是 LED ledtest(); // 实例化 LED这个类型。

相关推荐
风_峰1 天前
Ubuntu Linux SD卡分区操作
嵌入式硬件·ubuntu·fpga开发
FPGA_Linuxer1 天前
FPGA 40 DAC线缆和光模块带光纤实现40G UDP差异
网络协议·fpga开发·udp
风_峰2 天前
Petalinux相关配置——ZYNQ通过eMMC启动
嵌入式硬件·ubuntu·fpga开发
风_峰2 天前
【ZYNQ开发篇】Petalinux和电脑端的静态ip地址配置
网络·嵌入式硬件·tcp/ip·ubuntu·fpga开发
碎碎思2 天前
一块板子,玩转 HDMI、USB、FPGA ——聊聊开源项目 HDMI2USB-Numato-Opsis
fpga开发
ooo-p2 天前
FPGA学习篇——Verilog学习Led灯的实现
学习·fpga开发
嵌入式-老费2 天前
Zynq开发实践(FPGA之选择开发板)
fpga开发
风_峰2 天前
PuTTY软件访问ZYNQ板卡的Linux系统
linux·服务器·嵌入式硬件·fpga开发
电子凉冰2 天前
FPGA入门-状态机
fpga开发
Aczone282 天前
硬件(十)IMX6ULL 中断与时钟配置
arm开发·单片机·嵌入式硬件·fpga开发