как да се промени Verilog код, за да VHDL код

T

TCY02

Guest
как да се промени Verilog код, за да VHDL код
всъщност код е така
-------------------------------------------------- ---------------------

модул музика (CLK, Q);
вход CLK;
мощност Q;

обл [22:0] тон;
Винаги @ (posedge CLK) тон <= 1 тон;

тел [6:0] = рампа (тон [22]? тон [21:15]: ~ тон [21:15]);
тел [14:0] clkdivider = (2'b01, рампата, 6'b000000);

обл [14:0] брояч;
Винаги @ (posedge CLK) ако (брояч == 0) брояч <= clkdivider; друг брояч <= Counter-1;

обл Q;
Винаги @ (posedge CLK) ако (брояч == 0) Q <= ~ Q;

endmodule
-------------------------------------------------- -----------------------------------------

 
Използвайте Х-HDL.Той предлага начин двете реализации.Но повечето от времето U ВН да направи някои промени.TestBenches са най-трудно да конвертирате.

 
, където може да получите на този софтуер

 
U тест е този код?
whatz първоначалната стойност за "тон" променлива?
Надявам се това да даде неверни резултати симулация.

кода изглежда проста, ние можем да го конвертирате в manully VHDL

 
Ето отива на преведените код!
Аз преведох ръчно!
Надявам се това да помогне!

Код:

IEEE библиотека;

употреба ieee.std_logic_1164.all;

ieee.std_logic_unsigned.all употреба;

Музиката е субектпорт (

CLK: в std_logic;

Q: Няма std_logic);края музика;

архитектура music_behave на музиката е

сигнал тон: std_logic_vector (22 downto 0): = "0000000000000000000000";

сигнал рампа: std_logic_vector (6 downto 0);

сигнал clkdivider: std_logic_vector (14 downto 0);

signal counter : std_logic_vector(14 downto 0);
започне - music_behaveрампа <= тон (21 downto 15) XOR ((не тон (22)) & (не тон (22)) & (не тон (22))

& (не тон (22)) & (не тон (22)) & (не тон (22)) & (не тон (22)));clkdivider <= "01" & & рампа "000000";процес (CLK)

променлива q_tmp: std_logic: = '0 ';

започне - процес

ако clk'event и CLK = '1 ', после - Повишаване на часовник край

тон <= тон '1 ';

ако (обратно = 0), тогава

брояч <= clkdivider;

q_tmp: = не q_tmp;

в противен случай

брояч <= брояч - 1;

крайна сметка, ако;

крайна сметка, ако;

Q <= q_tmp;

край процес;

края music_behave;

 
Ами сега изглежда като аз съм със закъснение, така или иначе, тук е превод на VHDL:
Код:IEEE библиотека;

употреба ieee.std_logic_1164.all;

ieee.std_logic_unsigned.all употреба;Музиката е субект

порт (CLK: в std_logic;

Q: Няма std_logic

);

края музика;архитектура арх на музика е

сигнал тон: std_logic_vector (22 downto 0): = (другите => '0 ');

сигнал рампа: std_logic_vector (6 downto 0);

сигнал clkdivider: std_logic_vector (14 downto 0);

сигнал брояч: std_logic_vector (14 downto 0);

сигнал Temp: std_logic: = '0 ';започвамрампа <= тон (21 downto 15), когато (тон (22) = '1 ') друг тон (21 downto 15) XOR "1111111";

clkdivider <= ( "01" & & рампа "000000");процес (CLK)

започвам

ако rising_edge (CLK), тогава

ако (брояч = "000000000000000"), тогава

брояч <= clkdivider;

Temp <= не Temp;

в противен случай

брояч <= брояч - "000000000000001";

крайна сметка, ако;

крайна сметка, ако;

край процес;

 
всяко друго време, което трябва да направите нещо подобно използване X-HDL бъдеш Carefull ръчно да оптимизирате, след което резултатите ..maxer

 
можете да използвате софтуера grapgic Mentor's -----
FPGA Адванс

 
най-добрият инструмент за verliog на VHDL, VHDL да Verilog е XHDL. тя ще превърне по-бърз и ефективен начин.опитвам този софтуер.U ще се получи добър резултат.
радвам се

 
Чудя се защо искате да Чанг Verilog VHDL?
Аз просто искам Чанг VHDL код, за да Verilog

 

Welcome to EDABoard.com

Sponsor

Back
Top