Forum Discussion
Altera_Forum
Honored Contributor
13 years agoHi Guys,
I'm having a problem related to what you described as a solution to running RTL simulations for schematics. I used quartus to generate a file of my schematic, added it to the project and made it top level entity. But, it seems to have mixed up the types. As when I go to simulate I get the following error: ** Failure: (vsim-3807) Types do not match between component and entity for port "oPERIOD_REG". On further examination, I noticed that the generated file has different types to that specified in my code... the port declararion in my code is: port ( iRESET : in STD_LOGIC; iCLK : in STD_LOGIC; iRST_DATA_CLK : in STD_LOGIC; iRST_DATA_IN : in STD_LOGIC; iRST_DATA_LTCH : in STD_LOGIC; iRUN_FLAG_CLR : in STD_LOGIC; --iTX_notRX : in STD_LOGIC; -- default to 0 for RX, if 1 then in TX mode oPERIOD_REG : out integer range 0 to 16777215; oPULSE_WIDTH_REG : out integer range 0 to 65535; oCYCLES_REG : out integer range 0 to 255; oLATCH_PWM_REGISTERS : out STD_LOGIC; oRUN_FLAG : out STD_LOGIC ); but the generated file has used STD_LOGIC_VECTORS instead : COMPONENT rst_comms GENERIC (NUM_STAGES : INTEGER ); PORT(iRESET : IN STD_LOGIC; iCLK : IN STD_LOGIC; iRST_DATA_CLK : IN STD_LOGIC; iRST_DATA_IN : IN STD_LOGIC; iRST_DATA_LTCH : IN STD_LOGIC; iRUN_FLAG_CLR : IN STD_LOGIC; oLATCH_PWM_REGISTERS : OUT STD_LOGIC; oRUN_FLAG : OUT STD_LOGIC; oCYCLES_REG : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); oPERIOD_REG : OUT STD_LOGIC_VECTOR(23 DOWNTO 0); oPULSE_WIDTH_REG : OUT STD_LOGIC_VECTOR(15 DOWNTO 0) ); END COMPONENT; why would this happen? and what can i do about it? many thanks A VHDL novice.