ISE14.7 spartan3e呼吸灯

  • 呼吸灯原理
    • 代码
    • 插入链接与图片

呼吸灯原理

先分频,再控制占空比,通过控制led的亮灯时间(PWM波)来实现呼吸功能。功能就是让led灯2s为从暗到亮,下一个2s从亮到暗。具体实现为将2s分为1000份。在这1000份里边,依次增加亮灯的时间。2s的1000份就是2ms所以将2ms再分为1000份,就是2us。第一个2ms,亮led2us 第二个2ms,亮led4us…然后依次增加。

代码

module top_module(input clk,  // 50Mhz, 50_000_000 clk/s---20nsinput rstn,output [7:0] led);reg [7:0]   cnt;reg         time_2s;reg [15:0]  cnt_1ms;reg [15:0]  cnt_1us;reg         light;always @(posedge clk or posedge rstn) beginif (rstn)begincnt     <= 7'd0;time_2s <= 1'b0;    // 100_000_000 clk---2scnt_1ms <= 16'd0;   // 50_000 clkcnt_1us <= 16'd0;   // 50 clkendelse if(cnt_1ms >= 16'd1000-1) begincnt_1ms <= 16'd0;time_2s <= ~time_2s;endelse if(cnt_1us >= 16'd1000-1) begincnt_1ms <= cnt_1ms + 16'd1;cnt_1us <= 16'd0;endelse if(cnt >= 8'd50-1)begincnt_1us <= cnt_1us + 8'd1;cnt     <= 8'd0;endelse begincnt <= cnt + 8'd1;endendalways @(*) begincase(time_2s)1'b0:light = (cnt_1us < cnt_1ms) ? 1'b1 : 1'b0;1'b1:light = (cnt_1us > cnt_1ms) ? 1'b1 : 1'b0;endcaseendassign led = {{8{light}}};
endmodule
module top_module_tb;// top_module Parameters
parameter PERIOD  = 10;// top_module Inputs
reg   clk                                  = 0 ;
reg   rstn                                 = 0 ;// top_module Outputs
wire  [7:0]  led                           ;initial
beginforever #(PERIOD/2)  clk=~clk;
endinitial
begin#(PERIOD*2) rstn  =  1;
endtop_module  u_top_module (.clk                     ( clk         ),.rstn                    ( rstn        ),.led                     ( led   [7:0] )
);initial
begin#20;rstn = 1;#40;rstn = 0;// $finish;
endendmodule

约束文件

# Generated by www.ivysim.com  12 September 2022   3.47PM
#####################################################
### SPARTAN-3E STARTER KIT BOARD CONSTRAINTS FILE
#####################################################
# ==== Analog-to-Digital Converter (ADC) ====
# some connections shared with SPI Flash, DAC, ADC, and AMP
#NET "ad_conv" LOC = "P11" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 6 ;# ==== Programmable Gain Amplifier (AMP) ====
# some connections shared with SPI Flash, DAC, ADC, and AMP
#NET "amp_cs" LOC = "N7" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 6 ;
#NET "amp_dout" LOC = "E18" | IOSTANDARD = LVCMOS33 ;
#NET "amp_shdn" LOC = "P7" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 6 ;# ==== Pushbuttons (BTN) ====
#NET "btn_east" LOC = "H13" | IOSTANDARD = LVTTL | PULLDOWN ;
NET "rstn" LOC = "V4" | IOSTANDARD = LVTTL | PULLDOWN ;
#NET "btn_south" LOC = "K17" | IOSTANDARD = LVTTL | PULLDOWN ;
#NET "btn_west" LOC = "D18" | IOSTANDARD = LVTTL | PULLDOWN ;# ==== Clock inputs (CLK) ====
NET "clk" LOC = "C9" | IOSTANDARD = LVCMOS33 ;
# Define clock period for 50 MHz oscillator (40%/60% duty-cycle)
NET "clk" PERIOD = 20.0ns HIGH 40%;
#NET "clk_aux" LOC = "B8" | IOSTANDARD = LVCMOS33 ;
#NET "clk_sma" LOC = "A10" | IOSTANDARD = LVCMOS33 ;# ==== Digital-to-Analog Converter (DAC) ====
# some connections shared with SPI Flash, DAC, ADC, and AMP
#NET "dac_clr" LOC = "P8" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8 ;
#NET "dac_cs" LOC = "N8" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8 ;# ==== 1-Wire Secure EEPROM (DS)
#NET "ds_wire" LOC = "U4" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;# ==== Ethernet PHY (E) ====
#NET "e_col" LOC = "U6" | IOSTANDARD = LVCMOS33 ;
#NET "e_crs" LOC = "U13" | IOSTANDARD = LVCMOS33 ;
#NET "e_mdc" LOC = "P9" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8 ;
#NET "e_mdio" LOC = "U5" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8 ;
#NET "e_rx_clk" LOC = "V3" | IOSTANDARD = LVCMOS33 ;
#NET "e_rx_dv" LOC = "V2" | IOSTANDARD = LVCMOS33 ;
#NET "e_rxd<0>" LOC = "V8" | IOSTANDARD = LVCMOS33 ;
#NET "e_rxd<1>" LOC = "T11" | IOSTANDARD = LVCMOS33 ;
#NET "e_rxd<2>" LOC = "U11" | IOSTANDARD = LVCMOS33 ;
#NET "e_rxd<3>" LOC = "V14" | IOSTANDARD = LVCMOS33 ;
#NET "e_rxd<4>" LOC = "U14" | IOSTANDARD = LVCMOS33 ;
#NET "e_tx_clk" LOC = "T7" | IOSTANDARD = LVCMOS33 ;
#NET "e_tx_en" LOC = "P15" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8 ;
#NET "e_txd<0>" LOC = "R11" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8 ;
#NET "e_txd<1>" LOC = "T15" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8 ;
#NET "e_txd<2>" LOC = "R5" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8 ;
#NET "e_txd<3>" LOC = "T5" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8 ;
#NET "e_txd<4>" LOC = "R6" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8 ;# ==== FPGA Configuration Mode, INIT_B Pins (FPGA) ====
#NET "fpga_m0" LOC = "M10" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8 ;
#NET "fpga_m1" LOC = "V11" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8 ;
#NET "fpga_m2" LOC = "T10" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8 ;
#NET "fpga_init_b" LOC = "T3" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 4 ;
#NET "fpga_rdwr_b" LOC = "U10" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 4 ;
#NET "fpga_hswap" LOC = "B3" | IOSTANDARD = LVCMOS33 ;# ==== FX2 Connector (FX2) ====
#NET "fx2_clkin" LOC = "E10" | IOSTANDARD = LVCMOS33 ;
#NET "fx2_clkio" LOC = "D9" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_clkout" LOC = "D10" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
# These four connections are shared with the J1 6-pin accessory header
#NET "fx2_io<1>" LOC = "B4" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<2>" LOC = "A4" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<3>" LOC = "D5" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<4>" LOC = "C5" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
# These four connections are shared with the J2 6-pin accessory header
#NET "fx2_io<5>" LOC = "A6" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<6>" LOC = "B6" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<7>" LOC = "E7" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<8>" LOC = "F7" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
# These four connections are shared with the J4 6-pin accessory header
#NET "fx2_io<9>" LOC = "D7" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<10>" LOC = "C7" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<11>" LOC = "F8" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<12>" LOC = "E8" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
# The discrete LEDs are shared with the following 8 FX2 connections
#NET "fx2_io<13>" LOC = "F9" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<14>" LOC = "E9" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<15>" LOC = "D11" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<16>" LOC = "C11" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<17>" LOC = "F11" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<18>" LOC = "E11" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<19>" LOC = "E12" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<20>" LOC = "F12" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<21>" LOC = "A13" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<22>" LOC = "B13" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<23>" LOC = "A14" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<24>" LOC = "B14" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<25>" LOC = "C14" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<26>" LOC = "D14" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<27>" LOC = "A16" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<28>" LOC = "B16" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<29>" LOC = "E13" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<30>" LOC = "C4" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<31>" LOC = "B11" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<32>" LOC = "A11" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<33>" LOC = "A8" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<34>" LOC = "G9" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_ip<35>" LOC = "D12" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_ip<36>" LOC = "C12" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_ip<37>" LOC = "A15" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_ip<38>" LOC = "B15" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_io<39>" LOC = "C3" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;
#NET "fx2_ip<40>" LOC = "C15" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8 ;# ==== 6-pin header J1 ====
# These are shared connections with the FX2 connector
#NET "j1<0>" LOC = "B4" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 6 ;
#NET "j1<1>" LOC = "A4" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 6 ;
#NET "j1<2>" LOC = "D5" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 6 ;
#NET "j1<3>" LOC = "C5" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 6 ;# ==== 6-pin header J2 ====
# These are shared connections with the FX2 connector
#NET "j2<0>" LOC = "A6" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 6 ;
#NET "j2<1>" LOC = "B6" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 6 ;
#NET "j2<2>" LOC = "E7" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 6 ;
#NET "j2<3>" LOC = "F7" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 6 ;# ==== 6-pin header J4 ====
# These are shared connections with the FX2 connector
#NET "j4<0>" LOC = "D7" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 6 ;
#NET "j4<1>" LOC = "C7" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 6 ;
#NET "j4<2>" LOC = "F8" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 6 ;
#NET "j4<3>" LOC = "E8" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 6 ;# ==== Character LCD (LCD) ====
#NET "lcd_e" LOC = "M18" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "lcd_rs" LOC = "L18" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "lcd_rw" LOC = "L17" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
# LCD data connections are shared with StrataFlash connections SF_D<11:8>
#NET "sf_d<8>" LOC = "R15" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_d<9>" LOC = "R16" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_d<10>" LOC = "P17" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_d<11>" LOC = "M15" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;# ==== Discrete LEDs (LED) ====
# These are shared connections with the FX2 connector
NET "led<0>" LOC = "F12" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4 ;
NET "led<1>" LOC = "E12" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4 ;
NET "led<2>" LOC = "E11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4 ;
NET "led<3>" LOC = "F11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4 ;
NET "led<4>" LOC = "C11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4 ;
NET "led<5>" LOC = "D11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4 ;
NET "led<6>" LOC = "E9" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE =  4;
NET "led<7>" LOC = "F9" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE =  4;# ==== PS/2 Mouse/Keyboard Port (PS2) ====
#NET "ps2_clk" LOC = "G14" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = SLOW ;
#NET "ps2_data" LOC = "G13" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = SLOW ;# ==== Rotary Pushbutton Switch (ROT) ====
#NET "rot_a" LOC = "K18" | IOSTANDARD = LVTTL | PULLUP ;
#NET "rot_b" LOC = "G18" | IOSTANDARD = LVTTL | PULLUP ;
#NET "rot_center" LOC = "V16" | IOSTANDARD = LVTTL | PULLDOWN ;# ==== RS-232 Serial Ports (RS232) ====
#NET "rs232_dce_rxd" LOC = "R7" | IOSTANDARD = LVTTL ;
#NET "rs232_dce_txd" LOC = "M14" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW ;
#NET "rs232_dte_rxd" LOC = "U8" | IOSTANDARD = LVTTL ;
#NET "rs232_dte_txd" LOC = "M13" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW ;# ==== DDR SDRAM (SD) ==== (I/O Bank 3, VCCO=2.5V)
#NET "sd_a<0>" LOC = "T1" | IOSTANDARD = SSTL2_I ;
#NET "sd_a<1>" LOC = "R3" | IOSTANDARD = SSTL2_I ;
#NET "sd_a<2>" LOC = "R2" | IOSTANDARD = SSTL2_I ;
#NET "sd_a<3>" LOC = "P1" | IOSTANDARD = SSTL2_I ;
#NET "sd_a<4>" LOC = "F4" | IOSTANDARD = SSTL2_I ;
#NET "sd_a<5>" LOC = "H4" | IOSTANDARD = SSTL2_I ;
#NET "sd_a<6>" LOC = "H3" | IOSTANDARD = SSTL2_I ;
#NET "sd_a<7>" LOC = "H1" | IOSTANDARD = SSTL2_I ;
#NET "sd_a<8>" LOC = "H2" | IOSTANDARD = SSTL2_I ;
#NET "sd_a<9>" LOC = "N4" | IOSTANDARD = SSTL2_I ;
#NET "sd_a<10>" LOC = "T2" | IOSTANDARD = SSTL2_I ;
#NET "sd_a<11>" LOC = "N5" | IOSTANDARD = SSTL2_I ;
#NET "sd_a<12>" LOC = "P2" | IOSTANDARD = SSTL2_I ;
#NET "sd_ba<0>" LOC = "K5" | IOSTANDARD = SSTL2_I ;
#NET "sd_ba<1>" LOC = "K6" | IOSTANDARD = SSTL2_I ;
#NET "sd_cas" LOC = "C2" | IOSTANDARD = SSTL2_I ;
#NET "sd_ck_n" LOC = "J4" | IOSTANDARD = SSTL2_I ;
#NET "sd_ck_p" LOC = "J5" | IOSTANDARD = SSTL2_I ;
#NET "sd_cke" LOC = "K3" | IOSTANDARD = SSTL2_I ;
#NET "sd_cs" LOC = "K4" | IOSTANDARD = SSTL2_I ;
#NET "sd_dq<0>" LOC = "L2" | IOSTANDARD = SSTL2_I ;
#NET "sd_dq<1>" LOC = "L1" | IOSTANDARD = SSTL2_I ;
#NET "sd_dq<2>" LOC = "L3" | IOSTANDARD = SSTL2_I ;
#NET "sd_dq<3>" LOC = "L4" | IOSTANDARD = SSTL2_I ;
#NET "sd_dq<4>" LOC = "M3" | IOSTANDARD = SSTL2_I ;
#NET "sd_dq<5>" LOC = "M4" | IOSTANDARD = SSTL2_I ;
#NET "sd_dq<6>" LOC = "M5" | IOSTANDARD = SSTL2_I ;
#NET "sd_dq<7>" LOC = "M6" | IOSTANDARD = SSTL2_I ;
#NET "sd_dq<8>" LOC = "E2" | IOSTANDARD = SSTL2_I ;
#NET "sd_dq<9>" LOC = "E1" | IOSTANDARD = SSTL2_I ;
#NET "sd_dq<10>" LOC = "F1" | IOSTANDARD = SSTL2_I ;
#NET "sd_dq<11>" LOC = "F2" | IOSTANDARD = SSTL2_I ;
#NET "sd_dq<12>" LOC = "G6" | IOSTANDARD = SSTL2_I ;
#NET "sd_dq<13>" LOC = "G5" | IOSTANDARD = SSTL2_I ;
#NET "sd_dq<14>" LOC = "H6" | IOSTANDARD = SSTL2_I ;
#NET "sd_dq<15>" LOC = "H5" | IOSTANDARD = SSTL2_I ;
#NET "sd_ldm" LOC = "J2" | IOSTANDARD = SSTL2_I ;
#NET "sd_ldqs" LOC = "L6" | IOSTANDARD = SSTL2_I ;
#NET "sd_ras" LOC = "C1" | IOSTANDARD = SSTL2_I ;
#NET "sd_udm" LOC = "J1" | IOSTANDARD = SSTL2_I ;
#NET "sd_udqs" LOC = "G3" | IOSTANDARD = SSTL2_I ;
#NET "sd_we" LOC = "D1" | IOSTANDARD = SSTL2_I ;
# Path to allow connection to top DCM connection
#NET "sd_ck_fb" LOC = "B9" | IOSTANDARD = LVCMOS33 ;
# Prohibit VREF pins
# CONFIG PROHIBIT = D2;
# CONFIG PROHIBIT = G4;
# CONFIG PROHIBIT = J6;
# CONFIG PROHIBIT = L5;
# CONFIG PROHIBIT = R4;# ==== Intel StrataFlash Parallel NOR Flash (SF) ====
#NET "sf_a<0>" LOC = "H17" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_a<1>" LOC = "J13" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_a<2>" LOC = "J12" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_a<3>" LOC = "J14" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_a<4>" LOC = "J15" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_a<5>" LOC = "J16" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_a<6>" LOC = "J17" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_a<7>" LOC = "K14" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_a<8>" LOC = "K15" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_a<9>" LOC = "K12" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_a<10>" LOC = "K13" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_a<11>" LOC = "L15" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_a<12>" LOC = "L16" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_a<13>" LOC = "T18" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_a<14>" LOC = "R18" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_a<15>" LOC = "T17" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_a<16>" LOC = "U18" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_a<17>" LOC = "T16" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_a<18>" LOC = "U15" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_a<19>" LOC = "V15" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_a<20>" LOC = "T12" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_a<21>" LOC = "V13" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_a<22>" LOC = "V12" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_a<23>" LOC = "N11" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_a<24>" LOC = "A11" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_byte" LOC = "C17" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_ce0" LOC = "D16" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_d<1>" LOC = "P10" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_d<2>" LOC = "R10" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_d<3>" LOC = "V9" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_d<4>" LOC = "U9" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_d<5>" LOC = "R9" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_d<6>" LOC = "M9" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_d<7>" LOC = "N9" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_d<8>" LOC = "R15" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_d<9>" LOC = "R16" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_d<10>" LOC = "P17" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_d<11>" LOC = "M15" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_d<12>" LOC = "M16" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_d<13>" LOC = "P6" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_d<14>" LOC = "R8" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_d<15>" LOC = "T8" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_oe" LOC = "C18" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "sf_sts" LOC = "B18" | IOSTANDARD = LVCMOS33 ;
#NET "sf_we" LOC = "D17" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;# ==== STMicro SPI serial Flash (SPI) ====
# some connections shared with SPI Flash, DAC, ADC, and AMP
#NET "spi_miso" LOC = "N10" | IOSTANDARD = LVCMOS33 ;
#NET "spi_mosi" LOC = "T4" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 6 ;
#NET "spi_sck" LOC = "U16" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 6 ;
#NET "spi_ss_b" LOC = "U3" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 6 ;
#NET "spi_alt_cs_jp11" LOC = "R12" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 6 ;# ==== Slide Switches (SW) ====
#NET "sw<0>" LOC = "L13" | IOSTANDARD = LVTTL | PULLUP ;
#NET "sw<1>" LOC = "L14" | IOSTANDARD = LVTTL | PULLUP ;
#NET "sw<2>" LOC = "H18" | IOSTANDARD = LVTTL | PULLUP ;
#NET "sw<3>" LOC = "N17" | IOSTANDARD = LVTTL | PULLUP ;# ==== VGA Port (VGA) ====
#NET "vga_blue" LOC = "G15" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = FAST ;
#NET "vga_green" LOC = "H15" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = FAST ;
#NET "vga_hsync" LOC = "F15" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = FAST ;
#NET "vga_red" LOC = "H14" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = FAST ;
#NET "vga_vsync" LOC = "F14" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = FAST ;# ==== Xilinx CPLD (XC) ====
#NET "xc_cmd<0>" LOC = "P18" | IOSTANDARD = LVTTL | DRIVE = 4 | SLEW = SLOW ;
#NET "xc_cmd<1>" LOC = "N18" | IOSTANDARD = LVTTL | DRIVE = 4 | SLEW = SLOW ;
#NET "xc_cpld_en" LOC = "B10" | IOSTANDARD = LVTTL ;
#NET "xc_d<0>" LOC = "G16" | IOSTANDARD = LVTTL | DRIVE = 4 | SLEW = SLOW ;
#NET "xc_d<1>" LOC = "F18" | IOSTANDARD = LVTTL | DRIVE = 4 | SLEW = SLOW ;
#NET "xc_d<2>" LOC = "F17" | IOSTANDARD = LVTTL | DRIVE = 4 | SLEW = SLOW ;
#NET "xc_trig" LOC = "R17" | IOSTANDARD = LVCMOS33 ;
#NET "xc_gck0" LOC = "H16" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "gclk10" LOC = "C9" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;

其中,以上UCF文件是通过配置软件:s3etop10 生成,官网链接在第一行有。随后在上板验证时发现问题,即下载好了程序但是报错为‘DONE’电平未拉高,同时也没有预期实验现象,反复检查都不知道出什么问题,回顾以前写的UCF文件都只有约束而没有注释#,猜测删除注释可能解决问题,经过实验确实如此,写此文记录一下。

NET "rstn" LOC = "V4" | IOSTANDARD = LVTTL | PULLDOWN ;
NET "clk" LOC = "C9" | IOSTANDARD = LVCMOS33 ;
NET "clk" PERIOD = 20.0ns HIGH 40%;
NET "led<0>" LOC = "F12" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4 ;
NET "led<1>" LOC = "E12" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4 ;
NET "led<2>" LOC = "E11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4 ;
NET "led<3>" LOC = "F11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4 ;
NET "led<4>" LOC = "C11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4 ;
NET "led<5>" LOC = "D11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 4 ;
NET "led<6>" LOC = "E9" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE =  4;
NET "led<7>" LOC = "F9" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE =  4;

插入链接与图片



ISE14.7 Spartan3e 呼吸灯相关推荐

  1. arduino 呼吸灯_如何改善您的Arduino呼吸机:用于临时COVID-19呼吸机设计的RTS和SCS简介...

    arduino 呼吸灯 The world as we know it was recently taken by storm. That storm was the outbreak of the ...

  2. 延时函数介绍和呼吸灯的实现

    文章目录 延时函数介绍 呼吸灯原理 杨桃32学习笔记,本文图片文字皆为转述 延时函数介绍 分为delay_s秒,delay_ms毫秒,delay_us微秒延时,最大参数不能超过65535. 呼吸灯原理 ...

  3. css怎么动画中该透明度,通过css3动画和opacity透明度实现呼吸灯效果

    本文介绍了通过css3动画和opacity透明度实现呼吸灯效果的方法,分享给大家,具体如下: 呼吸灯 /*也可以通过加层罩,通过设置层罩透明度来实现亮度动画*/ body{ background-co ...

  4. android呼吸灯动画,Android高德地图自定义定位蓝点实现呼吸灯功能

    还是先上个图吧: cluster.gif 说下实现的原理,首先这个定位小蓝点是由两张图片组成的,最底层的一张白色圆形图片以及上一层的蓝色圆形图片,只要不停的对蓝色图片进行透明度动画操作就可以实现这个效 ...

  5. 【Verilog HDL 训练】第 10 天(PWM 呼吸灯)

    5月8日 PWM 用verilog实现PWM控制呼吸灯.呼吸周期2秒:1秒逐渐变亮,1秒逐渐变暗.系统时钟24MHz,pwm周期1ms,精度1us. 今天的题目我是第一次见,答案借鉴大神的:Veril ...

  6. 生活娱乐 达尔优的键盘鼠标如何打开和关闭呼吸灯

    http://item.jd.com/1105057.html FN+Scrllock为开关按钮 FN+PuUp为调节灯光 http://item.jd.com/1154075.html 鼠标底面有开 ...

  7. 启明智显分享| ESP32学习笔记参考--PWM(脉冲宽度调制) 篇,配PWM控制 LED呼吸灯代码示例参考

    提示:启明智显专为智能产品提供一站式彩屏显示+连接+云端服务+APP软件开发.维护等解决方案,帮厂商快速实现硬件的智能化.作为启明云端旗下方案公司,我们用心整理了开发小伙伴在开发过程中可能会遇到的问题 ...

  8. android8 通知呼吸灯_android学习笔记----解决兼容8.0以上和8.0之前版本通知栏显示、振动、LED呼吸灯闪烁问题(真机验证)...

    Android 8.0系统的通知栏适配文章讲解(郭霖大神的): 然后开始试验了: 模拟器: 真机(华为荣耀V9,8.0系统),下拉横幅需要手动打开,除非是厂家白名单,比如QQ.微信 我在oppo手机6 ...

  9. 手机1像素线粗_小米1亿像素手机配置全曝光:史上最炫酷呼吸灯!

    小米官方已经定于11月5日发布首款1亿像素拍照手机--小米CC9 Pro. 据悉,小米CC9 Pro采用了一亿像素五摄四闪全焦段的配置,支持双光学防抖.10倍混合光学变焦.50倍数字变焦,拍照对标友商 ...

最新文章

  1. 漫画:什么是 “并查集” ?
  2. c语言函数的可选性自变量
  3. c c++ 函数内数组初值_C/C++函数指针与指针函数
  4. Eclipse Gradle 构建多模块项目
  5. 基于deep learning的快速图像检索系统
  6. Redis中的可用性保证之Sentinel 原理
  7. Oracle 实验7 存储过程
  8. 中职学校计算机教学探讨,原创:探讨中职学校计算机专业实训教学原稿
  9. 8 适用于 Keras 用户的 TensorFlow.js 层 API
  10. 20210916:Verilog的整数类型易错点
  11. Arturia SQ80 V for Mac 音频波形合成器
  12. iOS下微信语音播放之切换听筒和扬声器的方法解决方案
  13. SpringBoot学习(二)SpringBoot自动装配原理
  14. 2022泰迪杯数据挖掘挑战赛C题思路及赛后总结
  15. 微信小程序毕业设计和毕业论文怎么写,答辩流程是怎样的?
  16. JSON与JAVA数据的转换。JSONObject.fromObject()和JSONObject.toBean()
  17. 学习之旅10-R语言介绍
  18. 大疆自动驾驶,首次官宣即交货
  19. 怎么压缩PDF文件大小?不会操作的快看过来
  20. 富士康计算机类笔试题,富士康笔试题目及答案

热门文章

  1. html文本框中有一个叉号标志,html 输入框显示“小叉叉”的清空图标
  2. [ 物联网篇 ] 11 - NXP i.MX8M Mini 集成Mender OTA解决方案
  3. 《沉思录卷八》灵魂先于肉体屈服是可耻的
  4. 操作系统是如何工作的--------Linux 实验二
  5. 添加布林带择时策略有多便捷!股票量化分析工具QTYX-V2.4.7
  6. 【免费股票数据接口|实测可用|史上最全】沪深A股实时交易数据数据API接口
  7. “新基建”奏响项目建设最强音,长沙上半年重大项目完成投资2142亿元
  8. 金海佳学C++primer 练习9.20
  9. 10种常见的移动端App广告展现形式
  10. 手动下载新版的TCGA数据也是可以用TCGAbiolinks包整理的