vhdl怎麼看編譯錯在哪
❶ vhdl編程中遇到編譯的問題,各模塊模擬成功,頂層設計出錯,求高手指點,有哪些常出錯點
就表面看報錯提示的很清楚,你有一些變數調用錯名了,導致編譯認為你沒定義。(如變數d)--> u1:adc_state port map (datain(7 downto 0)=>d(7 downto 0)。
而實際的錯誤確是,你的元件例化語法使用錯了。你的子元件和頂層元件埠書寫前後反了;應改為:
u1:adc_state port map (d(7 downto 0)=>datain(7 downto 0) ……後邊同理。
改改試試吧!
❷ VHDL 代碼 求指導哪錯了
variable 定義的變數必須是在process中的,
process或者always框架中的賦值語句, 被賦值的一定要是寄存器型的變數!variable不是寄存器型的。 可以用signal代替
❸ VHDL程序
std_logic_vector type does not match integer literal這個錯誤是說std_logic_vector類型與整形不匹配 主要原因是因為你的q1<= q1+1這句 std_logic_vector不能直接做加法運算。需要先轉換成整型,運算之後再轉換回來,這需要調用conv_integer 和 conv_std_logic_vector這兩個函數。
至於其他還有很多語法錯誤 不多贅述 我在程序中直接給你做了更改 注意if的匹配
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL; --添加一個庫 使用它裡面的函數
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY cnt315 IS
PORT(clk , clrn : IN STD_LOGIC;
q : out std_logic_vector(11 downto 0)); --定義十二位
END cnt315;
ARCHITECTURE one OF cnt315 IS
SIGNAL q1 : STD_LOGIC_VECTOR (3 downto 0);
SIGNAL q2 : STD_LOGIC_VECTOR (3 downto 0);
SIGNAL q3 : STD_LOGIC_VECTOR (3 downto 0);
BEGIN
PROCESS(clk,clrn)
--variable cnt : INTEGER RANGE 0 TO 315;不知道你設這個變數幹嘛
begin
if(clrn = '1') then
q1<= "0000";
q2<= "0000";
q3<= "0000";
elsif(clk'EVENT AND clk = '1') then
if q1= "0100" and q2= "0001" and q3= "0011" then
q1<= "0000" ;
q2<= "0000" ;
q3<= "0000" ;
elsif q1="1001" then
q1<= "0000";
if q2 = "1001" then
q2<= "0000";
q3<= conv_logic_vector(conv_integer(q3) + 1,4); --conv_logic_vector(x,y) x是value y是size
else
q2<= conv_logic_vector(conv_integer(q2) + 1,4);
end if;
else
q1<= conv_logic_vector(conv_integer(q1) + 1,4);
end if;
q <= q3&q2&q1;
end if;
end process;
end one;
❹ 求VHDL的高手吶!!!!!!!請問這里哪裡錯了啊
VARIABLE CQI: STD_LOGIC_VECTOR(15 DOWNTO 0);
放到process裡面,
ELSE CQI:=(OTHERS => NULL);句的NULL改成'0'。
沒分你說個毛啊。
❺ VHDL程序查錯
subprogram error;can』t interpret subprogram call 的意識是不能調用子程序。你的程序沒有錯誤,可能是你某個程序包沒打開。我在我的電腦中執行了你的程序。沒有錯誤,可以正常編譯。建議在程序的開始加上程序包。具體如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
❻ 幫忙看看這段VHDL程序哪裡有錯,編譯了好久就是不行
報錯原因發上來看看?
BCD_L,M,H在哪裡定義的?。。
state為什麼定義的st0,1,2,3,可是下面寫的都是s0,1,2,3、、、
❼ Quartus II 寫vhdl語言,最後編譯時出現下面那個錯誤,求高手解釋
錯誤:設計文本語法錯誤。設計文本包含標識符,該標志符不應為 ASSERT, CONSTANT, DEFINE, DESIGN, FUNCTION, OPTIONS, PARAMETERS, SUBDESIGN, 或者 TITLE 。
❽ VHDL編譯出現錯誤 ,具體如下:
stop 沒有定義 信號沒有賦值給埠