From 7e011d9177365621eeb6de99a4a789b3f0fbb72d Mon Sep 17 00:00:00 2001 From: Angelo Jacobo Date: Sat, 18 Nov 2023 10:15:23 +0800 Subject: [PATCH] Updated User Documentation (markdown) --- User-Documentation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/User-Documentation.md b/User-Documentation.md index bb33257..c56f659 100644 --- a/User-Documentation.md +++ b/User-Documentation.md @@ -75,7 +75,7 @@ Finally are the **debug ports**, these are connected to relevant registers conta ## Constraint File * One example of constraint file is from the [Kintex-7 Ethernet Switch Project](https://github.com/AngeloJacobo/DDR3_Controller/blob/main/kintex_switch_files/kluster.xdc#L227-L389) [[4]](https://github.com/AngeloJacobo/DDR3_Controller/wiki/User-Documentation#note) , highlighted are all the DDR3 pins. This constraint file assumes a dual-rank DDR3 RAM (thus 2 pairs of `o_ddr3_clk`, `o_ddr3_cke`, `o_ddr3_s_n`, and `o_ddr3_odt`) with 8 lanes of x8 DDR3 (thus 8 `o_ddr3_dm`, 8 `io_ddr3_dqs`, and 64 `io_ddr3_dq`). The constraint file also has [set_property](https://github.com/AngeloJacobo/DDR3_Controller/blob/main/kintex_switch_files/kluster.xdc#L453-L457) required for proper operation. The property `INTERNAL_VREF` must be set to half of the bank voltage (1.5V thus set to `0.75`). The property `BITSTREAM.STARTUP.MATCH_CYCLE` ([page 240 of UG628: Command Line Guide](https://docs.xilinx.com/v/u/en-US/devref)) is verified to work properly when value is set to `6`. Kintex-7 has HP bank where the DDR3 is connected thus allow the use of DCI (Digitally-Controlled Impedance) for impedance matching by using `SSTL15_T_DCI` type of `IOSTANDARD`. -* Another example of constraint file is for the [Arty-S7 project](https://github.com/AngeloJacobo/DDR3_Controller/blob/main/testbench/ARTY_S7/Arty-S7-50-Master.xdc#L87-L349), highlighted are the DDR3 pins. The Arty-S7 has x16 DDR3 and it works like two x8 (thus 2 `ddr3_dm`, 2 `ddr3_dqs`, and 16 `io_ddr3_dq`) [[1]](https://github.com/AngeloJacobo/DDR3_Controller/wiki/User-Documentation#note) . Arty-S7 only has HR bank where the DDR3 is connected, this restricts the design to use on-chip split-termination for impedance matching insteadd of DCI used in HP banks. This is where `IN_TERM UNTUNED_SPLIT_50` came from where +* Another example of constraint file is for the [Arty-S7 project](https://github.com/AngeloJacobo/DDR3_Controller/blob/main/testbench/ARTY_S7/Arty-S7-50-Master.xdc#L87-L349), highlighted are the DDR3 pins. The Arty-S7 has x16 DDR3 and it works like two x8 (thus 2 `ddr3_dm`, 2 `ddr3_dqs`, and 16 `io_ddr3_dq`) [[1]](https://github.com/AngeloJacobo/DDR3_Controller/wiki/User-Documentation#note) . Arty-S7 only has HR bank where the DDR3 is connected, this restricts the design to use [on-chip split-termination (UG471 7-Series Select Guide page 33)](https://docs.xilinx.com/v/u/en-US/ug471_7Series_SelectIO) for impedance matching instead of DCI used in HP banks. `IN_TERM UNTUNED_SPLIT_50` signifies input termination of 50 ohms. ### Note: [1]: For x16 DDR3 like in Arty S7, use `DQ_BITS` of 8 and `LANES` of 2 (not `DQ_BITS` of 16 or else the controller will not calibrate each bytes separately).