설계에

K

konradb

Guest
내가 16을 찍어 비트 논리 벡터의 ADC는 ()에서 좋겠어.이것은 AC이다 사인파 ADC가 연결된 편파 ADC의 중간 지점 (예
: 32767)를 중심으로.

서명은 어떻게 정수가 그때와 이후에 체결 논리 벡터 출력 번식을 수행하기 위해 사용이 어떻게 변경합니까?

내가 몇 가지 코드를 아래에 snipets

------------------

라이브러리는 IEEE;
사용 IEEE.Std_Logic_1164.all;
IEEE.Std_Logic_arith.all 사용;
IEEE.Std_Logic_signed.all 사용;

DAT_I : std_logic_vector에서 (15 downto 0);
DAT_O : std_logic_vector (15 downto 0 아웃);

신호 A_int : 정수 범위는 -2147483647 2147483647합니다;
신호 result_int : 정수 범위는 -2147483647 2147483647합니다;A_int "= conv_integer (DAT_I);

Result_int "= (A_int - 32767) * coef_int; - 16 비트 서명 및 번식 변환

DAT_O (15 downto 0) "= conv_std_logic_vector (16) result_int;

------------------

내 서명 DAT_O 줄 이상의 무엇입니까?

나는 다음과 같은 대체해야 하나요?

A_int "= conv_integer ((DAT_I)) 서명;

 
-부터 전환 "이진"두의 MSB가 반전하여 (각각 x XOR "") 대신 -32767 빼서 8000 이루어집니다 보완을 수행 보였다.당신이 후자의 X의 풀 스케일 입력을위한 오버플로 생산 확인하실 수있습니다 "FFFF".

- 결과를 곱하면, 그래서 당신은 잘라내기를 발생시키지 않고 16 비트 출력을 위해 사용할 수 없다 16 coef_int'length 비트하고있다.당신이 아니라 왼쪽에서 16 비트를 선택합니다.coef_int을 체결하는 경우 신호가되면, 그 결과 두 개의 비트를 얻을 로그인.당신이 서명 범위 전체 결과를 확장할 수 채도 논리를 사용해야합니다.

 

Welcome to EDABoard.com

Sponsor

Back
Top