RoboJackets / robocup-firmware

Georgia Tech RoboJackets Firmware for the RoboCup Small Size League
Apache License 2.0
27 stars 20 forks source link

Verilog Improvements #54

Closed guyfleeman closed 2 years ago

guyfleeman commented 6 years ago

Okay, so the Verilog is in rough shape for a few reasons. The biggest is that it was clearly written as Jon was learning (<3 you Jon, this is why we have working robots).

Spartan 3E Improvements Improvements

Testing

Documentation

Spartan 7 Improvements

Spartan 7 Chip XC7S25 which is about 4 times as powerful at the 3E we currently use.

guyfleeman commented 6 years ago

Tagging @jjones646 @petersonev on this for input. PR soon (TM)

guyfleeman commented 6 years ago

JK so the service updates to ISE still don't support SV. So we're locked into Verilog 2001. Let that sink in...

I think we need to move to the Spartan 7 this year if we can verify the ability to solder BGA.

petersonev commented 6 years ago

Lol I think it might be time to update our chip

guyfleeman commented 6 years ago

I specd out the lowest end Spartan 7 DK carries. Its about 4-4.5x more capable than the 3E

petersonev commented 6 years ago

Do we know of a decent dev board we can get or should I just make a PCB we can use as a dev board for spartan 7?

guyfleeman commented 6 years ago

I think my coworkers like the ARTY S7

guyfleeman commented 6 years ago

But I imagine the changes are minor for us. Verify the pins have the same IO capability and rewrite the pinout file. We avoided using literally any Xilinx IP so none of that would need updating.

guyfleeman commented 6 years ago

I'm going to open an issue on robocup-pcb for a new control board

petersonev commented 6 years ago

Do we want to start with that or just design a prototype control board with the spartan 7? We can get it fully working in sim before we even move on to that

guyfleeman commented 6 years ago

So the Vivado Sim is pretty good. Unfortunately Icarus is a little behind on SV. I see this as having two big things to work toward.

  1. We need a new board
  2. We need new Verilog features (and new toolchain)

Honestly, these can probably be done in parallel. 1 is a prereq, but 2 can proceed in sim for the foreseeable future. Thoughts?

guyfleeman commented 6 years ago

I also wanna get @matthewawhite tagged in here.

guyfleeman commented 6 years ago

Merging BLDC_Motor and BLDC_Motor_No_Encoder because this should be generated by a parameter

guyfleeman commented 6 years ago

Merging all Hall_EffectSensor* files because this should be generated by a parameter

guyfleeman commented 6 years ago

Combine BLDC_Hall_Counter.v and BLDC_Encoder_Counter.v because this should be selected with a parameter

jjones646 commented 6 years ago

Ok, let's see if I can remember some of this: