From 24fe4dffb49ca5c50983c54f1b1d51028c06390d Mon Sep 17 00:00:00 2001 From: "henryk@ploetzli.ch" Date: Fri, 6 Nov 2009 15:36:57 +0000 Subject: [PATCH 1/1] Jerry-rig a simply hysteresis based receiver into hi_read_tx. Output is via SSC_DIN, which wasn't used in that mode before. --- fpga/fpga.bit | Bin 42172 -> 42172 bytes fpga/hi_read_tx.v | 17 +++++++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/fpga/fpga.bit b/fpga/fpga.bit index a9b03e1382af8f88e405ff215ec90a2a9e9037f1..5e8ca76bed58fb7d007c1bdabc659831ec10c397 100644 GIT binary patch literal 42172 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%0Df#s(m%Jb*J^qs1$0n1yWRc3Mku?gAF)Wp^qW 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 e_?NxcZ5D)~<^!nOeb diff --git a/fpga/hi_read_tx.v b/fpga/hi_read_tx.v index c2cec3ab..5ddc974d 100644 --- a/fpga/hi_read_tx.v +++ b/fpga/hi_read_tx.v @@ -68,9 +68,22 @@ always @(negedge ssp_clk) assign ssp_frame = (hi_byte_div == 3'b000); -assign ssp_din = 1'b0; +// Implement a hysteresis to give out the received signal on +// ssp_din. Sample at fc. +assign adc_clk = ck_1356meg; + +// ADC data appears on the rising edge, so sample it on the falling edge +reg after_hysteresis; +always @(negedge adc_clk) +begin + if(& adc_d[7:0]) after_hysteresis <= 1'b1; + else if(~(| adc_d[7:0])) after_hysteresis <= 1'b0; +end + + +assign ssp_din = after_hysteresis; assign pwr_lo = 1'b0; -assign dbg = ssp_frame; +assign dbg = ssp_din; endmodule -- 2.39.5