Closed guyfleeman closed 2 years ago
Tagging @jjones646 @petersonev on this for input. PR soon (TM)
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.
Lol I think it might be time to update our chip
I specd out the lowest end Spartan 7 DK carries. Its about 4-4.5x more capable than the 3E
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?
I think my coworkers like the ARTY S7
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.
I'm going to open an issue on robocup-pcb for a new control board
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
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.
Honestly, these can probably be done in parallel. 1 is a prereq, but 2 can proceed in sim for the foreseeable future. Thoughts?
I also wanna get @matthewawhite tagged in here.
Merging BLDC_Motor and BLDC_Motor_No_Encoder because this should be generated by a parameter
Merging all Hall_EffectSensor* files because this should be generated by a parameter
Combine BLDC_Hall_Counter.v and BLDC_Encoder_Counter.v because this should be selected with a parameter
Ok, let's see if I can remember some of this:
BLDC_Motor_No_Encoder.v
was created because there wasn't enough logic for an unused encoder on the Spartan 3. Same thing goes for why Hall_Effect_Sensor_*.v
files are preprocessed and why the BLDC_Hall_Counter.v
(8 bits) and BLDC_Encoder_Counter.v
(15 bits) files were separated. I imagine this had a lot to do with poor optimization by the synthesizer too. Lots of random refactoring like that had to be done to fit it onto the Spartan 3.
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.