삽질매니아

위치로그 태그 방명록

'Gatelevel'에 해당되는 글 1건

  1. 2007/05/02 Excess-3 변환기(컨버터) Verilog(베릴로그) 소스

Excess-3 변환기(컨버터) Verilog(베릴로그) 소스

전공공부 2007/05/02 02:48
Excess-3 Code(Gray Code)란 0~9까지의 BCD코드를 3더한 순서로 나열한것으로

0011,0100,0110....,1100 으로 나오는 것이다.

다른말로는 BCD to Excess 3 Code Converter라고도 하는데 이것을

Verilog HDL을 이용해 3가지 방법 즉,
1. Gate Level Description(게이트 수준기술)
2. Dataflow Description(데이터플로우 수준기술)
3. Behavioral Description(동작 수준기술)
로 나타내면 다음과 같이 코딩할수 있다.

1. Gate Level Description

module BinaryToGray(A,B,C,D,w,x,y,z);
    input A,B,C,D;
    output w,x,y,z;
    wire w1,w2,w3,w4,w5,w6,w7;
    not g1(z,D);
    and g2(w1,D,C);
    or g3(w2,D,C);
    not g4(w3,B);
    not g5(w7,w2);
    or g6(y,w1,w7);
    and g7(w4,w7,B);
    and g8(w5,w2,w3);
    and g9(w6,w2,B);
    or g10(x,w4,w5);
    or g11(w,w6,A);
endmodule


2. Dataflow Description

module BinaryToGray(A,B,C,D,w,x,y,z);
    input A,B,C,D;
  output w,x,y,z;
     assign z = ~D,
            y = (D&C)|(~(C|D)),
            x = ((~(C|D))&B) | ((C|D)&(~B)),
            w = ((C|D)&B)|A;
endmodule


3. Behavioral Description

module BinaryToGray(A,B,C,D,w,x,y,z);
  input A,B,C,D;
  output w,x,y,z;
  reg [3:0] E;
  wire [3:0] state;
  parameter S0=4'b0000, S1=4'b0001, S2=4'b0010, S3=4'b0011, S4=4'b0100,
             S5=4'b0101, S6=4'b0110, S7=4'b0111, S8=8'b1000, S9=4'b1001;
  assign w=E[3], x=E[2], y=E[1], z=E[0];
  assign state[3] = A, state[2] = B, state[1] = C, state[0] = D;
  always @ (state)
  case(state)
     S0 : E = 4'b0011;
     S1 : E = 4'b0100;
     S2 : E = 4'b0101;
     S3 : E = 4'b0110;
     S4 : E = 4'b0111;
     S5 : E = 4'b1000;
     S6 : E = 4'b1001;
     S7 : E = 4'b1010;
     S8 : E = 4'b1011;
     S9 : E = 4'b1100;
     default : E = 4'b0000;
  endcase
endmodule

이렇게 가능하다.

이것을 보면 동작수준 모델이 항상 최선의 선택이 아님을 알수있다.
때로는 다른방법이 더 짧게 코딩이 될수도 있다.
myeva
2007/05/02 02:48 2007/05/02 02:48
top
TAG BCD, Behavioral, Dataflow, Excess-3, Gatelevel, GrayCode, Verilog, Verilog HDL


Trackback[트랙백] 0 : Comment[댓글] 0

Trackback Address :: http://skstar.net/blog/trackback/152

Write a comment


◀ PREV : [1] : NEXT ▶

 


관리자 : 새글쓰기
내가 하는 삽질은 활용이지! 활용이라는것이 어떤건지 보여주겠어~

카테고리

전체 (180)
전공공부 (9)
윈도우활용 (24)
동영상 (4)
휴대기기 (20)
휴대폰 (17)
인터넷 (59)
구글(Google) (3)
도메인(Domain) (26)
웹호스팅(Hosting) (6)
태터툴즈(Tattertools) (11)
신기한서비스 (2)
워드프레스(WordPress) (0)
지름신 (3)
Photos (0)
Macro (0)
일기장 (21)
음악과 함께 (2)
In Houston (3)
닌텐도 DS(NDS) (29)
라디오 (1)
돈이야기 (9)

태그목록

  • sunny99.1 큐~ TS 1440X900 Megapass 방황 Final Fantasy 3 게임 하이얼 부정클릭 CMA통장 휴대폰요금제 V3 네임태그 알렉사 구글댓글 엔토피아 도메인등록 TrafficZ NDS Lite

최근에 올라온 글

  • 옥션 이벤트 - 1회용 손난로(.... (1)
  • JSP 개발을 위한 초고속 셋팅....
  • 웨스턴 유니온(Western Union.... (1)
  • 한국은행이 7월30일에 발표한....
  • 오늘(7월30일) 현물,선물,옵....

최근에 달린 댓글

  • 역시 님은 옥션매니아 엉엉.... 피 2008
  • 늦었지만 여기까지 보냅니다.. myeva 2008
  • 저두 유재석나오느너 너무너.... 잉~ 2008
  • 관리자만 볼 수 있는 댓글입.... 비밀방문자 2008
  • 국민은행, 부산은행, 기업은.... kikiwo 2008

최근에 받은 트랙백

  • 실망스런 닷네임...
    삽질매니아 2008
  • 도메인 및 호스팅 업체인 X네....
    삽질매니아 2008
  • Gmail 알리미.
    블로그를 살리자~!!! 2008
  • 고객실망도 1위 닷네임코리아.
    RERIC.COM 2007
  • 네이버 미수녀?.
    5월의 작은 선인장 2006

글 보관함

  • 2008/12 (2)
  • 2008/08 (1)
  • 2008/07 (4)
  • 2008/05 (2)
  • 2008/04 (2)

달력

«   2009/01   »
일 월 화 수 목 금 토
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

링크

  • DCinside 주식갤러리.
  • 비누넷.
  • 우울한 피.
  • 테터툴즈.

244

184

-20 days

today : 173

Total : 179251

Tattertools
rss


위치로그 : 태그 : 방명록 : 관리자
myeva’s Blog is powered by Tattertools.com / Designed by plyfly.net