fig2 is a simplified block diagram of an integrated circuit 20 including an on - chip testing circuit 22 in accordance with an embodiment of the present invention . the integrated circuit 20 includes the embedded memory device 12 coupled to the on - chip testing circuit 22 and may include the embedded logic array 16 as described above in association with fig1 . in one embodiment , the embedded memory device 12 includes a memory circuit such as a dynamic random access memory (“ dram ”). the on - chip testing circuit 22 includes i / o pins or pads 24 and a multiplexer (“ mux ”) 26 . the on - chip testing circuit 22 includes a bus 27 that couples a bi - directional buffer 28 to a first set of data ports of the mux 26 and to the i / o pins or pads 24 . in one embodiment , the i / o pads 24 are shared by the testing circuit 22 and the i / o circuitry 18 , i . e ., the i / o pads 24 are a subset of the i / o circuitry 18 . as a result , the same i / o pads 24 and / or pins can be used for testing and for normal operations . the i / o pins or pads 24 , the bus 27 , the bi - directional buffer 28 and the first set of data ports of the mux 26 each include ‘ m ’ digital data lines , which is substantially fewer than the ‘ n ’ data lines of the internal bus 14 . in one embodiment , m may be related to n as in m = n / 2 n . for example , m might be 16 while n might be 512 , i . e ., n = five , however , m may be any number greater than or equal to one , but typically will be less than thirty - two . the on - chip test circuit 22 also includes a test mode logic circuit 30 having inputs coupled to the i / o circuitry 18 and having outputs coupled to the mux 26 . the test mode logic circuit 30 provides control signals to the mux 26 to select a subset of the n data lines of the internal data bus 14 to be coupled to the m i / o pins or pads 24 . in one embodiment , a subset of m of n second data ports of the mux 26 is coupled to a corresponding subset of m of the n data lines of the internal bus 14 . in another embodiment , a subset of m data ports of the mux 26 is coupled to a multiple of m of the n data lines of the internal bus 14 through optional compression circuitry 32 . in some applications , the i / o pins or pads 24 are accessed through probes by an automated tester 34 prior to completion of packaging of the integrated circuit 20 , allowing testing of the embedded memory device 12 while the integrated circuit 20 is still in wafer form . the embedded memory device 12 may be repaired , as discussed above , and the repair of the embedded memory device 12 may precede fabrication of the embedded logic array 16 . in other embodiments , the i / o pins or pads 24 may be bonded to pins in the completed , packaged integrated circuit 20 , providing external access to the embedded memory device 12 even in the event that the embedded logic array 16 is not functional . bonding the i / o pads 24 to package pins also permits a broader range of tests than those tests that are pre - programmed into the embedded logic array 16 to be applied to the embedded memory device 12 . fig3 is a flow chart of a process 40 for forming the integrated circuit 20 of fig2 according to an embodiment of the present invention . the process 40 begins after the embedded memory device 12 has already been formed . in a step 42 , a test port on a tester , such as the automated tester 34 , is coupled to the i / o pads 24 . in one embodiment , a probe card having a number of probes is used to make temporary connections to the i / o pads 24 . any other temporary connections ( power supply , control signals for the mux 26 etc .) required to be able to test the embedded memory device 12 are also made to the integrated circuit 20 . in a step 44 , a group of index variables m are selected that correspond to addresses for a first group of rows ( 0 : n / 2 n − 1 ) that form a portion of the embedded memory device 12 selected for testing . in a step 46 , the mux 26 is programmed to couple the selected rows to the i / o pads 24 . in a step 48 , background data are supplied to the selected rows of the embedded memory device 12 . in a step 50 , read data are extracted from the selected portion of the embedded memory device 12 through the i / o pads 24 . in a query task 52 , the automated tester 34 determines if the read data and the corresponding expect data agree . when the query task 52 determines that the read data and the corresponding expect data do not agree , data describing the failed memory cell ( e . g ., the cell address ) are written to a memory in the automated tester in a step 54 . when the query task 52 determines that the read data and the corresponding expect data do agree , control passes to a query task 56 . the query task 56 determines if all of the columns in the embedded memory device 12 have been tested . when the query task 56 determines that not all of the columns in the embedded memory device 12 have been tested , control passes to a step 58 . in the step 58 , a column counter is incremented and control then returns to the step 48 . when the query task 56 determines that all of the columns in the embedded memory device 12 have been tested , control passes to a query task 60 . the query task 60 determines if all of the rows in the embedded memory device 12 have been tested . when not all of the rows in the embedded memory device 12 have been tested , control passes to a step 62 . in the step 62 , the control signals to the mux 26 are incremented . in one embodiment , the control signals to the mux 26 are incremented to test the rows adjacent to the rows that have just been tested . since m = n / 2 n , the index variables m corresponding to the rows being addressed are incremented by n / 2 n in this embodiment . when all of the rows in the embedded memory device 12 have been tested , control passes to a step 64 . in the step 64 , the embedded memory device 12 is repaired . in one embodiment , the defective memory cells in the embedded memory device 12 are replaced in a conventional manner by blowing fuses or antifuses in a pattern corresponding to addresses of rows or columns including the defective memory cells that were identified in the query task 52 . antifuses are devices that are initially nonconductive but which may be stressed or “ blown ” by an appropriate bias to become permanently conductive . in a step 66 , the embedded logic array 16 and the remainder of the integrated circuit 20 are formed through conventional fabrication procedures . the process 40 then ends . in a different embodiment of the process 40 , some data compression is employed in testing the embedded memory device 12 . for example , in the step 46 , not only are m many rows selected by the mux 26 , but an additional group of rows is also selected by the optional compression circuitry 32 . the additional group of rows might include , e . g ., another m many rows , or it might include , e . g ., another 3m many rows . in the step 48 , background data are supplied to all of the selected rows via the optional compression circuitry 32 . in the step 50 , combinatorial logic in the optional compression circuitry 32 combines the read data from all of the selected rows such that the query task 52 is able to determine that one of the several rows corresponding to one of the m i / o pads 24 includes a defective memory cell . in one embodiment , the several rows associated with the i / o pad 24 carrying the data indicative of a memory cell failure are replaced with a group of rows from the redundant memory cells 12 ′ to repair the embedded memory device 12 . this embodiment provides some speed advantages in testing of the embedded memory device 12 . it will be appreciated that variations in the process 40 are possible . for example , the steps relating to rows could be steps relating to columns and vice versa . fig4 is a simplified block diagram of a portion of a computer system 80 including the memory integrated circuit 20 of fig2 in accordance with an embodiment of the present invention . the computer system 80 includes a central processing unit 82 for performing various computing functions , such as executing specific software to perform specific calculations or tasks . the central processing unit 82 is coupled via a bus 84 to a memory 86 , a user input interface 88 , such as a keyboard or a mouse , function circuitry 90 and a display 92 . the memory 86 may or may not include a memory management module ( not illustrated ). the memory 86 does include rom for storing instructions providing an operating system and also includes read - write memory for temporary storage of data . the processor 82 operates on data from the memory 86 in response to input data from the user input interface 88 and displays results on the display 92 . the processor 82 also stores data in the read - write portion of the memory 86 . the function circuitry 90 is an example where the integrated circuit 20 of fig2 may be particularly effective . for example , when the function circuitry 90 includes an encryption engine , a digital signal processing chip ( e . g ., video processor , vocoder , 3 - dimensional computer graphics , image processing or the like ) or provides some other dedicated or programmable complex function , as described , for example , in “ an access - sequence control scheme to enhance random - access performance of embedded drams ,” by k . ayukawa et al ., ieee journal of solid state circuits 33 ( 5 ): 800 - 806 , 1998 , the integrated circuit 20 will include both read - write memory functions and logic functions , such as those provided by the embedded memory device 12 and the embedded logic array 16 , respectively ( see fig1 and 2 ). in turn , these functions may be realized least expensively when the embedded memory device 12 can be evaluated prior to completing fabrication of the embedded logic array 16 . examples of systems where the computer system 80 finds application include personal / portable computers , camcorders , televisions , automobile electronic systems , microwave ovens and other home and industrial appliances . it is to be understood that even though various embodiments and advantages of the present invention have been set forth in the foregoing description , the above disclosure is illustrative only , and changes may be made in detail , and yet remain within the broad principles of the invention . therefore , the present invention is to be limited only by the appended claims .