- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi..
I have made simple 13 bit counter code.But its not working.I could not able to find any solution. library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_unsigned.all; architecture behav of FA_calc is signal counter : std_logic_vector(12 downto 0) := "0000000000000"; signal clkenable : std_logic; begin clkdiv : process(clk) begin if clk = '1' and clk'event and clkenable = '1' then counter <= counter + 1; end if; end process; trans : process(counter) begin clkenable <= '1'; if counter = "1101001000000" then ---- ---- end case; counter <= "0000000000000"; clkenable <= '0'; end if; end process trans; Warning :- There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es). Whats should i do for that ??Error is because of unsign number i defined "use IEEE.std_logic_unsigned.all but still warning :( ThanksLink Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--------------------------------------------------------------------------------
clkdiv : process(clk) begin if clk = '1' and clk'event and clkenable = '1' then counter <= counter + 1; end if; end process; THe above if statement is not formed correctly. remove the and clkenable = '1' from the initial if statemetn and place it inside the (clk and clkevent) section. THe altera tool have a language help section forthese type expressions.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page