Converter tipo de estado para std_logic_vector

G

grubby23

Guest
Oi tudo, defini meu estado da seguinte forma: tipo tipo_dado_estado é (s0, s1, s2, s3); estado do sinal: tipo_dado_estado; Agora eu gostaria de usar este informações do estado para formar outros dados de sinal de sinal: std_logic_vector (3 downto 0 ); sinal data_plus_state: std_logic_vector (5 downto 0); .... data_plus_state
 
Oi, você pode simplesmente criar um outro sinal, vamos dizer "state_code" e atribuí-lo da seguinte forma:
Code:
 state_code
 
Você tem que estar ciente de que o synthesisor vai escolher é a codificação próprio estado para você - e isso eu assumo é para informações de depuração? Se você realmente precisar a codificação colocada em estado de dados, por que não usar um std_logic_vector em primeiro lugar definir os estados? Depois, você pode concatenar-lo como quiser, sem um mux que shnain criou. Se você usar um tipo de estado padrão, o synthesisor vai escolher a codificação para você, então ele terá que decodificá-lo para adicionar suas codificações estaduais pessoais para os dados.
Code:
 state_t subtipo é std_logic_vector (1 downto 0); S0 constante: state_t: = "00"; constante S1: state_t: = "01"; .... estado etc sinal: state_t; .... data_plus_state
 
Para utilizar o seu esquema de codificação própria definir o algoritmo de fsm como "USUÁRIO" e declarar os estados como "00,01,10,11" com o uso de "enum_encoding" .. Ele será parecido com este: tipo_dado_estado tipo é (S1, S2, S3, S4); atributo ENUM_ENCODING de tipo_dado_estado: tipo é "00 01 10 11"; Especialistas verifique se eu ter escrito a coisa correta ou não. Eu não estou totalmente certo sobre isso. - Vipin [url = http://vhdlguru.blogspot.com/] VHDL codificação dicas e truques [/url]
 
provavelmente você pode fazer isso, mas isso não ajuda em concatenando-a com outro std_logic_vector.
 

Welcome to EDABoard.com

Sponsor

Back
Top