Hello -
I’m trying a fresh, new project with 2.0.32 and am having issues that I don’t understand.
(Note I’m using the V2 boards.)
My setup is the Cu with the Yosys toolchain. Project zip file is attached.
Well, the project is simple enough. Cu + Ft, basic hookups.
I get two odd errors.
From the “ft_plus_v2.acf”:
- Warning at line 4 offset 8: Unknown port name “ft_wakeup”. This constraint will be ignored.
- Warning at line 5 offset 8: Unknown port name “ft_reset”. This constraint will be ignored.
They are warnings, I can live with them. But I’m a little concerned that the “ft_reset” line is not hooked up any “rst” signal, nor can it be!
The next is when I try and build the project using yosys, I get the following:
Refusing to write adjacent to "/path-to/Projects/alchitry/n00b/build/source/simple_dual_port_ram.v" because that path does not end in ".sv"
sv2v exited with status: 1
Howver, “simple_dual_port_ram.v” is added automatically as part of the “ft.luc” module.
Are these bugs, or just symptoms showing that I don’t know what I’m doing?
To reproduce:
- Create a new Cu V2 project (blinker.luc)
- Set the toolchain to “Yosys”
- Add the Ft+ module
- Add the Ft+ constraints
- Use the following for “alchitry_top.luc”
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
input ft_clk,
input ft_rxf,
input ft_txe,
inout ft_data[32],
inout ft_be[4],
output ft_rd,
output ft_wr,
output ft_oe
) {
sig rst // reset signal
.clk(clk) {
reset_conditioner reset_cond
.rst(rst) {
blinker my_blinker
}
}
always {
reset_cond.in = ~rst_n // input raw inverted reset signal
rst = reset_cond.out // conditioned reset
}
always {
led = 8x{my_blinker.blink} // blink LEDs
}
always {
usb_tx = usb_rx // echo the serial data
}
ft usb3(#BUS_WIDTH($width(ft_data)),.clk(clk),.rst(rst),.ft_clk(ft_clk),.ft_be(ft_be),.ft_data(ft_data))
always {
ft_rd = usb3.ft_rd
ft_wr = usb3.ft_wr
ft_oe = usb3.ft_oe
usb3.ft_rxf = ft_rxf
usb3.ft_txe = ft_txe
}
always {
// FIXME just hook these up for now
usb3.ui_din = $width(ft_data)x{1bz}
usb3.ui_din_be = $width(ft_be)x{1bz}
usb3.ui_din_valid = 1bz
usb3.ui_dout_get = 1bz
}
}
Any help would be appreciated, thank you!
n00b.zip (10.0 KB)