Перейти к содержанию
    

помогите переписать AHDL-ый файл на VDHL или Верилог

Если не трудно переведите файлик на VHDL или Verilog. Пробовал HDL-транслятор, но потом трудно разобраться с тем, что он сгенерил.

Собственно AHDL-ый файл:

 

include "lpm_mux";

 

SUBDESIGN e_f_tx

(

ftm : input ;-- Глобальная тактовая

tdata_frm : input ;-- Данные

tclk_frm : input ;-- 2048

fts_frm : input ;--

izv0 : input ;-- RAI

tm_e_conf : input ;--

tm_tr_e[3..0] : input ;-- Sa

set_mf_crc : input ;-- разрешение работы с CRC4

 

tdata : OUTPUT;

)

 

-- модуль форрмирования данных для порта Е1 при включении не прозрачного режима и контроля КИ0

 

 

VARIABLE

 

setr[3..0] : dff;

trs[11..0] : dffe;

set_tr :dff;

 

form_e_dout : node;

 

%form_e%

 

d_tm[3..0] : dffe;

set_mf : node;

rebe[1..0], izv1, dem, tmt : node;

 

%CRC%

crca[3..0] : dffe;

crcta[3..0] : dffe;

 

t_cra,crta : node;

 

 

BEGIN

 

setr0.clk = !ftm;

setr1.clk = ftm;

setr0.d = setr1.q # (tclk_frm & setr0.q);

setr1.d = tclk_frm & !setr0.q;

 

setr2.clk = !ftm;

setr3.clk = ftm;

setr2.d = setr3.q # (!tclk_frm & setr2.q);

setr3.d = !tclk_frm & !setr2.q;

 

-- setr1 --- определяет фронт, активен по фронту ftm

-- setr3 --- определяет спад, активен по фронту ftm

 

trs[11..0].clk = ftm;

trs[11..0].d = trs[11..0].q + 1;

trs[11..0].ena = setr1.q;

trs[7..0].clrn = !set_tr.q;

 

set_tr.clk = ftm;

set_tr.d = fts_frm & setr3.q;

 

 

form_e_dout = (tdata_frm & (!((trs[7..3].q==16)&set_mf)&!(trs[7..3].q==0)) #

 

%cs% ((((crta#!set_mf_crc)&(trs[2..0].q==0))#(trs[2..0].q==3)#(trs[2..0].q==4)#(trs[2..0].q==6)#(trs[2.

.0].q==7))&(trs[8..3].q==0)) #

 

%cs CRC%((((trs[11..9].q==2)#(trs[11..9].q==4)#(trs[11..9].q==5)#(!rebe0&(trs[11..9].q==6))#(!rebe1&(trs[11..9].q==7))#!(trs[2..0]==0)#!set_mf_crc)&!(!izv0&(trs[2..0].q==2))&(tmt#!trs2.q))&(trs[8..3].q==32)) #

%cs em% (((((trs[2..0].q==4)#(izv1&(trs[2..0].q==5))#(trs[2..0].q==6)#(trs[2..0].q==7))&(trs[11..3].q==16))#(dem&(trs[7..3].q==16)&!(trs[11..3].q==16))) & set_mf));

 

set_mf = gnd;

rebe[1..0] = gnd;

izv1 = gnd;

dem = vcc;

 

%TM%

 

d_tm[3..0].clk = ftm;

d_tm[3..0].d = tm_tr_e[3..0];

d_tm[3..0].ena = setr1.q & (trs[8..0].q==0);

 

tmt = lpm_mux (.data[][]=d_tm[3..0].q,.sel[]=trs[1..0].q)

WITH (LPM_WIDTH=1, LPM_SIZE=4, LPM_WIDTHS=2)

RETURNS (.result[]);

 

% crc - 4 %

 

crca[].d = (t_cra $ crca0.q,(t_cra$crca0.q)$crca3.q,crca2.q,crca1.q) & !(trs[10..0].q==0);

crca[].clk = ftm;

crca[].ena = setr3.q;

 

t_cra = form_e_dout & !(trs[8..0].q==0);

 

crcta[].d = crca[].q;

crcta[].clk = ftm;

crcta[].ena = setr1.q & (trs[10..0].q==2047);

 

crta = lpm_mux (.data[][]=crcta[].q, .sel[]=trs[10..9].q)

WITH (LPM_WIDTH=1, LPM_SIZE=4, LPM_WIDTHS=2)

RETURNS (.result[]);

 

-- обработка выходной информации по CRC4 с передачей остатка от деления

 

tdata = (form_e_dout & tm_e_conf) # (tdata_frm & !tm_e_conf);

 

END;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

Может расскажите, что Вам нужно и проще будет заново написать на необходимом Вам языке, чем разбираться в программе :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Данный файл формирует Е1 поток, я пробовал забацать свое, в симуляторе работает на ура, а в железке не работает.

 

Вобще мне нужно Ethernet засунуть в Е1, используя GFP, VCAT и LCAS. GFP и VCAT я сделал, осталось их проверить. Мне дали железку, в которой проект полностью сделан на AHDL, поскольку время поджимает (как всегда все срочно) рекомендовано использовать готовые блоки из проекта на AHDL. Вот я и хотел бы AHDL блоки перекинуть в VHDL или Verilog, ибо возможно потребуется вместо альтеры ставить ксайлинкс.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Данный файл формирует Е1 поток, я пробовал забацать свое, в симуляторе работает на ура, а в железке не работает.

 

http://www.opencores.org/projects.cgi/web/...framer/overview

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Maverick

там нет файлов. как я понимаю проект в процессе.

А здесь готовый проект, но на AHDL.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Maverick

там нет файлов. как я понимаю проект в процессе.

А здесь готовый проект, но на AHDL.

 

А это что

 

http://www.opencores.org/pdownloads.cgi/li...1framerdeframer

 

Если срочно нужно попросите и Вам скачают, извините, но у меня Login на www.opencores.org нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть такая штука - XPORT

 

"You can use the HDL Converter process to convert ABEL or AHDL designs to VHDL or Verilog. In order to use ABEL or AHDL designs as top-level HDL designs, you must first convert the designs."

 

См. Help в Xilinx ISE

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...