-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ad7606 serial/parallel interface #1206
Conversation
1e01d64
to
8c214ac
Compare
1ad3c33
to
c40f1c7
Compare
Could you check the messages given by the Guideline checker action? There are a few changes that need to be done |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When building the project for the serial interface with make INTF=1
the project implementation fails, and it's caused by placement errors.
Fixed. |
I unified the ad7606x_fmc project, where both the serial interface and the parallel interface are implemented. Signed-off-by: Ioan-daniel Pop <[email protected]>
It was modified Readme.md file. Signed-off-by: Ioan-daniel Pop <[email protected]>
Guideline check errors fixed Signed-off-by: Ioan-daniel Pop <[email protected]>
Updated the axi_pwm_gen IP address for parallel interface Signed-off-by: Ioan-daniel Pop <[email protected]>
Regenerate Makefile Signed-off-by: Ioan-daniel Pop <[email protected]>
I have updated some pins type according to the datasheet for serial and parallel interface. Signed-off-by: Ioan-daniel Pop <[email protected]>
Fixed the case when it is make build without any parameter. Also updated the Copyright and Readme.md file. Signed-off-by: Ioan-daniel Pop <[email protected]>
168e7cd
to
f45ece3
Compare
Fixed some Critical Warnings related to the set_multicycle_path in system_constr.tcl file. Signed-off-by: Ioan-daniel Pop <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you replace in all the license headers the word "master" with "main"?
Sure. |
Requested changes. Signed-off-by: Ioan-daniel Pop <[email protected]>
4d280cd
to
831abd4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I built the project in Vivado 2023.2 as well, and it looks ok.
library/axi_ad7606x/Makefile
Outdated
@@ -1,5 +1,5 @@ | |||
#################################################################################### | |||
## Copyright (c) 2018 - 2023 Analog Devices, Inc. | |||
## Copyright (c) 2018 - 2024 Analog Devices, Inc. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should be reverted
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
library/axi_ad7606x/axi_ad7606x.v
Outdated
@@ -39,7 +39,7 @@ module axi_ad7606x #( | |||
|
|||
parameter ID = 0, | |||
parameter DEV_CONFIG = 0, | |||
parameter ADC_CH_DW = 16, | |||
parameter ADC_TO_DMA_N_BITS = 16, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
too many whitespaces in declarations
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
@@ -1,6 +1,6 @@ | |||
// *************************************************************************** | |||
// *************************************************************************** | |||
// Copyright (C) 2023 Analog Devices, Inc. All rights reserved. | |||
// Copyright (C) 2023-2024 Analog Devices, Inc. All rights reserved. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should be reverted
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
@@ -1,6 +1,6 @@ | |||
// *************************************************************************** | |||
// *************************************************************************** | |||
// Copyright (C) 2023 Analog Devices, Inc. All rights reserved. | |||
// Copyright (C) 2023-2024 Analog Devices, Inc. All rights reserved. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should be reverted
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
@@ -1,5 +1,5 @@ | |||
############################################################################### | |||
## Copyright (C) 2023 Analog Devices, Inc. All rights reserved. | |||
## Copyright (C) 2023-2024 Analog Devices, Inc. All rights reserved. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should be reverted
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
|
||
switch $INTF { | ||
0 { | ||
set_property -dict {PACKAGE_PIN N19 IOSTANDARD LVCMOS25} [get_ports adc_db[0] ] ; ## D08 FMC_LPC_LA01_CC_P |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fix whitespaces
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
|
||
switch $NUM_OF_SDI { | ||
1 { | ||
set_property -dict {PACKAGE_PIN M20 IOSTANDARD LVCMOS25} [get_ports ad7606_spi_sdi[0]] ; ## G07 FMC_LPC_LA00_CC_N |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fix whitespaces
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
} | ||
} | ||
|
||
set_property -dict {PACKAGE_PIN M19 IOSTANDARD LVCMOS25} [get_ports ad7606_spi_sclk] ; ## G06 FMC_LPC_LA00_CC_P |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fix whitespaces
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
|
||
# control lines | ||
|
||
set_property -dict {PACKAGE_PIN K19 IOSTANDARD LVCMOS25} [get_ports adc_serpar] ; ## C18 FMC_LPC_LA14_P |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fix whitespaces
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
.dio_o(gpio_i[31:0]), | ||
.dio_p(gpio_bd)); | ||
|
||
assign gpio_i[63:40] = gpio_o[63:40]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
move assign to a different location (i.e. after wire declarations)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
Final requested changes. Signed-off-by: Ioan-daniel Pop <[email protected]>
} | ||
|
||
# interconnect | ||
ad_cpu_interconnect 0x44a00000 axi_ad7606x |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not done. There are still instances where double white spaces are used
|
||
switch $INTF { | ||
0 { | ||
set_property -dict {PACKAGE_PIN N19 IOSTANDARD LVCMOS25} [get_ports adc_db[0] ]; ## D08 FMC_LPC_LA01_CC_P |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fix whitespaces
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
|
||
switch $NUM_OF_SDI { | ||
1 { | ||
set_property -dict {PACKAGE_PIN M20 IOSTANDARD LVCMOS25} [get_ports ad7606_spi_sdi[0]]; ## G07 FMC_LPC_LA00_CC_N |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fix whitespaces
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
|
||
# control lines | ||
|
||
set_property -dict {PACKAGE_PIN K19 IOSTANDARD LVCMOS25} [get_ports adc_serpar]; ## C18 FMC_LPC_LA14_P |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fix whitespaces
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
ad_ip_parameter adc_clk_generator CONFIG.CLKIN1_UI_JITTER 0 | ||
ad_ip_parameter adc_clk_generator CONFIG.PRIM_IN_FREQ 100.000 | ||
|
||
ad_connect sys_cpu_clk adc_clk_generator/clk_in1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not done
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add more details regarding the valid combinations of build parameters. you can use this readme as reference
https://github.com/analogdevicesinc/hdl/blob/main/projects/ad4630_fmc/zed/README.md
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
Fix whitespaces. Update readme. Signed-off-by: Ioan-daniel Pop <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Successfully synthesized with INTF=0 and INTF=1.
Fix trailing whitespaces. Signed-off-by: Ioan-daniel Pop <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Notes:
- double instances of mem_addr_space assignment [s_axi_clk connection] as in case of axi_dmac|pwm_gen can be removed [line124] (by using a single instance outside of switch instance as in [line25]);
- name of final commit can be something like [ad7606x: Add configurable digital interface [+serial interface] support];
PR Description
I unified the ad7606x_fmc project, where both the serial interface and the parallel interface are implemented. I tested the linux part for both the serial and parallel interface and worked well.
PR Type
PR Checklist