请问如何用vhdl 编写8位程序计数器PC
2个回答
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
展开全部
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity PC is
PORT (
CPU_BUS: inout std_logic_vector(7 downto 0);
WRITE_EN: in std_logic;
ADD:IN STD_LOGIC;
READ_EN:IN STD_LOGIC;
CLK: in std_logic
);
end PC;
architecture ONE of PC is
SIGNAL DATA:STD_LOGIC_VECTOR(7 DOWNTO 0):=X"00";
begin
process (CLK,WRITE_EN)
BEGIN
IF CLK'EVENT AND CLK='0' THEN
IF WRITE_EN='1' THEN
DATA<=CPU_BUS;
elsif ADD='1' THEN
DATA<=DATA+X"01";
END IF;
END IF;
END PROCESS;
CPU_BUS<=DATA WHEN READ_EN='1' ELSE
"ZZZZZZZZ";
end ONE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity PC is
PORT (
CPU_BUS: inout std_logic_vector(7 downto 0);
WRITE_EN: in std_logic;
ADD:IN STD_LOGIC;
READ_EN:IN STD_LOGIC;
CLK: in std_logic
);
end PC;
architecture ONE of PC is
SIGNAL DATA:STD_LOGIC_VECTOR(7 DOWNTO 0):=X"00";
begin
process (CLK,WRITE_EN)
BEGIN
IF CLK'EVENT AND CLK='0' THEN
IF WRITE_EN='1' THEN
DATA<=CPU_BUS;
elsif ADD='1' THEN
DATA<=DATA+X"01";
END IF;
END IF;
END PROCESS;
CPU_BUS<=DATA WHEN READ_EN='1' ELSE
"ZZZZZZZZ";
end ONE;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询