by BuriedCode » Wed May 07, 2008 11:29 pm
Hi,
Sorry to revive this topic but first post and it seemed like it fitted in here rather than starting a new one.
I too am (attempting) to design my own digital oscilloscope and its seemed that progarmmable logic, be it CPLD or FPGA based was the only way to go. What confuses me is the SRAM implementation.
I understand the FIFO design, very handy, but I am not sure why dual port ram was needed. Was this simply to 'make things easier' as you had the resources available to you in the FPGA? If I was to make a cheapy osc, with a CPLD and an external SRAM chip, surely I could use the CPLD to write data from the ADC to the SRAM, and then read the SRAM to output the data.
Although I can read VHDL/verilog fairly well, I couldn't see that both writing AND reading to the RAM was occuring at the same time. So effictively a cycle would be (not code):
start
trigger ADC
write to ram
iinc ram until <=512.
reset ram address to 0
read ram, output data
inc ram until <=512.
goto start.
Of course dual-port ram or a FIFO would be needed in order to write/read at the same time. - Am I correct or am I totally out of my depth on this one? My life would be easier if I could just use simple SRAM rather than special memories.
Cheers,
Scott.
Inconsistancy is the key to flexibility!