Jump to content

    
Sign in to follow this  
_ANDREW

Memory Interface Generator MIG3.5 от Xilinx

Recommended Posts

Здравствуйте.

Подскажите пожалуйста, я сгенерировал в MIG контроллер DDR3, сделал ВСЁ по мануалу (ug406) топом сделал testbanch из папки design_example/sim и попытался всё это дело просимулировать в modelsim6.5. Результаты весьма омрачающие...

1) модель памяти MIG генерирует ТОЛЬКО на верилоге. Я в верилоге не пишу, и поэтому так и не понял, почему modelsim пишет что 2001 редакция верилога не понимает глобальное объявление parametеr? и не понимает вставки 'include. A MIG всё делает с глобальным объявлением параметров.

Пример (102,103,104,,,,,126,127,128 - номер строк)

файл ddr3.v

............

 

102 `include "ddr3_model_parameters.vh"

103

104 parameter check_strict_mrbits = 1;

parameter check_strict_timing = 1;

parameter feature_pasr = 1;

parameter feature_truebl4 = 0;

 

// text macros

`define DQ_PER_DQS DQ_BITS/DQS_BITS

`define BANKS (1<<BA_BITS)

`define MAX_BITS (BA_BITS+ROW_BITS+COL_BITS-BL_BITS)

`define MAX_SIZE (1<<(BA_BITS+ROW_BITS+COL_BITS-BL_BITS))

`define MEM_SIZE (1<<MEM_BITS)

`define MAX_PIPE 4*CL_MAX

 

// Declare Ports

input rst_n;

input ck;

input ck_n;

input cke;

input cs_n;

input ras_n;

input cas_n;

input we_n;

126 inout [DM_BITS-1:0] dm_tdqs;

127 input [bA_BITS-1:0] ba;

128 input [ADDR_BITS-1:0] addr;

129 inout [DQ_BITS-1:0] dq;

inout [DQS_BITS-1:0] dqs;

inout [DQS_BITS-1:0] dqs_n;

output [DQS_BITS-1:0] tdqs_n;

input odt;

...... и т.д.

 

файл ddr3_model_parameters.vh содержит такие строки

 

parameter DM_BITS = 1; // Set this parameter to control how many Data Mask bits are used

parameter ADDR_BITS = 14; // MAX Address Bits

parameter ROW_BITS = 14; // Set this parameter to control how many Address bits are used

parameter COL_BITS = 11; // Set this parameter to control how many Column bits are used

parameter DQ_BITS = 4; // Set this parameter to control how many Data bits are used **Same as part bit width**

parameter DQS_BITS = 1; // Set this parameter to control how many Dqs bits are used

 

 

при этом моделсим пишет

 

# ** Error: F:/PROJECTS/MMIG/ipcore_dir/ddr3/example_design/sim/ddr3_model.v(102): Cannot open `include file "ddr3_model_parameters.vh".

# ** Error: F:/PROJECTS/MMIG/ipcore_dir/ddr3/example_design/sim/ddr3_model.v(126): Undefined variable: DM_BITS.

# ** Error: F:/PROJECTS/MMIG/ipcore_dir/ddr3/example_design/sim/ddr3_model.v(127): Undefined variable: BA_BITS.

# ** Error: F:/PROJECTS/MMIG/ipcore_dir/ddr3/example_design/sim/ddr3_model.v(128): Undefined variable: ADDR_BITS.

# ** Error: F:/PROJECTS/MMIG/ipcore_dir/ddr3/example_design/sim/ddr3_model.v(129): Undefined variable: DQ_BITS.

# ** Error: F:/PROJECTS/MMIG/ipcore_dir/ddr3/example_design/sim/ddr3_model.v(130): Undefined variable: DQS_BITS.

# ** Error: F:/PROJECTS/MMIG/ipcore_dir/ddr3/example_design/sim/ddr3_model.v(137): Undefined variable: TDLLK.

# ** Error: F:/PROJECTS/MMIG/ipcore_dir/ddr3/example_design/sim/ddr3_model.v(166): Undefined variable: BL_BITS.

 

короче не видит 'include

 

Кто нибудь знает почему, и как выкрутиться??

Заранее спасибо

 

Share this post


Link to post
Share on other sites

Я ничего не понимаю в верилоге, но предположу, что вот эта строка:

# ** Error: F:/PROJECTS/MMIG/ipcore_dir/ddr3/example_design/sim/ddr3_model.v(102): Cannot open `include file "ddr3_model_parameters.vh".

обозначает, что симулятор не нашел файл ddr3_model_parameters.vh там где ожидал его найти, а соответственно не смог взять из него параметры. Разбирайтесь с путями.

 

Share this post


Link to post
Share on other sites

я в верилоге тоже не очень, но все эти файлы создаёт COREGENERATOR, так что не с путями проблема. но что бы перепробовать всё, я ему полный путь прописывал, всё равно ругается.. :(

Share this post


Link to post
Share on other sites

http://dbaspot.com/forums/arch/253795-newb...es-verilog.html

 

Пишут:

Thanks for the help. That enabled me to get it working.

 

I moved the `include after the port definitions and that fixed ISE

problem.

 

I changed the properties on each .V source file to include the

directory where the include file was located (even though it was the

same directory as the source .v files). This fixed the ModelSim

problem.

Share this post


Link to post
Share on other sites

Спасибо

прописал ему полный путь `include "F:/PROJECTS/MMIG/ipcore_dir/ddr3/example_design/sim/ddr3_model_parameters.vh", моделсим его скушал, но то что было описано в ddr3_model_parameters.vh он так и не увидел...

Share this post


Link to post
Share on other sites

У вас инклюде файл не подключается.

 

перед запуском компиляций введите команду

pwd

путь который будет указан должен содержать include file ddr3_model_parameters.vh

 

 

а еще проще засунуть вместо строчки этой сам файл в ручную, как то сам так делал когда с DDR1 разбирался, чтоб не тратить время на разбирательство откуда ногирастут у этих проблем.

еще возможно надо будет предать како нито define вместе с командой vsim

Share this post


Link to post
Share on other sites

Скажите, а для какой микросхемы вы генерируете ядро?

Попробовал для virtex-6 и для spartan-6 сделать DDR3 на VHDL - делает, если попросить

в меню CORE Generator

Project->Project Options->Generation->

Share this post


Link to post
Share on other sites

Всем спасибо за помощь!!

Сегодня поковырял снова эту проблему, и выяснил, что моделсим не видит 'ifdef, а весь файл ddr3_model_parameters.vh написан под несколько микросхем памяти а конкретная выбирается с помощью условий ifdef

`ifdef QUAD_RANK

`define DUAL_RANK // also define DUAL_RANK

parameter CS_BITS = 4; // Number of Chip Select Bits

parameter RANKS = 4; // Number of Chip Selects

`else `ifdef DUAL_RANK

parameter CS_BITS = 2; // Number of Chip Select Bits

parameter RANKS = 2; // Number of Chip Selects

`else

parameter CS_BITS = 2; // Number of Chip Select Bits

parameter RANKS = 1; // Number of Chip Selects

`endif `endif

 

я убрал эту универсальность, всё сделал под конкретную микруху без ifdef и всё заработало... но это не порядок.. надо разбираться...

на следующей неделе встречаюсь с гуру моделсима... у меня к нему масса вопросов... так что разберусь - отпишусь!!!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this