永发信息网

用VHDL编程实现一个器件的功能

答案:1  悬赏:0  手机版
解决时间 2021-04-02 16:02
用VHDL编程实现一个器件的功能
最佳答案
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;
USE ieee.std_logic_unsigned.all;
ENTITY qijian IS
PORT
(
a : IN std_logic_vector(0 to 2);--5=101b
b : IN std_logic_vector(0 to 2);
RST : IN STD_LOGIC;
CLK : IN STD_LOGIC;
EN : IN STD_LOGIC;
T : IN STD_LOGIC;
Y0 : OUT std_logic_vector(0 to 7);
Y1 : OUT std_logic_vector(0 to 7)
);
END qijian;

ARCHITECTURE a OF qijian IS
-- SIGNAL __count_signal_name : INTEGER RANGE 0 TO __count_value;
signal temp_Y0 : std_logic_vector(0 to 5);
signal temp_Y1 : std_logic_vector(0 to 3);
BEGIN
PROCESS (CLK, RST,EN,T)
BEGIN
if(CLK'event and clk = '1') then
IF RST = '1' THEN
temp_Y0 <= "000000";
temp_Y1 <= "0000";

ELSIF(EN = '1') THEN

IF T = '0' THEN

temp_Y0 <= a*a-b;

ELSE

temp_Y1 <= b & '0';

END IF;

END IF;

end if;
END PROCESS;
Y0 <="00" & temp_Y0;
Y1 <="0000" & temp_Y1;
END a;
a、b的数字范围为0到5,二进制就是000-101,所以定义为std_logic_vector(0 to 2);
Y0=a*a-b,就会有6位数,所以temp_Y0 定义为std_logic_vector(0 to 5);
Y1是b的四位数的循环左移,还是4位数,所以temp_Y1 为std_logic_vector(0 to 3);
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
陶器哪里出产的最出名?
曾经的曾经现在的现在以后的以后怎么办```?
女人鼻头圆大好不好,女人鼻头圆大代表什么
区别政府有权威与无权威的标志是A. 政府是否
餐厅管理机制
黑色釉质地砖贴胶带后发白变色如何处理
浏阳大围山都有些什么好玩的,去过的朋友推荐
成语白字开头中间有灰字
FS怎样A人 ?
跪求好心人帮查新加坡签证真伪?是SP的签证 h
蜀山的具体位置在哪啊?
计算:-(+0.5)-(-3又1/4)+2.75-(+7又1/
车辆出了问题4s店迟迟不给维修怎么办
定积分求旋转体的体积和侧表面积时,为什么体
数据库中转换数据类型的几种方法
推荐资讯
现在结婚老婆是第一次的比例大吗?
10KV变电站的体积多大?
丽驰电动汽车(宝应旗舰店)地址在什么地方,想
万古镇的建制沿革
地板下的泡沫板
菜籽油加黄油炒海鲜怎么样
万象物语初始号怎么刷 万象物语初始号攻略推
黄山屯溪坐车到五龙源怎么坐?
已知:如图,O为坐标原点,四边形OABC为矩形
紫薇 龙德是什么
蘑菇街订单怎么取消退订申请退款
家里电压超过220V会不会烧坏家里的电器
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?