• DocumentCode
    1267908
  • Title

    Implementation of microprogrammed control in FPGAs

  • Author

    Bomar, Bruce W.

  • Author_Institution
    Dept. of Electr. & Comput. Eng., Tennessee Univ. Space Inst., Tullahoma, TN, USA
  • Volume
    49
  • Issue
    2
  • fYear
    2002
  • fDate
    4/1/2002 12:00:00 AM
  • Firstpage
    415
  • Lastpage
    422
  • Abstract
    The microprogrammed approach to implementing control state machines has been widely used since the early 1960s and has the advantages of structured programming and fixed timing characteristics. This paper presents a microprogrammed control unit that has been tailored to implementation in field-programmable gate arrays (FPGAs). The microsequencer has a novel architecture which takes advantage of the enhancements existing in coarse-grained FPGAs to implement efficiently four basic functions: registers, multiplexers, adders, and counters. The sequencer supports both nested subroutines and nested loops, and can operate in both pipelined and nonpipelined modes. The pipelined mode of operation uses delayed branching in which one additional microinstruction always executes following any instruction that changes program flow. It is found that in a typical medium-sized (50 K gates) FPGA, the sequencer can be clocked at over 60 MHz nonpipelined and over 100 MHz pipelined while using less than 5% of the available FPGA logic resources. This leaves the bulk of the FPGA resources available for implementing other digital circuitry that is to be controlled by the microsequencer. While not attractive for a small number of states, the microprogrammed approach has some significant advantages for complex controllers with a large number of states
  • Keywords
    digital circuits; field programmable gate arrays; microprogramming; programmable controllers; programmed control; FPGA; adders; control state machines; counters; delayed branching; digital circuitry; digital circuits; field-programmable gate arrays; firmware; logic circuits; microprogrammed control; microprogramming; microsequencer; multiplexers; nested loops; nested subroutines; nonpipelined modes; pipelined modes; programmable logic devices; registers; Algorithms; Circuits; Clocks; Field programmable gate arrays; Flip-flops; Frequency; Hardware design languages; Logic programming; Microprogramming; Timing;
  • fLanguage
    English
  • Journal_Title
    Industrial Electronics, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0278-0046
  • Type

    jour

  • DOI
    10.1109/41.993275
  • Filename
    993275