삽질매니아

위치로그, 태그, 방명록

'Excess-3'에 해당되는 글 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 ▶

 


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

카테고리

전체 (213)
전공공부 (9)
윈도우활용 (35)
동영상 (4)
Windows 7 (8)
휴대기기 (25)
휴대폰 (22)
인터넷 (66)
구글(Google) (3)
도메인(Domain) (27)
웹호스팅(Hosting) (6)
태터툴즈(Tattertools) (11)
신기한서비스 (2)
워드프레스(WordPress) (0)
지름신및 이벤트 (9)
Photos (0)
Macro (0)
일기장 (22)
음악과 함께 (2)
In Houston (3)
닌텐도 DS(NDS) (29)
라디오 (1)
돈이야기 (12)

태그목록

  • SineWave 옵션 ipower.com 하락 OECD Wi-Fi 로그 pptx PS MS word PC시각맞추기 메가패스 적립식펀드 SB0600 구글동영상 So Sick 비스타 드라이버 고양이케이스 이베이 W15

최근에 올라온 글

  • 윈도우7, 비스타 사용시 iMBC.... (19)
  • 인텔 3945ABG 무선랜카드 맥....
  • [증시] 외국인들의 폭풍매집....
  • 12월 옥션 이머니 500 포인트....
  • 빅파일(bigfile) 유저라면 무.... (1)

최근에 달린 댓글

  • 저는 xp 인데 ;.혹시 몰라서.... 최고 07/18
  • 관리자만 볼 수 있는 댓글입.... 비밀방문자 07/11
  • 정말 감사합니다. 무한도전.... 와... 07/07
  • 감사합니다.. 저 역시 광고만.... ㅜㅜ 06/30
  • 저두 이것떔에 골치를 썩고.... hope 06/29

최근에 받은 트랙백

  • 도메인에 투자해서 대박(?)....
    k2man의 IT이야기 03/09
  • 노트북에 myLG070 인터넷전화....
    ~ wanna be a better man 01/06
  • IDG 뉴스레터 | 애플 아이폰....
    Bluesky 2009
  • IDG 뉴스레터 | 애플 아이폰....
    Bluesky 2009
  • 닷네임코리아 - 문제많은&nbs....
    춤추는리본 2009

글 보관함

  • 2010/06 (1)
  • 2010/04 (2)
  • 2009/12 (2)
  • 2009/11 (2)
  • 2009/10 (1)

달력

«   2010/07   »
일 월 화 수 목 금 토
        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

링크

  • 11번가.
  • Auction.
  • G마켓.
  • KRBE.
  • 모닝365.
  • 변경가능하다니까.
  • 비누넷.
  • 우울한 피.
  • 테터툴즈.

340

239

-20 days

today : 185

Total : 300066

Tattertools
rss


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