tnt
11/28/2020, 11:48 PMmprj_io
to toggle in the test bench ?Matt Venn
11/29/2020, 8:41 AMtnt
11/29/2020, 8:41 AMtnt
11/29/2020, 8:46 AMMatt Venn
11/29/2020, 8:46 AMtnt
11/29/2020, 8:46 AMtnt
11/29/2020, 8:47 AMreg_mprj_io_21 = GPIO_MODE_USER_STD_OUTPUT;
in the test bench and then control it from my block.tnt
11/29/2020, 8:47 AMMatt Venn
11/29/2020, 8:47 AMtnt
11/29/2020, 8:47 AMtnt
11/29/2020, 8:48 AMtnt
11/29/2020, 8:55 AMtnt
11/29/2020, 11:20 AMassign mprj_io[16] = mprj_io[15];
would prevent the test bench from working at all ... (even output would stop working)
I had to :
reg midi_del;
always #10 midi_del <= mprj_io[15];
assign mprj_io[16] = midi_del;
Matt Venn
11/29/2020, 11:24 AMtnt
11/29/2020, 11:26 AM.mprj_io
port on the caravel
module, that's the pad right ?Matt Venn
11/29/2020, 11:28 AMMatt Venn
11/29/2020, 11:29 AMtnt
11/29/2020, 11:30 AMmprj_io[16]
which is a port on the caravel
module and I get it all the way up to my io_in
port on the wrapper/custom logic.Matt Venn
11/29/2020, 11:32 AMMatt Venn
11/29/2020, 11:33 AMtnt
11/29/2020, 11:34 AMmprj_io
what's connected to the balls of the BGA ?Matt Venn
11/29/2020, 11:34 AMtnt
11/29/2020, 11:36 AMtnt
11/29/2020, 11:36 AMmprj_io
is the output/pad of the gpio module.tnt
11/29/2020, 11:36 AMMatt Venn
11/29/2020, 11:38 AMMatt Venn
11/29/2020, 11:38 AMtnt
11/29/2020, 11:40 AMmprj_io
port signals from the caravel eventually connect to the PAD
port of sky130_ef_io__gpiov2_pad_wrapped
tnt
11/29/2020, 11:40 AMtnt
11/29/2020, 11:44 AMsky130_ef_io__gpiov2_pad_wrapped
(which is mostly foundry provided) to the small bit of muxing / control logic made by Tim to share io between mgmt and user logic.Matt Venn
11/29/2020, 11:44 AMtnt
11/29/2020, 11:45 AMMatt Venn
11/29/2020, 11:46 AMtnt
11/29/2020, 11:51 AMio_iob
should do it AFAIU.tnt
11/29/2020, 11:52 AMreg_mprj_io_xx
because by default you only get Input / Output (and input disables the output path and output disables the input path)Matt Venn
11/29/2020, 11:54 AMtnt
11/29/2020, 3:56 PM