搜索
bottom↓
回复: 284

神器X-HDL3:VHDL、Veilog互转,已测试,相当强悍

  [复制链接]

出0入0汤圆

发表于 2010-3-11 09:58:05 | 显示全部楼层 |阅读模式
如题。
不用不知道,一用吓一跳。

点击此处下载 ourdev_537736.zip(文件大小:3.78M) (原文件名:X-HDL3.2.52.zip)

(原文件名:抓图-1.png)

出0入0汤圆

发表于 2010-3-11 10:03:55 | 显示全部楼层
严重mark

出0入0汤圆

发表于 2010-3-11 10:10:47 | 显示全部楼层
m一下,用到时再下

出0入0汤圆

发表于 2010-3-11 10:12:43 | 显示全部楼层
转过来的正确不?

出0入0汤圆

发表于 2010-3-11 10:17:46 | 显示全部楼层
关注

出0入0汤圆

 楼主| 发表于 2010-3-11 10:20:39 | 显示全部楼层
回复【3楼】asdasd
转过来的正确不?
-----------------------------------------------------------------------

我把群里的18b20转过来  正确
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=1079713

出0入0汤圆

发表于 2010-3-11 10:25:09 | 显示全部楼层
软件我是早就有了,不过后来项目不用cpld了,就没有深入研究,没用上,mark一下

出0入0汤圆

发表于 2010-3-11 10:29:22 | 显示全部楼层
以后看VHDL的例程就方便了

出0入0汤圆

发表于 2010-3-11 10:36:02 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-3-11 10:52:38 | 显示全部楼层
mark,以后学CPLD/FPGA会用到

出0入0汤圆

发表于 2010-3-11 11:21:07 | 显示全部楼层
mark

出150入0汤圆

发表于 2010-3-11 12:17:18 | 显示全部楼层
留名

出0入4汤圆

发表于 2010-3-11 12:33:29 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-3-11 13:22:26 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-3-11 13:53:20 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-3-11 17:01:00 | 显示全部楼层
呵呵,支持

出0入0汤圆

发表于 2010-3-11 17:04:43 | 显示全部楼层
做个标记说不定哪天用到!

出0入0汤圆

发表于 2010-3-11 17:07:39 | 显示全部楼层
复杂代码效果如何?

出0入0汤圆

发表于 2010-3-11 17:08:56 | 显示全部楼层
mark

出0入4汤圆

发表于 2010-3-11 17:21:43 | 显示全部楼层
小设计用它基本上没有问题,大的设计可要掂量掂量哦!

出0入0汤圆

发表于 2010-3-11 17:59:17 | 显示全部楼层
标记一下,收藏…

出0入0汤圆

发表于 2010-3-11 18:01:07 | 显示全部楼层
效率估计不会太高,不过有了它,最起码能让人踏实些,不至于看不懂另外一种语言

出0入0汤圆

发表于 2010-3-11 18:04:33 | 显示全部楼层
收藏了

出0入0汤圆

发表于 2010-3-11 18:06:08 | 显示全部楼层
以前用过

出0入0汤圆

发表于 2010-3-11 19:23:24 | 显示全部楼层
先标记,等以后。

出0入0汤圆

发表于 2010-3-12 10:09:34 | 显示全部楼层
NULL; 转换了就是begin 和end

出0入0汤圆

发表于 2010-3-12 10:22:28 | 显示全部楼层
用一个语言,能看懂另外一个语言是基本功啊……

出0入4汤圆

发表于 2010-3-12 10:37:09 | 显示全部楼层
记号

出0入0汤圆

发表于 2010-3-12 12:58:41 | 显示全部楼层
记号。

出0入4汤圆

发表于 2010-3-12 13:20:09 | 显示全部楼层
记号!!

出0入0汤圆

发表于 2010-3-12 13:38:46 | 显示全部楼层
最近楼主放的资料很多啊,顶

出0入0汤圆

发表于 2010-3-15 22:20:32 | 显示全部楼层
回复【楼主位】tear086 .COM缺氧
-----------------------------------------------------------------------

谢谢共享

出0入0汤圆

发表于 2010-3-16 15:45:01 | 显示全部楼层
Mark

出0入0汤圆

发表于 2010-3-16 19:12:18 | 显示全部楼层
Mark

出0入0汤圆

发表于 2010-3-16 20:11:45 | 显示全部楼层
Mark

出10入10汤圆

发表于 2010-3-16 20:28:10 | 显示全部楼层
不知转换后效果如何,总觉得不踏实.

出0入0汤圆

发表于 2010-3-16 20:40:06 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-3-16 20:44:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-3-16 20:54:05 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-3-16 20:54:56 | 显示全部楼层
必须顶~!

出0入0汤圆

发表于 2010-3-16 21:16:31 | 显示全部楼层
我太笨,找了个VHD转不成功,代码是我六年前写的EPP接口500K的采集
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

entity controler is
port(clock:in std_logic;
     reset:in std_logic;
     inclk:buffer std_logic;
     --OE:buffer std_logic;--------------
     --SEL:buffer std_logic;-------------
     ndata:in std_logic;
     din:in std_logic_vector(7 downto 0);
     outclk:buffer std_logic;
     dout:out std_logic_vector(7 downto 0);
     ramwr:buffer std_logic;
     waitout:buffer std_logic;
     addressbus:out std_logic_vector(12 downto 0);
     ramoe:buffer std_logic);
end;

architecture work of controler is
signal count:std_logic_vector(4 downto 0);
signal sel: std_logic;
signal oe: std_logic;
signal wpointer:std_logic_vector(12 downto 0);
signal rpointer:std_logic_vector(12 downto 0);
signal ready:std_logic;
signal eppcount:std_logic_vector(1 downto 0);
begin
readdata:process(reset,clock,OUTCLK,RAMOE)
begin
if reset='1' then
  count<="11101";
  oe<='1';
  --SEL<='0';
  ramwr<='1';
  ramoe<='1';
  inclk<='0';
  --sel<='1';
else
  if rising_edge(clock) then
    if count="11101" then
      count<="00000";
      inclk<='1';
      RAMOE<='1';
      oe<='0';
    --  sel<='1';
    else
      count<=count+1;
    end if;

   if count="11100" then
     oe<='0';
     RAMOE<='1';
   end if;

    if count="00000" then
      ramwr<='0';
    end if;

    if count="00001" then
      ramwr<='1';
      oe<='1';
      inclk<='0';
      RAMOE<='0';  
    end if;
   
    IF COUNT>"00001" THEN
      IF RPOINTER=WPOINTER THEN
        OE<='0';
        --SEL<='1';
        RAMOE<='1';
      ELSE
        --IF COUNT/="11100" THEN
          --RAMOE<='0';????????????????????????????(要修)
        --END IF;
      END IF;
    END IF;
  end if;
end if;
end process readdata;

outctrl:process(INCLK,din)
begin
--IF OE='0' THEN   
--  if sel='0' AND INCLK='0' then
--    dout<="00000000";
--  elsE
--    IF INCLK/='1' THEN
--      dout<=din;
--    END IF;
--  END IF;
--ELSIF OE='1' THEN
--  dout<="ZZZZZZZZ";
--end if;

if inclk='1' then
  if din="00000000" then
    dout<="00000001";
  else
    dout<=din;
  end if;
else
  if ramoe='1' then
    dout<="00000000";
  else
    dout<="ZZZZZZZZ";
  end if;
end if;

--if inclk='0' then
--  if ramoe='0' then
--    dout<="ZZZZZZZZ";
--  else
--    dout<="00000000";
--  end if;
--end if;
end process outctrl;

waddress:process(ramwr,reset)
begin
if reset='1' then
  wpointer<="0000000000000";
else
  if rising_edge(ramwr) then
    wpointer<=wpointer+1;
  end if;
end if;
end process waddress;

raddress:process(reset,outclk,ramoe)
begin
if reset='1' then
  rpointer<="0000000000000";
else
  if FALLING_edge(OUTCLK) then
    if ramoe='0' then
     rpointer<=rpointer+1;
    end if;
  end if;
end if;
end process raddress;

addresscom:process(wpointer,rpointer)
begin
if wpointer=rpointer then
  SEL<='0';
else
  SEL<='1';
end if;
end process addresscom;

addressout:process(wpointer,rpointer,inclk)
begin
if inclk='1' then
  addressbus<=wpointer;
else
  addressbus<=rpointer;
end if;
end process addressout;

eppread:process(clock,ndata,inclk,eppcount)
begin
if inclk='0' then
  if ndata='0' then
    if rising_edge(clock) then
      if ready='1' then
        if eppcount="00" then
          IF (COUNT>"00001" and count<"11100") THEN
            outclk<='1';
            eppcount<=eppcount+1;      
          END IF;
          end if;
        if eppcount="01" then
          outclk<='0';
          waitout<='1';
          eppcount<=eppcount+1;      
        end if;
        else
          ready<='1';
          eppcount<="00";
        end if;
      end if;
    else
    if ndata='1' then
      --if rising_edge(clock) then
        waitout<='0';
        ready<='0';
      --end if;
    end if;
  end if;
end if;
end process eppread;


end work;

出0入0汤圆

发表于 2010-3-17 16:18:10 | 显示全部楼层
mark!!!!!

出0入0汤圆

发表于 2010-3-17 16:22:34 | 显示全部楼层
正是我想要的

出0入0汤圆

发表于 2010-3-18 16:12:30 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2010-3-26 13:30:39 | 显示全部楼层
顶上去。

出0入0汤圆

发表于 2010-4-9 22:23:09 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-13 17:57:47 | 显示全部楼层
强悍!

出0入0汤圆

发表于 2010-4-15 10:25:30 | 显示全部楼层
回复【楼主位】tear086 .COM 缺氧
-----------------------------------------------------------------------

转出来不能复制啊?

出0入0汤圆

发表于 2010-4-15 11:06:39 | 显示全部楼层
很神奇,用vhdl转Verilog提示错误,
解决办法是把VHDL文件先用Verilog-》VHDL一下,把输出的文件再VHDL-》Verilog就可以了。

出0入0汤圆

发表于 2010-4-15 15:32:34 | 显示全部楼层
强悍!!!

出0入0汤圆

发表于 2010-4-15 23:00:15 | 显示全部楼层
回复【41楼】888888888888
-----------------------------------------------------------------------

可以啊
//////////////////////////////////////////////////////////////////////////////////////////////
//
// Verilog file generated by X-HDL - Revision 3.2.52  Mar. 28, 2005
// Thu Apr 15 22:58:43 2010
//
//      Input file         : C:/Documents and Settings/Administrator/Desktop/qq.vhd
//      Design name        : controler
//      Author             :
//      Company            :
//
//      Description        :
//
//
//////////////////////////////////////////////////////////////////////////////////////////////
//
module controler (clock, reset, inclk, ndata, din, outclk, dout, ramwr, waitout, addressbus, ramoe);

   input clock;
   input reset;
   output inclk;
   reg inclk;
   input ndata;
   input[7:0] din;
   output outclk;
   reg outclk;
   output[7:0] dout;
   reg[7:0] dout;
   output ramwr;
   reg ramwr;
   output waitout;
   reg waitout;
   output[12:0] addressbus;
   reg[12:0] addressbus;
   output ramoe;
   reg ramoe;

   reg[4:0] count;
   reg sel;
   reg oe;
   reg[12:0] wpointer;
   reg[12:0] rpointer;
   reg ready;
   reg[1:0] eppcount;

   always @(posedge reset or posedge clock)
   begin : readdata
      if (reset == 1'b1)
      begin
         count <= 5'b11101 ;
         oe <= 1'b1 ;
         ramwr <= 1'b1 ;
         ramoe <= 1'b1 ;
         inclk <= 1'b0 ;
      end
      else
      begin
         if (count == 5'b11101)
         begin
            count <= 5'b00000 ;
            inclk <= 1'b1 ;
            ramoe <= 1'b1 ;
            oe <= 1'b0 ;
         end
         else
         begin
            count <= count + 1 ;
         end
         if (count == 5'b11100)
         begin
            oe <= 1'b0 ;
            ramoe <= 1'b1 ;
         end
         if (count == 5'b00000)
         begin
            ramwr <= 1'b0 ;
         end
         if (count == 5'b00001)
         begin
            ramwr <= 1'b1 ;
            oe <= 1'b1 ;
            inclk <= 1'b0 ;
            ramoe <= 1'b0 ;
         end
         if (count > 5'b00001)
         begin
            if (rpointer == wpointer)
            begin
               oe <= 1'b0 ;
               ramoe <= 1'b1 ;
            end
            else
            begin
            end
         end  
      end
   end

   always @(inclk or din)
   begin : outctrl
      if (inclk == 1'b1)
      begin
         if (din == 8'b00000000)
         begin
            dout <= 8'b00000001 ;
         end
         else
         begin
            dout <= din ;
         end
      end
      else
      begin
         if (ramoe == 1'b1)
         begin
            dout <= 8'b00000000 ;
         end
         else
         begin
            dout <= 8'bZZZZZZZZ ;
         end
      end
   end

   always @(posedge ramwr or posedge reset)
   begin : waddress
      if (reset == 1'b1)
      begin
         wpointer <= 13'b0000000000000 ;
      end
      else
      begin
         wpointer <= wpointer + 1 ;  
      end
   end

   always @(posedge reset or negedge outclk or negedge ramoe)
   begin : raddress
      if (reset == 1'b1)
      begin
         rpointer <= 13'b0000000000000 ;
      end
      else
      begin
         if (ramoe == 1'b0)
         begin
            rpointer <= rpointer + 1 ;
         end  
      end
   end

   always @(wpointer or rpointer)
   begin : addresscom
      if (wpointer == rpointer)
      begin
         sel <= 1'b0 ;
      end
      else
      begin
         sel <= 1'b1 ;
      end
   end

   always @(wpointer or rpointer or inclk)
   begin : addressout
      if (inclk == 1'b1)
      begin
         addressbus <= wpointer ;
      end
      else
      begin
         addressbus <= rpointer ;
      end
   end

   always @(clock or ndata or inclk or eppcount)
   begin : eppread
      if (inclk == 1'b0)
      begin
         if (ndata == 1'b0)
         begin
            if (ready == 1'b1)
            begin
               if (eppcount == 2'b00)
               begin
                  if (count > 5'b00001 & count < 5'b11100)
                  begin
                     outclk <= 1'b1 ;
                     eppcount <= eppcount + 1 ;
                  end
               end
               if (eppcount == 2'b01)
               begin
                  outclk <= 1'b0 ;
                  waitout <= 1'b1 ;
                  eppcount <= eppcount + 1 ;
               end
            end
            else
            begin
               ready <= 1'b1 ;
               eppcount <= 2'b00 ;
            end  
         end
         else
         begin
            if (ndata == 1'b1)
            begin
               waitout <= 1'b0 ;
               ready <= 1'b0 ;
            end
         end
      end
   end
endmodule

出0入0汤圆

发表于 2010-4-16 21:38:53 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-16 22:29:31 | 显示全部楼层
这东西好啊····以后看东西不用愁了···

出0入0汤圆

发表于 2010-4-19 00:48:20 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-20 23:11:14 | 显示全部楼层
顶,顶,顶,顶

出0入0汤圆

发表于 2010-4-20 23:24:45 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-5-4 09:44:02 | 显示全部楼层
马克

出0入0汤圆

发表于 2010-5-4 17:06:02 | 显示全部楼层
谢谢分享,先MARK

出0入0汤圆

发表于 2010-5-4 17:39:58 | 显示全部楼层
回复【楼主位】tear086 .COM 缺氧
-----------------------------------------------------------------------

ddd

出0入0汤圆

发表于 2010-5-4 21:56:53 | 显示全部楼层
试试~~~

出0入0汤圆

发表于 2010-5-14 23:33:30 | 显示全部楼层
回复【楼主位】tear086 .COM 缺氧
如题。
不用不知道,一用吓一跳。
点击此处下载  (原文件名:x-hdl3.2.52.zip)  


(原文件名:抓图-1.png)
引用图片
-----------------------------------------------------------------------

不用不知道,一用吓一跳。

出0入0汤圆

发表于 2010-5-15 02:02:00 | 显示全部楼层
强力mark

出0入25汤圆

发表于 2010-5-15 03:00:58 | 显示全部楼层
Mark!

出675入8汤圆

发表于 2010-5-15 16:40:21 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-5-19 10:01:00 | 显示全部楼层
我那个license不能用啊,没办法转换成文件,看的好辛苦,求助,license怎么注册啊,看我有没有注册错,求助楼主!

出0入0汤圆

发表于 2010-5-21 02:10:56 | 显示全部楼层
关注。。。

出0入0汤圆

发表于 2010-5-21 07:09:10 | 显示全部楼层
标记

出0入0汤圆

发表于 2010-5-21 09:22:12 | 显示全部楼层
拿来试试看……

出0入0汤圆

发表于 2010-5-21 09:34:09 | 显示全部楼层
version up 再放猛料
Verilog和VHDL互相转换工具(XHDL-4.0.36破解)
http://www.61eda.com/Soft/soft/zongh/201005/4974.html

出0入0汤圆

发表于 2010-6-17 22:29:49 | 显示全部楼层
mark 是必须的。

出0入0汤圆

发表于 2010-6-17 22:48:56 | 显示全部楼层
张亚峰弟弟 这个有什么用啊  真是的!!

出0入127汤圆

发表于 2010-6-17 23:41:53 | 显示全部楼层
支持

出0入0汤圆

发表于 2010-6-18 00:31:10 | 显示全部楼层
转出来的能直接用?

出0入0汤圆

发表于 2010-6-18 08:29:28 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-19 15:20:42 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-19 18:12:26 | 显示全部楼层
后果很严重,工程师们很生气。

出0入0汤圆

 楼主| 发表于 2010-7-19 19:09:29 | 显示全部楼层
那么多选项,约束越多,越靠谱;慢慢看,好好用。

出0入0汤圆

发表于 2010-7-19 20:21:18 | 显示全部楼层
正在学习中

出0入0汤圆

发表于 2010-7-19 20:44:29 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-19 21:17:26 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-19 21:52:38 | 显示全部楼层
现在不懂。mark以后可能用到。。。

出0入0汤圆

发表于 2010-7-20 08:40:18 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-21 10:42:16 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-21 11:05:58 | 显示全部楼层
回复【楼主位】tear086 .COM 缺氧
-----------------------------------------------------------------------

不错 不错 谢谢楼主

出0入0汤圆

发表于 2010-7-26 12:51:25 | 显示全部楼层
很好,一直都想找   但没找到  谢了

出0入0汤圆

发表于 2010-7-26 14:07:24 | 显示全部楼层
严重mark

出0入0汤圆

发表于 2010-7-26 15:22:15 | 显示全部楼层
不错,支持

出0入0汤圆

发表于 2010-7-27 14:54:40 | 显示全部楼层
请问转换结果出来后不能复制或者保存文件怎么办?如下图:


(原文件名:结果.JPG)

出0入0汤圆

 楼主| 发表于 2010-7-27 16:10:10 | 显示全部楼层
回复【90楼】wcabcd  
-----------------------------------------------------------------------


配置上面的选项。

出0入0汤圆

发表于 2010-7-28 22:35:45 | 显示全部楼层
Mark

出0入0汤圆

发表于 2010-8-1 16:55:00 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-1 21:42:27 | 显示全部楼层
不错,先收下了,改天试试。

出0入0汤圆

发表于 2010-8-28 10:52:48 | 显示全部楼层
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
头像被屏蔽

出0入0汤圆

发表于 2010-8-28 11:09:18 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2010-8-28 11:15:58 | 显示全部楼层
mark mark

出0入0汤圆

发表于 2010-8-28 17:52:30 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-8-30 15:13:01 | 显示全部楼层
玩玩可以,真正实用恐怕还是跟不上吧。

出0入0汤圆

发表于 2010-9-18 16:33:11 | 显示全部楼层
回复【54楼】barrie_xie  
mark

-----------------------------------------------------------------------

日,还以为屏幕上落了个虫子,严重警告一次!!

出0入0汤圆

发表于 2010-9-18 17:41:50 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-9-19 10:09:23 | 显示全部楼层
就 出错了,不知道是不是我没设置好
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 00:25

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表