用vhdl 实现2位十进制 转8位二进制 急求 2位十进制转二进制其实只要7位二进制就行了,我试了用八位的,编译器报错,这里的十进制和二进制转换是用函数CONV_STD_LOGIC_VECTOR(d,7)来实现的,其实你可以自己写。其中7表示位长,d表示要转换的数,这个函数在std_logic_arith包下。主要是在仿真的时候虽然可以运行成功(在没有引入clk时),但波形图看不到结果。因为“”具有延迟性,它要等整个进程结束,这个赋值才有变化,所以引入了一个clk,使其在仿真的时候看到变化。Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_arith.all;Entity convert2_8 isPort(clk:in std_logic;d:in integer range 99 downto 0;b:out std_logic_vector(6 downto 0));End convert2_8;Architecture behave of convert2_8 isBeginProcess(clk)Beginb(d,7);End process;End behave;重金求基于FPGA的8位串并转换vhdl语言的代码! library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity sc isport(clk,rxd:in std_logic;data:out std_logic_vector(7 downto 0));end sc;architecture rt8251 of sc issignal count:std_logic_vector(3 downto 0):=\"0000;signal do_latch:std_logic_vector(7 downto 0);signal d_fb:std_logic_vector(9 downto 0);signal rxdf:std_logic;signal rdfull:std_logic:='0';begindata;P1:process(clk)beginif(clk'event and clk='1')thenif((rxdf='1')and(count=\"1000\"))thendo_latch(7 downto 0)(7 downto 0);rdfull;end if;end if;end process p1;p2:process(clk)beginif(clk'event and clk='1')thenif(rxd='0')thenrxdf;elsif((rxdf='1')and(count=\"1000\"))thenrxdf;end if;end if;end process p2;p3:process(clk)variable scir:integer range 0 to 8;variable scis:std_logic_vector(3 downto 0);beginif(clk'event and clk='1')thenif(rxdf='1')thenscir:=scir+1;elsescir:=0;end if;end if;scis:=conv_std_logic_vector(scir,4);count;end process p3;p4:process(clk)begincase 。vhdl怎么表示8位左右移位寄存器? 首先2113,一个8位的移位寄存器不应该这么写。其次5261里面有好些错误,我先4102给你个正确的寄存器1653的思路:entity shift8 isport(d,clk:in std_logic;b:out std_logic_vector(7 downto 0)end entity shift8;architecture rtl of shift8 issignal b_s:std_logic_vector(7 downto 0);beginprocess(clk)beginif rising_edge(clk)thenb_s(6 downto 0)&d;左移或者 b_s(7 downto 1);右移end if;b;end process;end rtl;上面才是正确的以为寄存器的VHDL写法。我建议你把我的代码综合以后用软件看看RTL图,你就会理解VHDL描述的东西都可以转化为逻辑电路,不能用写C的思维来写VHDL。另外附加一句建议,SHARED VARIABLE,VARIABLE等最好不要在你的逻辑电路设计中使用,用也只在TESTBENCH中使用,因为在片上,VARIABLE什么都不是,是无法被综合成电路的一部分的。希望能帮到你用vhdl语言实现8位并转串电路和串转并电路,求大神指导!!急用!! library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity sc isport(clk,rxd:in std_logic;data:out std_logic_vector(7 downto 0));end sc;architecture rt8251 of sc issignal count:std_logic_vector(3 downto 0):=\"0000;signal do_latch:std_logic_vector(7 downto 0);signal d_fb:std_logic_vector(9 downto 0);signal rxdf:std_logic;signal rdfull:std_logic:='0';begindata;P1:process(clk)beginif(clk'event and clk='1')thenif((rxdf='1')and(count=\"1000\"))thendo_latch(7 downto 0)(7 downto 0);rdfull;end if;end if;end process p1;p2:process(clk)beginif(clk'event and clk='1')thenif(rxd='0')thenrxdf;elsif((rxdf='1')and(count=\"1000\"))thenrxdf;end if;end if;end process p2;p3:process(clk)variable scir:integer range 0 to 8;variable scis:std_logic_vector(3 downto 0);beginif(clk'event and clk='1')thenif(rxdf='1')thenscir:=scir+1;elsescir:=0;end if;end if;scis:=conv_std_logic_vector(scir,4);count;end process p3;p4:process(clk)begincase count iswhen。用vhdl语言把八位二进制转换为十进制,怎么输出的是十六进制啊 首先我们要明确我们要干什么。我猜你是想把二进制码转成十进制的BCD码。如果你是这么想的话,那你低估这个问题的复杂程度了。你的程序我仿真的时候有点问题(可能是我的ISE。用VHDL设计一个五位二进制如何转换为十进制的程序? 很简单,VHDL里面有一个二进制转十进制函数CONV_IETEGER(),在UNSIGNED这个程序包里,打开它用就是了,程序如下,LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TURN2_10 ISPORT(A:IN STD_LOGIC_VECTOR(4 DOWNTO 0);B:OUT INTEGER RANGE 0 TO 32);END;ARCHITECTURE ART OF TURN2_10 ISBEGINB(A);END;如何用VHDL把两个8位数据变成一个8位数据? library IEEE;use IEEE.STD_LOGIC_1164.ALL;use ieee.std_logic_arith.all;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity aaa isPort(clk:in std_logic;636f7079e799bee5baa6e997aee7ad9431333264663665 a:in std_logic_vector(7 downto 0);b:in std_logic_vector(7 downto 0);c:out std_logic_vector(7 downto 0)end aaa;architecture Behavioral of aaa isbeginprocess(clk)variable e,f,g:integer range 0 to 100;beginif(clk' event and clk='1')thene:=conv_integer(a);将这两个输入的8位2进制数字变成十进制f:=conv_integer(b);g:=e*10+f;十位数字X10+个位数字就满足了你的要求c(g,8);再转换回2进制然后输出end if;end process;end Behavioral;这样就可以了,下边是我仿真的图串并转换,是通过什么原理实现的啊?比如把并行数据转换成串行数据:将四个码元周期均为4s的并行数字信号进行并—串转换,转换后,在一个周期(4s)内,将有4个码元被串行。
随机阅读
- 汽车刹车片间隙如何自调 刹车片与刹车盘间隙调的多少合适
- 赤水市元厚镇林业工作站 贵州赤水元厚镇:未到年龄生了两个小孩发款多少:
- 巫师3各个流派哪个最厉害? 巫师3 战斗 加点
- 讨四海之内才 我部悍将刘三刀,三刀之内必斩吕布于马下 是谁说的???
- ( )是将评估对象剩余寿命期间每年(或每月)的预期收益,用适当的折现率折现,累加得 预期寿命评估方法
- 社会主义核心价值观与中华民族精神的关系是怎样的 学习《中华民族文化的当代价值观》
- 当时村子里没有水井怎么加标点 村子里一口地下水井做成了化粪池,里面没有做如何处理,离我家的水井最多也就只有50米远。请问会有什
- 马池口村北 朝阳门到昌平马池口村
- 地铁站距离城市运动公园哪个门近? 城市运动公园地铁站
- “春风又绿江南岸,明月何时照我还”中的“绿”字让我们想到什么? 赏析春风又绿江南岸明月何时照我还的妙处
- 带负电荷的胶体
- 走马镇的乡镇简介 走马街镇经济
- 怎样去除地板上的路丁? 二七横路丁源火锅
- 亚历山大鹦鹉毛不好看 亚历山大鹦鹉是缅甸的好还是越南的好?说话,体型,毛色等。
- 汉中适合夏天带小孩子玩的地方 汉中有什么适合小孩子玩的景点吗?
- 在美国买苹果正版的MP4和笔记本电脑会比中国苹果正版店便宜多少? 纽约买苹果电脑购物税
- 物联网的核心技术是什么? 资源块 索引 lte
- 衡水市水乐方游泳馆 保定的历史文化
- 公务员体检结束多久开始政审,政审结束多久开始公示? 档案管理员怎么放愤怒
- 男生怎么看待在 KTV 陪酒的女生? 小姐灌酒毛拔光