En primer lugar, no me queda claro por qué está utilizando unsigned type para vectores de un bit. Sin embargo, su declaración if generará un error en tiempo de compilación si lo escribe de esa manera. La forma correcta de escribir la misma declaración if usando el tipo unsigned será,
IF (in_adc_1 = "1" and in_adc_2 = "1") THEN
El "1" (entre comillas dobles) representa un vector de un solo bit .
La segunda declaración if proporcionada por usted en la sección de comentarios lee
IF (in_adc_1 and in_adc_2 := 1) . Nuevamente, esto tendrá que ser modificado de la siguiente manera, para que la declaración se compile correctamente.
IF ((in_adc_1 and in_adc_2) = "1") THEN
Ambas formas de AND-ing son correctas en lo que respecta a las herramientas de compilación.
Sin embargo, puede usar los tipos std_logic o bit para lograr la misma funcionalidad (como se señala en los comentarios). En este caso, la instrucción if anterior se debe volver a escribir como,
IF (in_adc_1 = '1' and in_adc_2 = '1') THEN
o como
IF ((in_adc_1 and in_adc_2) = '1') THEN
El '1' (en comillas simples) es un solo bit cuando la señal es de tipo std_logic o bit .
Nota: En VHDL, := se usa para asignaciones de variables o para proporcionar valores iniciales