dspmatlab 发表于 2011-7-22 11:45:13

回复 10# njithjw


    实在找不到 呵呵

njithjw 发表于 2011-7-22 21:39:46

signal reg1: stdlogic;
attribute preserve: boolean;
attribute preserve of reg1: signal is true;

dspmatlab 发表于 2011-7-25 08:50:38

本帖最后由 dspmatlab 于 2011-7-25 10:22 编辑

回复 12# njithjw
都试过 不行的 不知道程序有问题不 发上来请指正谢谢


延时译码程序:
LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY e IS
PORT(D:IN STD_LOGIC;
       CLK:IN STD_LOGIC;
           Q:OUT STD_LOGIC);
END e;
ARCHITECTURE behav OF e IS
BEGIN
PROCESS(CLK)
BEGIN
    IF(CLK'EVENT AND CLK='1') THEN Q<=D;
    END IF;
END PROCESS;
END behav;


LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY not_not IS
PORT(n:IN STD_LOGIC;
           t:OUT STD_LOGIC);
END not_not;
ARCHITECTURE behav OF not_not IS
signal not1:std_logic;
BEGIN
    not1<=not(n);
    t<=not(not1);   
END behav;


LIBRARY ieee;
USE ieee.std_logic_1164.all;
LIBRARY work;
ENTITY yimays IS
PORT(beg: IN STD_LOGIC;
        end1: IN STD_LOGIC;
           O: OUT STD_LOGIC_VECTOR(3 DOWNTO 0));       
END yimays;

ARCHITECTURE behav OF yimays IS
COMPONENT e IS
    PORT(D,CLK:IN std_logic;
             Q:OUT std_logic);
END COMPONENT;
COMPONENT not_not IS
        PORT(n : IN STD_LOGIC;
               t : OUT STD_LOGIC);
END COMPONENT;
SIGNAL Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8,Q9,Q10,Q11,Q12,Q13,Q14,Q15,out1,out2,out3,out4,out5,out6,out7,out8,out9,out10,out11,out12,out13,out14,out15:std_logic;
attribute preserve : boolean;
attribute preserve of out1,out2,out3,out4,out5,out6,out7,out8,out9,out10,out11,out12,out13,out14,out15 : signal is true;
BEGIN
U1: not_not PORT MAP(beg,out1);
U2: not_not PORT MAP(out1,out2);
U3: not_not PORT MAP(out2,out3);
U4: not_not PORT MAP(out3,out4);
U5: not_not PORT MAP(out4,out5);
U6: not_not PORT MAP(out5,out6);
U7: not_not PORT MAP(out6,out7);
U8: not_not PORT MAP(out7,out8);
U9: not_not PORT MAP(out8,out9);
U10: not_not PORT MAP(out9,out10);
U11: not_not PORT MAP(out10,out11);
U12: not_not PORT MAP(out11,out12);
U13: not_not PORT MAP(out12,out13);
U14: not_not PORT MAP(out13,out14);
U15: not_not PORT MAP(out14,out15);
U16: e PORT MAP(out1,end1,Q1);
U17: e PORT MAP(out2,end1,Q2);
U18: e PORT MAP(out3,end1,Q3);
U19: e PORT MAP(out4,end1,Q4);
U20: e PORT MAP(out5,end1,Q5);
U21: e PORT MAP(out6,end1,Q6);
U22: e PORT MAP(out7,end1,Q7);
U23: e PORT MAP(out8,end1,Q8);
U24: e PORT MAP(out9,end1,Q9);
U25: e PORT MAP(out10,end1,Q10);
U26: e PORT MAP(out11,end1,Q11);
U27: e PORT MAP(out12,end1,Q12);
U28: e PORT MAP(out13,end1,Q13);
U29: e PORT MAP(out14,end1,Q14);
U30: e PORT MAP(out15,end1,Q15);
O(0)<=(Q1 XOR Q2)OR(Q3 XOR Q4)OR(Q5 XOR Q6)OR(Q7 XOR Q8)OR(Q9 XOR Q10)OR(Q11 XOR Q12)OR(Q13 XOR Q14)OR Q15;
O(1)<=(Q2 XOR Q3)OR(Q3 XOR Q4)OR(Q6 XOR Q7)OR(Q7 XOR Q8)OR(Q10 XOR Q11)OR(Q11 XOR Q12)OR(Q14 XOR Q15)OR Q15;
O(2)<=(Q4 XOR Q5)OR(Q5 XOR Q6)OR(Q6 XOR Q7)OR(Q7 XOR Q8)OR(Q12 XOR Q13)OR(Q13 XOR Q14)OR(Q14 XOR Q15)OR Q15;
O(3)<=(Q8 XOR Q9)OR(Q9 XOR Q10)OR(Q10 XOR Q11)OR(Q11 XOR Q12)OR(Q12 XOR Q13)OR(Q13 XOR Q14)OR(Q14 XOR Q15)OR Q15;
END behav;

dspmatlab 发表于 2011-7-26 16:59:36

谁来帮我看看吗?这程序

lj916102 发表于 2011-7-27 10:05:19

我觉得还是直接例化CELL比较好!

dspmatlab 发表于 2011-7-27 10:55:30

回复 15# lj916102


    测试发现使用非门和lcell的延时都达到几个ns,和我的需求不合啊,不知该用啥法子了

njithjw 发表于 2011-7-27 21:19:51

VHDL看不懂。
不过个人建议,你的1ns延迟最好是通过时序约束,让布线工具自己来完成时延的调整。而且,如果是同步设计,只要满足时序关系了,为什么一定要调整这1ns,除非是你的时序不满足。如果时序不满足,也是可以通过修改代码来满足时序要求。

dspmatlab 发表于 2011-7-28 10:11:31

回复 17# njithjw


   你好! 我是要计算不到10ns(一个周期10ns)的时长,请问你说的方法应该设置哪一种路径?请指点

dspmatlab 发表于 2011-7-30 11:46:02

我使用新的算法了
页: 1 [2]
查看完整版本: quartus利用两个非门串联实现延时问题