BCD到条形图解码器vhdl设计代码
输入表示0和9之间的二进制值。有九项产出。每个输出驱动一个LED。当输出为0时,其相关LED亮起。当它为1时,其相关LED熄灭。LED堆叠在垂直条中。顶部LED由条形图(8)驱动,底部LED由条形图(0)驱动 我已经在这里粘贴了我的代码,它有一些错误,我不确定这是否是正确的方法BCD到条形图解码器vhdl设计代码,vhdl,hdl,Vhdl,Hdl,输入表示0和9之间的二进制值。有九项产出。每个输出驱动一个LED。当输出为0时,其相关LED亮起。当它为1时,其相关LED熄灭。LED堆叠在垂直条中。顶部LED由条形图(8)驱动,底部LED由条形图(0)驱动 我已经在这里粘贴了我的代码,它有一些错误,我不确定这是否是正确的方法 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; entity bcd_2_bar is port (bcd : in
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
entity bcd_2_bar is
port (bcd : in std_logic_vector (3 downto 0);
bar_graph : out std_logic_vector (8 downto 0));
end bcd_2_bar;
architecture test of bcd_2_bar is
begin
bar_graph<="111111111" when "0000" else
bar_graph<="111111110" when "0001" else
bar_graph<="111111100" when "0010" else
bar_graph<="111111000" when "0011" else
bar_graph<="111110000" when "0100" else
bar_graph<="111100000" when "0101" else
bar_graph<="111000000" when "0110" else
bar_graph<="110000000" when "0111" else
bar_graph<="100000000" when "1000" else
--nothing is displayed when number greater than nine.
bar_graph<="111111111" when others;
end test;
IEEE库;
使用IEEE.STD_LOGIC_1164.ALL;
使用IEEE.STD_LOGIC_ARITH.ALL;
实体bcd_2_条为
端口(bcd:标准逻辑向量(3到0);
条形图:输出标准逻辑向量(8到0);
端部bcd_2_条;
bcd_2_条的结构测试是
开始
条形图您尚未编写格式正确的语句。您可以执行以下操作之一:
bar_graph <= "111111111" when bcd = "0000" else
"111111110" when bcd = "0001" else
"111111100" when bcd = "0010" else
"111111000" when bcd = "0011" else
"111110000" when bcd = "0100" else
"111111111";
条形图您尚未编写格式正确的语句。您可以执行以下操作之一:
bar_graph <= "111111111" when bcd = "0000" else
"111111110" when bcd = "0001" else
"111111100" when bcd = "0010" else
"111111000" when bcd = "0011" else
"111110000" when bcd = "0100" else
"111111111";
条形图或类似的东西
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std_unsigned.all;
entity bcd_2_bar is
generic (
led_on : std_logic := '0');
port (
bcd : in std_logic_vector(3 downto 0);
bar_graph : out std_logic_vector(8 downto 0));
end entity bcd_2_bar;
architecture rtl of bcd_2_bar is
begin
led_driver: process (bcd) is
begin
for led in bar_graph'range loop
bar_graph(led) <= not led_on when bcd > bar_graph'length else
led_on when led < bcd else
not led_on;
end loop;
end process led_driver;
end architecture rtl;
ieee库;
使用ieee.std_logic_1164.all;
使用ieee.numeric\u std\u unsigned.all;
实体bcd_2_条为
一般的(
led_开启:标准_逻辑:=“0”);
港口(
bcd:标准逻辑向量(3到0);
条形图:输出标准逻辑向量(8到0);
结束实体bcd_2_条;
bcd_2_bar的体系结构rtl是
开始
led_驱动程序:进程(bcd)为
开始
用于条形图范围回路中的led
条形图(led)条形图的长度
当led
或类似的内容
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std_unsigned.all;
entity bcd_2_bar is
generic (
led_on : std_logic := '0');
port (
bcd : in std_logic_vector(3 downto 0);
bar_graph : out std_logic_vector(8 downto 0));
end entity bcd_2_bar;
architecture rtl of bcd_2_bar is
begin
led_driver: process (bcd) is
begin
for led in bar_graph'range loop
bar_graph(led) <= not led_on when bcd > bar_graph'length else
led_on when led < bcd else
not led_on;
end loop;
end process led_driver;
end architecture rtl;
ieee库;
使用ieee.std_logic_1164.all;
使用ieee.numeric\u std\u unsigned.all;
实体bcd_2_条为
一般的(
led_开启:标准_逻辑:=“0”);
港口(
bcd:标准逻辑向量(3到0);
条形图:输出标准逻辑向量(8到0);
结束实体bcd_2_条;
bcd_2_bar的体系结构rtl是
开始
led_驱动程序:进程(bcd)为
开始
用于条形图范围回路中的led
条形图(led)条形图的长度
当led
您需要检查“条件赋值语句”的正确语法。您需要检查“条件赋值语句”的正确语法。