Issues with IO Board Template

Good morning, I’m struggling to make it through the IO Element tutorial. I have an AU V2 and an non-SparkFun IO board, so I’m using the fake pulldowns method.

The first problem I have is that the template for fake pulldowns is missing and I can’t figure out how to make it available in my Alchitry Labs. Eventually I found the fake pulldown and fake pulldown 2d in the extra modules to add and everything is compiling, but no matter what I do I can’t get the light to turn on. Is anyone able to see what’s wrong with my program below or who’s seen this issue?

Thank you very much for your time.

module alchitry_top (
    input clk,              // 100MHz clock
    input rst_n,            // reset button (active low)
    output led[8],          // 8 user controllable LEDs
    input usb_rx,           // USB->Serial input
    output usb_tx,          // USB->Serial output
    output io_led[3][8],    // LEDs on IO Shield
    output io_segment[8],   // 7-segment LEDs on IO Shield
    output io_select[4],    // Digit select on IO Shield
    inout io_button[5],     // 5 buttons on IO Shield
    inout io_dip[3][8]      // DIP switches on IO Shield
) {
    
    sig rst                 // reset signal
    
    .clk(clk) {
        // The reset conditioner is used to synchronize the reset signal to the FPGA
        // clock. This ensures the entire FPGA comes out of reset at the same time.
        reset_conditioner reset_cond
        
        fake_pull_down button_pd(#SIZE(5), .in(io_button))
        fake_pull_down_2d dip_pd(#DIM_1(8), #DIM_2(3), .in(io_dip))
    }
    
    always {
        reset_cond.in = ~rst_n  // input raw inverted reset signal
        rst = reset_cond.out    // conditioned reset
        
        led = 8h00              // turn LEDs off
        
        usb_tx = usb_rx         // loop serial port
        
        io_led = 3x{{8h00}}
        io_segment = 8hFF
        io_select = 4hF
        
        io_led[0][0] = dip_pd.out[0][0] & dip_pd.out[0][1]
    }
}

Hello,

I think you don’t need fake pulldown with Au as the FPGA have built-in configurable pullup / pulldown.

You can set it in the constraints file :slight_smile:

Alright, thank you. I will poke around in there and see what I can find! I was led to this solution by the fact that following the example without fake pulldowns compiled and sent to my board no problem, but the IO LED doesn’t light up the way it should via the tutorial, in both the simulator and IRL.