hvordan man kan ændre verilog kode til VHDL-kode

T

TCY02

Guest
hvordan du ændrer verilog kode til VHDL-kode
faktisk koden er ligesom at
-------------------------------------------------- ---------------------

modul musik (CLK, q);
input CLK;
output q;

reg [22:0] tone;
altid @ (posedge clk) tone <= tone 1;

wire [6:0] rampe = (tone [22]? tone [21:15]: ~ tone [21:15]);
wire [14:0] clkdivider = (2'b01, rampe, 6'b000000);

reg [14:0] counter;
altid @ (posedge clk) if (counter == 0) counter <= clkdivider; else counter <= counter-1;

reg q;
altid @ (posedge clk) if (counter == 0) q <= ~ q;

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

 
Brug X-HDL.Det giver både vej konverteringer.Men de fleste af de gange u hv at gøre visse ændringer.TestBenches er mest svært at konvertere.

 
gjorde u prøve denne kode?
whatz den oprindelige værdi for "tone" variabel?
håber, at dette vil give falske simulering resultater.

koden ser enkle, kan vi manully konvertere den til vhdl

 
Her går den oversatte kode!
Jeg oversatte manuelt!
Hope this helps!

Kode:

library IEEE;

brug ieee.std_logic_1164.all;

brug ieee.std_logic_unsigned.all;

enhed musik erport (

CLK: i std_logic;

Q: out std_logic);ende musik;

arkitektur music_behave af musik er

signal tone: std_logic_vector (22 downto 0): = "0000000000000000000000";

signal rampe: std_logic_vector (6 downto 0);

signal clkdivider: std_logic_vector (14 downto 0);

signal counter: std_logic_vector (14 downto 0);

begynde - music_behaverampe <= tone (21 downto 15) xor ((ikke tone (22)) & (ikke tone (22)) & (ikke tone (22))

& (ikke tone (22)) & (ikke tone (22)) & (ikke tone (22)) & (ikke tone (22)));clkdivider <= "01" & rampen & "000000";proces (CLK)

variabel q_tmp: std_logic: = '0 ';

begynde - proces

hvis clk'event og clk = '1 'så - stigende ur kant

tone <= tone '1 ';

if (counter = 0) then

counter <= clkdivider;

q_tmp: = ikke q_tmp;

anden

counter <= counter - 1;

end if;

end if;

q <= q_tmp;

end process;

ende music_behave;

 
Ups ser ud som om jeg er for sent, anyway, her er oversættelsen til vhdl:
Kode:library IEEE;

brug ieee.std_logic_1164.all;

brug ieee.std_logic_unsigned.all;enhed musik er

port (clk: i std_logic;

Q: out std_logic

);

ende musik;arkitektur bue af musik er

signal tone: std_logic_vector (22 downto 0): = (andre => '0 ');

signal rampe: std_logic_vector (6 downto 0);

signal clkdivider: std_logic_vector (14 downto 0);

signal counter: std_logic_vector (14 downto 0);

signal temp: std_logic: = '0 ';begyndrampe <= tone (21 downto 15), når (tone (22) = '1 ') else tone (21 downto 15) xor "1.111.111";

clkdivider <= ( "01" & rampen & "000000");proces (CLK)

begynd

hvis rising_edge (CLK) then

if (counter = "000000000000000") then

counter <= clkdivider;

temp <= ikke temp;

anden

counter <= counter - "000000000000001";

end if;

end if;

end process;

 
anden gang, du behøver at gøre noget sådant bruge X-hdl beeing carefull til manuelt at optimere derefter resultaterne ..maxer

 
bedste værktøj til verliog til vhdl, vhdl til verilog er XHDL. det vil omdanne hurtigere og effektiv måde.prøv denne software.u vil få gode resultat.
nyde

 
Jeg spekulerer på, hvorfor du ønsker chang verilog til vhdl?
Jeg vil bare chang vhdl kode til verilog

 

Welcome to EDABoard.com

Sponsor

Back
Top