How scroll led in dot matrix without using microcontroller?
Whether you use a microcontroller, FPGA or wired logic the principle is the same. 

You scan through the LEDs (typically with a 5x7 characters say 20 across you might have 100 sink drivers, one for each column and 5 source row drivers. You scan the display by turning on the desired sink drivers for each row and turn on the appropriate row driver. The cycle has 5 phases in this example and you repeat this many times a second so all the LEDs in the matrix that are supposed to be on appear to be on continuously (preferably at a few hundred Hz to 1kHz). 

Scrolling characters across is accomplished by changing the data fed to the column drivers. Usually there's a lookup table or ROM for character generation so you can deal with character codes rather than bitmaps of characters. You can store the character codes in a shift register (eg. 20 bytes), look up the column driver code for each character in each position and for each row (0..4). You could do that once per phase just before turning the column driver on. Then shifting the character codes in the shift register would scroll the display. 

Simple enough once you think about it a bit. One interesting artifact of the multiplexing is that you will typically perceive the characters slanting slightly to the left or right as they scroll across the display.