R
Rafal Pietrak
Guest
Hi All,
I have some experience in programming (software). Now, I fetched some
books and some sources from the internet, and for my week-end
entertainment, I try to get my first experience in HDL design.... and I
fail so miserably here. HELP! pls
Below you'll find a skeleton of my 'processor' design. What I've tried to
achieve here is a 'two-stage' buffering: data is fetched on falling clock
edge, and outputed on rising edge. So to say: two D-FlipFlop in series,
but their clock signals in opposite phases (clock provided to one FF is
negated before it serves the other FF).
But WebPACK says, it cannot synthesize the TMP signal!! Why??
Is such simple circuit not implementable in FPGA at all?? Well, I know,
that dome CPLD *may* have just one polarity of clock available, but
WebPACK fails at synthesize stage here.
Any hints how can I achieve this sort of 'DoubleDataRate'?
--------------------------------------------------------
entity master is
Port ( data : inout std_logic_vector(3 downto 0);
addr : out std_logic_vector(7 downto 0); rd : out std_logic;
wr : out std_logic;
ale : out std_logic;
clk : in std_logic;
reset : in std_logic);
end master;
architecture Behavioral of master is
signal tmp: std_logic_vector(7 downto 0);
begin
process(clk,reset)
begin
if reset = '0' then
rd <= 'Z';
wr <= 'Z';
ale <= 'Z';
tmp <= (others => '0');
elsif rising_edge(clk) then
addr <= tmp;
elsif falling_edge(clk) then
tmp <= "0000" & data;
end if;
end process;
end Behavioral;
I have some experience in programming (software). Now, I fetched some
books and some sources from the internet, and for my week-end
entertainment, I try to get my first experience in HDL design.... and I
fail so miserably here. HELP! pls
Below you'll find a skeleton of my 'processor' design. What I've tried to
achieve here is a 'two-stage' buffering: data is fetched on falling clock
edge, and outputed on rising edge. So to say: two D-FlipFlop in series,
but their clock signals in opposite phases (clock provided to one FF is
negated before it serves the other FF).
But WebPACK says, it cannot synthesize the TMP signal!! Why??
Is such simple circuit not implementable in FPGA at all?? Well, I know,
that dome CPLD *may* have just one polarity of clock available, but
WebPACK fails at synthesize stage here.
Any hints how can I achieve this sort of 'DoubleDataRate'?
--------------------------------------------------------
entity master is
Port ( data : inout std_logic_vector(3 downto 0);
addr : out std_logic_vector(7 downto 0); rd : out std_logic;
wr : out std_logic;
ale : out std_logic;
clk : in std_logic;
reset : in std_logic);
end master;
architecture Behavioral of master is
signal tmp: std_logic_vector(7 downto 0);
begin
process(clk,reset)
begin
if reset = '0' then
rd <= 'Z';
wr <= 'Z';
ale <= 'Z';
tmp <= (others => '0');
elsif rising_edge(clk) then
addr <= tmp;
elsif falling_edge(clk) then
tmp <= "0000" & data;
end if;
end process;
end Behavioral;