열거 형에서 비트 너비는 어떻게 유지합니까? 시스템 베로 로그의 열거 형에서 비트 너비 유지
다음 코드에서 예를 들어 : - 10나는 또한 시도 내가 인쇄 인쇄 2 첫 번째 명령문으로 얻을 수있는 방법
typedef enum bit[2:0] {
b1=2'b10,
b2=3'b100
}b;
{// regular stuff module, initial begin etc..
b a1,a2;
a1=b1;
a2=b2;
$display("b=%0d %b",$bits(a1),a1); **// prints 3, 010**
$display("b=%0d %b",$bits(a2),a2); **// prints 3, 100**
}
는 다음 -
typedef enum {
w1=2,
w2=3
}w;
w wa1,wa2;
int len,len2;
bit [3:0] bb;
{
bb=a1;
len=w1;
$display("b=%0d %b",$bits(bb[len:0]),wa1);
enter code here
bb=a2; len=w2;
$display("b=%0d %b",$bits(bb[len:0]),wa2);
}
하는 문제을 (를) 컴파일했습니다.
변수/열거 형의 비트 너비를 보존하는 다른 기술도 환영합니다.
-------------- 원래의 질문에 후 편집은 -----------------
넣어 간단한 방법을 게시 이 질문은 ..
내가 비트 [31 : 0]가 있다고 가정하자.
나는 다음과 같은 기능을 달성해야합니다 -
function bit[] get(bit[31:0] a, int size)
return a[(size-1):0];
덕분에,
은'enum'이 목적에 사용할 수 없습니다. –