Add files via upload
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
module adc_interface (
|
||||
input wire CLK_IN, // 100 MHz clock input
|
||||
input wire rst, // Reset signal
|
||||
output wire ADC_CLK, // 60 MHz clock output to ADC
|
||||
output reg ADC_OE, // Output enable (0 = enable)
|
||||
output reg ADC_PD, // Power down (0 = normal operation)
|
||||
input wire [9:0] ADC_DATA, // 10-bit parallel ADC data input
|
||||
output reg [9:0] sampled_data // Captured ADC data
|
||||
);
|
||||
|
||||
// Clocking Wizard or PLL/MMCM should be instantiated here to generate 60MHz ADC_CLK
|
||||
wire clk_60MHz;
|
||||
|
||||
// Instantiate clock generator (example with MMCM/PLL instantiation needed)
|
||||
clk_wiz_0 clk_gen (
|
||||
.clk_in1(CLK_IN),
|
||||
.clk_out1(clk_60MHz), // 60 MHz clock output
|
||||
.reset(1'b0),
|
||||
.locked()
|
||||
);
|
||||
|
||||
assign ADC_CLK = clk_60MHz;
|
||||
|
||||
// ADC control signals initialization
|
||||
always @(posedge CLK_IN or posedge rst) begin
|
||||
if (rst) begin
|
||||
ADC_OE <= 1'b1; // Default disabled
|
||||
ADC_PD <= 1'b1; // Default power down
|
||||
end else begin
|
||||
ADC_OE <= 1'b0; // Enable ADC
|
||||
ADC_PD <= 1'b0; // Normal operation
|
||||
end
|
||||
end
|
||||
|
||||
// Capture ADC data on ADC_CLK rising edge
|
||||
always @(posedge clk_60MHz) begin
|
||||
sampled_data <= ADC_DATA;
|
||||
end
|
||||
|
||||
endmodule
|
||||
Reference in New Issue
Block a user