Hallo zusammen.
Ich habe erfolgreich auf dem Spartan3 Starterkit eine
TFT-Display-Ansteuerung (600 * 480 Pixel mit 16 Bit Farbtiefe) mit 2
Hardwarefenstern in VHDL programmiert. Incl. Anbindug an einen
Controller.
Da dort das RAM aber nur 1MB gross ist, bin ich sehr eingeschränkt.
Ich besitze ncoh das Spartan 3E Starterkit (Rev.C). Da drauf sind 32 MB
(oder sogar 64MB?) DDR RAM.
Das neun MIG (V3.61) von xilinx habe ich dazu bewegt, mir den core zu
generieren.
Nun meine Probleme.
1.)
Ich bekomme einen Haufen Fehlermeldungen, sobald ich versuche das
Programming File zu generieren.
Hier mal 4 Fehlermeldungen (von 302 ! welche alle ähnlich sind).
1 | ERROR:ConstraintSystem:59 - Constraint <NET "infrastructure_top0/sys_clk_ibuf"
|
2 | TNM_NET = "SYS_CLK";>
|
3 | [C:/Designs/Spartan-3E_Starter_Kit/Test_Designs/DDR_MIG/s3e_starter_revD_mig_
|
4 | ddr/xst_vlog_bl2cl2/xst_vlog_bl2cl2/par/xst_vlog_bl2cl2.ucf(18)]: NET
|
5 | "infrastructure_top0/sys_clk_ibuf" not found. Please verify that:
|
6 | 1. The specified design element actually exists in the original design.
|
7 | 2. The specified object is spelled correctly in the constraint source file.
|
8 | ERROR:ConstraintSystem:58 - Constraint <NET "infrastructure_top0/wait_200*"
|
9 | TIG;>
|
10 | [C:/Designs/Spartan-3E_Starter_Kit/Test_Designs/DDR_MIG/s3e_starter_revD_mig_
|
11 | ddr/xst_vlog_bl2cl2/xst_vlog_bl2cl2/par/xst_vlog_bl2cl2.ucf(22)]: NET
|
12 | "infrastructure_top0/wait_200*" does not match any design objects.
|
13 | ERROR:ConstraintSystem:59 - Constraint <NET "infrastructure_top0/wait_clk90"
|
14 | TIG;>
|
15 | [C:/Designs/Spartan-3E_Starter_Kit/Test_Designs/DDR_MIG/s3e_starter_revD_mig_
|
16 | ddr/xst_vlog_bl2cl2/xst_vlog_bl2cl2/par/xst_vlog_bl2cl2.ucf(23)]: NET
|
17 | "infrastructure_top0/wait_clk90" not found. Please verify that:
|
18 | 1. The specified design element actually exists in the original design.
|
19 | 2. The specified object is spelled correctly in the constraint source file.
|
20 | ERROR:ConstraintSystem:58 - Constraint <NET "infrastructure_top0/sys_rst*"
|
21 | TIG;>
|
22 | [C:/Designs/Spartan-3E_Starter_Kit/Test_Designs/DDR_MIG/s3e_starter_revD_mig_
|
23 | ddr/xst_vlog_bl2cl2/xst_vlog_bl2cl2/par/xst_vlog_bl2cl2.ucf(24)]: NET
|
24 | "infrastructure_top0/sys_rst*" does not match any design objects.
|
2.)
Wie binde ich diesen nun an mein Projekt an. Bei mir läuft alles über
Adresse 0 ... 21, Daten 0 ... 15 und CS, RD, WR. (SRAM)
Am liebsten wäre mir, wenn ich eine entsprechende Schnittstelle zum DDR
RAM hätte in die ich lesen bzw. schreiben kann.
Hier mal die entity die mir der coregen erzeugt hat.
Vielleicht kann mit jemnd behilflich sein.
Vielen Dank.
noeppkes ...
1 | entity top_level_ddr is
|
2 | Port ( cntrl0_DDR_DQ : inout STD_LOGIC_VECTOR (15 downto 0);
|
3 | cntrl0_DDR_A : out STD_LOGIC_VECTOR (12 downto 0);
|
4 | cntrl0_DDR_BA : out STD_LOGIC_VECTOR (1 downto 0);
|
5 | cntrl0_DDR_CK : out STD_LOGIC;
|
6 | cntrl0_DDR_CK_N : out STD_LOGIC;
|
7 | cntrl0_DDR_CKE : out STD_LOGIC;
|
8 | cntrl0_DDR_CS_N : out STD_LOGIC;
|
9 | cntrl0_DDR_RAS_N : out STD_LOGIC;
|
10 | cntrl0_DDR_CAS_N : out STD_LOGIC;
|
11 | cntrl0_DDR_WE_N : out STD_LOGIC;
|
12 | cntrl0_DDR_DM : out STD_LOGIC_VECTOR (1 downto 0);
|
13 | -- S3E_STARTER cntrl0_rst_dqs_div_in,
|
14 | -- S3E_STARTER cntrl0_rst_dqs_div_out,
|
15 | cntrl0_rst_dqs_div : inout STD_LOGIC; -- S3E_STARTER
|
16 | -- S3E_STARTER SYS_CLKb,
|
17 | SYS_CLK : in STD_LOGIC;
|
18 | cntrl0_led_error_output1 : out STD_LOGIC;
|
19 | -- S3E_STARTER reset_in,
|
20 | reset : in STD_LOGIC; -- S3E_STARTER
|
21 | DATA_VALID : out STD_LOGIC; -- S3E_STARTER
|
22 | cntrl0_DDR_DQS : inout STD_LOGIC_VECTOR (1 downto 0)
|
23 | );
|
24 | end top_level_ddr;
|