帮忙用VHDL语言编写一段CPLD的程序,其功能如下:

输入:s,m,a,b,c,clk时钟输出:lm上升沿,两种条件,①当m=0时,lm=s的值(无论a,b,c为多少)②当m=1时,a=b=c=0时,lm=1a,b,c为其它... 输入:s,m,a,b,c,clk时钟
输出:lm
上升沿,两种条件,
①当m=0时,lm=s的值(无论a,b,c为多少)
②当m=1时,a=b=c=0时,lm=1
a,b,c为其它时,lm=0
展开
 我来答
sunyzz2
2011-07-15 · TA获得超过126个赞
知道答主
回答量:98
采纳率:0%
帮助的人:68.1万
展开全部
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
use ieee.numeric_std.all;

entity body is
port(
clk : in std_logic;
s : in std_logic;
m : in std_logic;
a : in std_logic;
b : in std_logic;
c : in std_logic;
lm : out std_logic
);
end body;

architecture behave of body is
begin
process(clk,m,a,b,c)
begin
if m='0' then
lm<=m;
elsif clk'event and clk='1' then
if a='0' and b='0' and c='0' then
lm<='1';
else
lm<='0';
end if;
end if;
end process;
end behave;
追问
XD 再帮个忙,帮我看看
要求如下:
输入:clk,m,s,a,b,c,
输出:d,e,f
当m=1时,d,e,f =clk(让输出跟时钟频率一样,每1秒闪一下)
当m=0时,如果a=0 b=0 c=0则d=s
如果a=1 b=o c=1则e=1
如果a=0 b=1 c=0则f=1
其它d=1
麻烦帮我用WHEN语句写,总觉得这种情况并列的比较好。小弟感激不尽!分完了我给你!
追答
写程序和说话一样的,理清思路,就是换种语言表达想法而已,就好像你用英文说hello,你应该尝试着自己写的,应为你不可能永远靠别人的,网上找些vhdl的书籍,看看,写些基本语句还是很容易的,兄弟!!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式