• Content Count

  • Joined

  • Last visited

About ewhansen

  • Rank

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. @jpeyron, I think the board files you pointed me to are the same ones I initially downloaded. The polarity of the reset port (BTNC) is easily fixed, but the bug in Xilinx' PSR block is nastier. @abcdef, Thank you for the detailed notes, I was able to get it working. The key appears to be manually wiring the reset port to the ext_reset_in port of the PSR. In addition to this fix, your implementation differs at other points from jpeyron's tutorial. I'd be interested to know if your flow fixes other problems or is just the way you prefer to do things. Again, many thanks to both of you for creating this basic Microblaze setup on the Basys3. On to fancier things.
  2. I have been trying to do the same thing, following the "Basys 3 Getting started in Microblaze" tutorial, https://reference.digilentinc.com/learn/programmable-logic/tutorials/basys-3-getting-started-with-microblaze/start. I've had a number of problems, having to do with the polarity of the external reset signal: When customizing the Processor System Reset block, the polarity of ext_reset_in is grayed out, and defaulted to active-low. I cannot set it to active-high. It's as though a generic cannot be overridden. The external reset port must be active-high (that's how the button is wired), and consequently wiring the port to the PSR block results in a Validation error (polarity mismatch). If the validation error is ignored, the design still synthesizes, etc, without error. However, when I get to the "Run as" step in SDK, I get an error that the Microblaze is being held in reset (as expected, if the ext_reset_in input is indeed active-low). If I hold the reset button (BTNC) down while trying "Run as", just to see what happens, I get an error that the Microblaze is not being clocked. Again, this is expected behavior since the Clocking Wizard is now being held in reset. The solution would seem to be to put an inverter between the reset port and the PSR block. This fixes the validation error, but interestingly, after pushing the design through bitstream, etc, the "Run as" still throws a "not clocked" error. There are a few moving parts here, I realize, and the solution is probably something simple. I will be grateful to know the answer.