adc -manual
ciao a tutti,
questo è un ADC a N bit che ho trovato nel manuale al seguente link, https://www.siue.edu/~gengel/ece585WebS ... rilogA.pdf , ma non capisco come funziona , qualcuno me lo potrebbe spiegare? magari con i commenti a fianco del codice. Piu che altro non riesco a capire l'algoritmo che ci sta dietro
questo è un ADC a N bit che ho trovato nel manuale al seguente link, https://www.siue.edu/~gengel/ece585WebS ... rilogA.pdf , ma non capisco come funziona , qualcuno me lo potrebbe spiegare? magari con i commenti a fianco del codice. Piu che altro non riesco a capire l'algoritmo che ci sta dietro
- Codice: Seleziona tutto
module a2d(in, clk, out) ;
parameter bits=8, fullscale=1.0, delay=0, ttime=10n ;
input in, clk ;
output [0:bits-1] out ;
electrical in, clk, out ;
real sample, thresh ;
integer result[0:bits-1], i ;
analog begin
@(cross(V(clk)-2.5, +1) begin
sample = V(in) ;
thresh = full_scale/2.0 ;
for (i=bits-1; i>=0; i=i-1) begin
if (sample > thresh) begin
result[i] = 1 ;
sample = sample - thresh ;
end
else result[i] = 0 ;
sample = 2.0*sample ;
end
end
V(out) <+ transition(result,delay,ttime) ;
end
endmodule