6 Mb is the typical size of a whole bacterial genome. Bacterial genomes are comprised of a chromosome (usually only one) and some or several plasmids. If you have prepared the DNA from a single colony then you should get less than 100 contigs. 700 contigs indicates that either your DNA was not homogeneous (eg contaminated with a second strain of bacteria) or that the coverage of the chromosome is very low.
How have you prepared the DNA? Have you done any step to separate plasmidic DNA from chromosomal DNA? Such separations are never 100 % selective! My guess is, that there was still enough chromosomal DNA which was sequenced with low coverage. Therefore the chromosomal DNA is dispersed over hundreds of contigs.
The FASTA file emitted by Spades reports the coverage of every contig.
The assemblers you tried should be able to do the job, provided that you have tried a reasonable amount of assemblies with varying parameters. Whether you are assembling a plasmid or not makes little differences, please provide more info with regards to your dataset. For instance, sequencing depth of plasmid, length of reads, paired or not paired, is there anything else that is being sequenced? Also would be good to show what command lines you have already tried with velvet and spades, and tell us why the results are not good.
I suspect the problem is the data, and not the assembler. I am dealing with plasmid assembly myself and I notice problems with variable coverage, probably something to do with the biology of plasmid replication, since this variability is consistent among 2 different sequencing methods.
I would generally recommend Spades as the best assembler for things like plasmids. But considering that you have tried it, what, specifically, is the problem? Do you get too may contigs, or does it not assemble a all?