有报酬 请高手给看看这些程序 给注释下
触发器一 COMPONENT dff1:设计有置位端pset,没有清零端clrLIBRARY IEEE;
USE IEEE STD_LOGIC_1164.ALL;
ENTITY dff1 IS
PORT(clk,d,pset:IN STD_LOGIC;
q1,q2:OUT STD_LOGIC);
END dff1;
ARCHITECTURE rtl OF dff1 IS
BEGIN
PROCESS(clk,pset)
BEGIN
IF(pset ='0')THEN
q1<='1';
q2<='0';
ELSIF (clk='0' AND clk='1')THEN
q1<=d;
q2<=NOT d;
END IF;
END PROCESS;
END rtl;
触发器二 COMPONENT dff2:设计有清零端clr,没有置位端pset
LIBRARY IEEE;
USE IEEE STD_LOGIC_1164.ALL;
ENTITY dff2 IS
PORT(clk,d,reset:IN STD_LOGIC;
q1,q2:OUT STD_LOGIC);
END dff2;
ARCHITECTURE rtl OF dff2 IS
BEGIN
PROCESS(clk,reset)
BEGIN
IF(pset ='0')THEN
q1<='0';
q2<='1';
ELSIF (clk='0' AND clk='1')THEN
q1<=d;
q2<=NOT d;
END IF;
END PROCESS;
END rtl;
八循环移位寄存器:
LIBRARY IEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITY shift IS
PORT (clk,reset:IN STD_LOGIC;
Q:OUT STD_LOGIC_VECTOR (4 DOWNTO 0));
END shift;
ARCHITECTUREgen_shift OF shift IS
COMPONENT dff1
PORT (d,clk,pset:IN STD_LOGIC;
q0:OUT STD_LOGIC);
END COMPONENT;
COMPONENT dff2
PORT (d,clk,clr:IN STD_LOGIC;
q0:OUT STD_LOGIC);
END COMPONENT;
SIGNALz:STD_LOGIC_VECTOR (4 DOWNTO 0);
BEGIN
u1:dff1 PORT MAP (z(4),clk,reset,z(0));
go: FOR i IN 0 TO 3 GENERATE
u2:dff2PORT MAP (z(i),clk,reset,z(i+1));
END GENERATE;
g1:FOR j IN 0 TO 4 GENERATE
Q(j)<=z(j);
END GENERATE;
END gen_shift; 注释一下??!!
先给你画个大叉
你这程序哪里来的?
不会是回家作业吧?
自己不会做,抄了同学的?
你可知道你抄的这位同学,答案也做错了? 请大侠指导下啊 你把程序编译一下看看对不对再开仿真;错误的程序 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY dff1 IS
PORT(clk,d,pset:IN STD_LOGIC;--定义端口
q1,q2:OUT STD_LOGIC);
END dff1;
ARCHITECTURE rtl OF dff1 IS
BEGIN
PROCESS(clk,pset) --敏感列表
BEGIN
IF(pset ='0')THEN --如果pset=0 ,则q1输出1 q2输出0
q1<='1';
q2<='0';
ELSIF (clk'event AND clk='1')THEN-- 否则即pset=1 q1输出d值,q2输出d的非值
q1<=d;
q2<=NOT d;
END IF;
END PROCESS;
END rtl; --功能: 带正反相(q1,q2)输出可置位(pset)的D触发器,
--当置位信号有效(0)时,q1输出1,q2输出0;
--否者(即pset无效 即1) q1输出输入端d的值,q2输出输入端d的非值;
LIBRARY IEEE; --这个根本没有清零 还是异步置位;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY dff2 IS
PORT(clk,d,reset:IN STD_LOGIC;
q1,q2:OUT STD_LOGIC);
END dff2;
ARCHITECTURE rtl OF dff2 IS
BEGIN
PROCESS(clk,reset)
BEGIN
IF(reset ='0')THEN
q1<='0';
q2<='1';
ELSIF (clk'event AND clk='1')THEN
q1<=d;
q2<=NOT d;
END IF;
END PROCESS;
END rtl;
上面2个代码没有问题,置位后的值不一样,01和10 四楼代码看上去没问题 呵呵,这个时候,要给报酬的注释代码,肯定是毕业设计咯! 是啊 四楼的大哥怎么能联系你啊 指点小弟下啊 547924947我的QQ 如果可以加我下 不要帮这种人。
页:
[1]