Problema Ram, help me !!!!!!!!!

A

angjohn

Guest
qualcuno può aiutarmi a tradurre LPM_RAM_DQ seguente modulo che si trova in VHDL in VerilogCodice:

- LPM_RAM_DQ

libreria IEEE;

IEEE.std_logic_1164.all uso;

IEEE.std_logic_arith.all uso;entità è LPM_RAM_DQ

generico (

Nota: Nota: = "RAM con ingresso separato e le porte di uscita";

LPM_WIDTH: integer: = 16;

LPM_TYPE: stringa: = "LPM_RAM_DQ";

LPM_WIDTHAD: integer: = 9;

LPM_NUMWORDS: stringa: = "UNUSED";

LPM_FILE: stringa: = "UNUSED";

LPM_INDATA: stringa: = "registrato";

LPM_ADDRESS_CONTROL: stringa: = "registrato";

LPM_OUTDATA: stringa: = "UNREGISTERED";

LPM_HINT: stringa: = "UNUSED"

);

porto (

DATI: in STD_LOGIC_VECTOR (LPM_WIDTH-1 downto 0);

INDIRIZZO: in STD_LOGIC_VECTOR (LPM_WIDTHAD-1 downto 0);

WE: in STD_LOGIC; -: ='1 ';

INCLOCK: in STD_LOGIC; -: ='0 ';

D: fuori STD_LOGIC_VECTOR (LPM_WIDTH-1 downto 0)

);

tipo è ENUM_LPM_INDATA (registrato, non registrato);

tipo è ENUM_LPM_ADDRESS_CONTROL (registrato, non registrato);

il tipo è ENUM_LPM_OUTDATA (registrato, non registrato);

LPM_RAM_DQ fine;architettura LPM_RAM_DQ_arch di LPM_RAM_DQ è

iniziare

- Inserire qui le dichiarazioni concomitante

LPM_RAM_DQ_arch fine;- LPM_RAM_DQ: predefiniti modulo finito qui
- DataRam

libreria IEEE;

IEEE.std_logic_1164.all uso;

IEEE.std_logic_arith.all uso;entità è DataRam

porto (

dati: nel STD_LOGIC_VECTOR (15 downto 0);

addr: in STD_LOGIC_VECTOR (8 downto 0);

CLK: in STD_LOGIC;

scrivere: in STD_LOGIC;

D: fuori STD_LOGIC_VECTOR (15 downto 0)

);

DataRam fine;architettura DataRam_arch di DataRam èsegnale alto, basso, lpm_write, nclk: STD_LOGIC;componente LPM_RAM_DQ

generico (

LPM_WIDTH: integer: = 16;

LPM_TYPE: stringa: = "LPM_RAM_DQ";

LPM_WIDTHAD: integer: = 9;

LPM_NUMWORDS: stringa: = "UNUSED";

LPM_FILE: stringa: = "UNUSED";

LPM_INDATA: stringa: = "registrato";

LPM_ADDRESS_CONTROL: stringa: = "registrato";

LPM_OUTDATA: stringa: = "UNREGISTERED";

LPM_HINT: stringa: = "UNUSED"

);

porto (

DATI: in STD_LOGIC_VECTOR (LPM_WIDTH-1 downto 0);

INDIRIZZO: in STD_LOGIC_VECTOR (LPM_WIDTHAD-1 downto 0);

WE: in STD_LOGIC; -: ='1 ';

INCLOCK: in STD_LOGIC; -: ='0 ';

D: fuori STD_LOGIC_VECTOR (LPM_WIDTH-1 downto 0)

);

fine del componente;iniziare

alta <='1 '; bassa <='0';

lpm_write <= clk e scrivere;

nclk <= non clk;

U_LPM_RAM_DQ: LPM_RAM_DQ porta mappa (dati, addr, scrivere, clk, Q);
DataRam_arch fine;
 
ha u verificare se il codice VHDL è synthesizable!

ci sono i convertitori di shell livello cioè di VHDL Verilog convertitori ..synthesizable quelli ..jes verificare i codici originali ..ed io cercherò di ottenere l'url per il convertitore.

per quanto riguarda,

 
TRY XHDL per la traduzione

http://www.x-tekcorp.com/xhdl3.htm

 
Ho già utilizzare il XHDL di tradurre il codice in verilog, ma ancora il codice di errore quando si sintesi, qualsiasi altro suggerimento?

 
Ya ..you cant direttamente sintetizzare XHDL uscita ..
Ma se verilog .. u know u possibile modificare il codice senza molto sforzo per ottenere un codice synthesisable ...

 
Salve,

Il LPM_RAM_DQ è solo un macrofunction per singola porta embedeed ariete.
Se il tuo obiettivo è uno @ ltera, solo dichiarare il componente e la mappa in Verilog.
Se il tuo obiettivo è un altro componente, è possibile che il codice in un simile blocco verilog ram:
Look at this provenienti da Xilinx Modelli:
Citazione:modulo spblockram_v (clk, abbiamo, una, di, fare);input clk;

ingresso noi;

input [4:0] a;

input [3:0] di;

output [3:0] fare;reg [3:0] ariete [31:0];

reg [4:0] read_a;sempre @ (posedge clk) cominciare

se (noi)

ram [a] <= di;

read_a <= a;

fineassegnare fare = ram [read_a];endmodule
 
Sono destinati alla RAM per ltera @ FPGA.So che su di mappatura, ha avuto i seguenti verilog scrivere questo codice e funzionaCodice:

modulo di RAM (

indirizzo,

noi,

orologio,

dati,

q);input [7:0] indirizzo;

ingresso noi;

ingresso di clock;

input [7:0] dati;

output [7:0] q;filo [7:0] sub_wire0;

filo [7:0] sub_wire0 q = [7:0];lpm_ram_dq lpm_ram_dq_component (

. indirizzo (indirizzo),

. inclock (orologio),

. (dati),

. abbiamo (noi),

. q (sub_wire0));

defparam

lpm_ram_dq_component.intended_device_family = "FLEX10K",

lpm_ram_dq_component.lpm_width = 8,

lpm_ram_dq_component.lpm_widthad = 8,

lpm_ram_dq_component.lpm_indata = "registrato",

lpm_ram_dq_component.lpm_address_control = "registrato",

lpm_ram_dq_component.lpm_outdata = "NON",

lpm_ram_dq_component.use_eab = "ON",

lpm_ram_dq_component.lpm_hint = "MAXIMUM_DEPTH = 256",

lpm_ram_dq_component.lpm_type = "LPM_RAM_DQ",

lpm_ram_dq_component.lpm_file = "nabilcpu.mif";endmodule

 
Come faccio a utilizzare una libreria di moduli di parametri (LPM) funzione (come LPM_RAM_DQ) in Synopsys FPGA Express, ho bisogno di sapere come attuare in Verilog-HDL.la difficoltà a esprimere FPGA sintesi la sintassi "defparam", perché non posso utilizzare il codice Verilog generare da Megawizard plug in manager da @ ltera.quindi per favore mi aiuti con questo!

 

Welcome to EDABoard.com

Sponsor

Back
Top