2
0

fpgarst.sv 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. //
  2. // FPGA reset control
  3. //
  4. // Interface with and control of the internal FPGA reset logic.
  5. //
  6. // Altera Cyclone IV E Remote Update block (cycloneiv_rublock):
  7. //
  8. // This block is a primitive, but there doesn't seem to be any
  9. // matching megafunction, except for the remote upgrade IP which
  10. // uses the on-chip active serial controller(?) and generally does
  11. // way more than we want.
  12. //
  13. // See the "Dedicated Remote System Upgrade Circuitry" section of the
  14. // Remote System Upgrade chapter (vol 1, chapter 8) of the Cyclone IV
  15. // manual.
  16. //
  17. // A refinement of this would be to allow shifting in a new boot address;
  18. // see the MAX 10 Configuration User Guide. for low-level protocol details
  19. // and the above reference for higher level protocol.
  20. //
  21. // At some point the Altera remote configuration IP is pretty much
  22. // what's needed anyway, though.
  23. //
  24. module fpgarst
  25. (
  26. input rst_n,
  27. input clk,
  28. input reconfig
  29. );
  30. // The internal primitive connecting to hard logic;
  31. // ru stands for "remote update block"
  32. cycloneive_rublock ru
  33. (
  34. .clk ( clk ), // Is this even needed?
  35. .rconfig ( reconfig ), // Start reconfiguration
  36. .rsttimer ( 1'b0 ), // Don't reset the timer
  37. .regin ( 1'bx ), // Shift register data in
  38. .regout ( ), // Shift register data out
  39. .captnupdt ( 1'b0 ), // Capture/update#
  40. .shiftnld ( 1'b0 ) // Shift/load# shift register
  41. );
  42. endmodule // fpgarst