NAND 로직 게이트를 사용하여 EBCDIC 컨버터 구축


9

에서 이 질문에 , 매핑은 EBCDIC 및 ISO-8859-1의 상위 집합 사이에 정의된다.

귀하의 작업은 A1, A2, A4, ..., A128EBCDIC 문자를 나타내는 8 개의 입력을 가져와 B1, B2, B4, ..., B128해당 매핑에 따라 해당 "ISO-8859-1"문자를 나타내는 8 개의 출력 을 반환하는 2 입력 NAND 게이트 네트워크를 구축하는 것 입니다.

일을 단순화하기 위해 다이어그램에서 AND, OR, NOT 및 XOR 게이트를 다음과 같은 점수로 사용할 수 있습니다.

  • NOT: 1
  • AND: 2
  • OR: 3
  • XOR: 4

이러한 각 점수는 해당 게이트를 구성하는 데 필요한 NAND 게이트 수에 해당합니다.

가장 적은 NAND 게이트를 사용하여 위의 모든 요구 사항을 올바르게 구현하는 논리 회로가 우선합니다.

답변:


7

727 게이츠



내가 한 방법 :

  1. 턴온 위키 피 디아에서 코드 페이지 변환을 Excel을 사용하여 적절하게 포맷 된 사실 테이블로 (15 분)
  2. Espresso를 사용하여 진리표 최소화 (새로 다시 들어가는 첫 번째 반복에서 5 분, 30 분)
  3. 최소화 된 진리표를 회로도 생성기로 공급 (1 분)
  4. 합리적인 답변을 얻을 때까지 2 & 3에 반복 (<1 시간)
  5. 회로도를 업로드 가능한 이미지로 전환 (30 분, % $ # @! Microsoft)

100 % NAND 게이트 결과는 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

실제로 이것을 구현하려고한다면 NAND 중심의 점수를 떨어 뜨릴 것입니다. NAND에서 XOR 게이트를 구축하는 것은 트랜지스터의 큰 낭비입니다. 그런 다음 UMC에 대해 걱정하기 시작하고 FPGA 설계 도구를 시작하고 HDL 매뉴얼 등을 어쩌면 깨뜨릴 수 있습니다. 휴! 나는 소프트웨어를 좋아한다.

NB, FPGA에 관심이있는 애호가 에게는 FPGA4fun을 추천 합니다 .


새 탭 부분에서 이미지를 볼 때조차 인식 할 수없는 경우 :(
masterX244

화면에 맞는 가장 큰 이미지를 업로드하기로 결정했습니다. 23339x8538의 원본은 문자 그대로 브라우저를 죽입니다. Chrome은 "Aw, snap!"을 사용했으며 Firefox는로드를 거부했습니다. IE가 표시하지만 준비하는 동안 잠시 멈 춥니 다.
Scott Leadley

압축 후 즐겨 사용하는 클라우드 호스팅 업체에 업로드하면 작업 브라우저가 이미지를 지퍼로 표시하지 않습니다
masterX244

@ masterX244 거대한 비트 맵을 업로드 할 수는 있었지만 (1) StackExchange는 링크 부패를 피하기 위해 imgur.com에 업로드하기를 원하며 Imgur는 해상도를 어쨌든 줄였습니다. (2) Imgur가 해상도를 줄이지 않으면 Chrome을 사용하는이 페이지를 방문하는 모든 방문자는 "아아! 크기를 조정하기 전에 전체 이미지를 읽으려고했습니다. (3) WYSIWYG; 이 답변은 다시 수정할 가치가 없습니다.
Scott Leadley

5

309 개

NAND 수는 정말 낮지 만 더 낮아질 수 있습니다. 누군가는 시간과 장소를 멈춰야 만합니다. (나중에 실제로 308 개의 NAND에 도달했지만, 어떤 장벽에 부딪쳤다.)

이번에는 연필로 그려진 회로 이미지가 없습니다. 아마도 나중에 언젠가이 문제로 돌아와 점점 더 치밀한 잘못된 회로에서 하한선, 난간, 한계에 부딪치게 될 것입니다.

회로는 명백한 Verilog 코드로 제공되며 테스트가 포함 된 상태에서 실행할 수 있습니다.

Verilog 코드 :

// EBCDIC to ISO-latin-1 converter circuit
// Made of just 309 NANDs
//
// By Kim Øyhus 2018 (c) into (CC BY-SA 3.0)
// This work is licensed under the Creative Commons Attribution     3.0
// Unported License. To view a copy of this license, visit
// https://creativecommons.org/licenses/by-sa/3.0/
//
// This is my entry to win this Programming Puzzle & Code Golf
// at Stack Exchange: 
// /codegolf/26252/build-an-ebcdic-converter-using-nand-logic-gates
//
// There are even simpler solutions to this puzzle,
// but I just had to stop somewhere, and 309 NAND gates is
// a very low number anyway.

module EBCDIC_to_ISO_latin_1 ( in_000, in_001, in_002, in_003, in_004, in_005, in_006, in_007, out000, out001, out002, out003, out004, out005, out006, out007 );
  input  in_000, in_001, in_002, in_003, in_004, in_005, in_006, in_007;
  output out000, out001, out002, out003, out004, out005, out006, out007;
  wire   wir000, wir001, wir002, wir003, wir004, wir005, wir006, wir007, wir008, wir009, wir010, wir011, wir012, wir013, wir014, wir015, wir016, wir017, wir018, wir019, wir020, wir021, wir022, wir023, wir024, wir025, wir026, wir027, wir028, wir029, wir030, wir031, wir032, wir033, wir034, wir035, wir036, wir037, wir038, wir039, wir040, wir041, wir042, wir043, wir044, wir045, wir046, wir047, wir048, wir049, wir050, wir051, wir052, wir053, wir054, wir055, wir056, wir057, wir058, wir059, wir060, wir061, wir062, wir063, wir064, wir065, wir066, wir067, wir068, wir069, wir070, wir071, wir072, wir073, wir074, wir075, wir076, wir077, wir078, wir079, wir080, wir081, wir082, wir083, wir084, wir085, wir086, wir087, wir088, wir089, wir090, wir091, wir092, wir093, wir094, wir095, wir096, wir097, wir098, wir099, wir100, wir101, wir102, wir103, wir104, wir105, wir106, wir107, wir108, wir109, wir110, wir111, wir112, wir113, wir114, wir115, wir116, wir117, wir118, wir119, wir120, wir121, wir122, wir123, wir124, wir125, wir126, wir127, wir128, wir129, wir130, wir131, wir132, wir133, wir134, wir135, wir136, wir137, wir138, wir139, wir140, wir141, wir142, wir143, wir144, wir145, wir146, wir147, wir148, wir149, wir150, wir151, wir152, wir153, wir154, wir155, wir156, wir157, wir158, wir159, wir160, wir161, wir162, wir163, wir164, wir165, wir166, wir167, wir168, wir169, wir170, wir171, wir172, wir173, wir174, wir175, wir176, wir177, wir178, wir179, wir180, wir181, wir182, wir183, wir184, wir185, wir186, wir187, wir188, wir189, wir190, wir191, wir192, wir193, wir194, wir195, wir196, wir197, wir198, wir199, wir200, wir201, wir202, wir203, wir204, wir205, wir206, wir207, wir208, wir209, wir210, wir211, wir212, wir213, wir214, wir215, wir216, wir217, wir218, wir219, wir220, wir221, wir222, wir223, wir224, wir225, wir226, wir227, wir228, wir229, wir230, wir231, wir232, wir233, wir234, wir235, wir236, wir237, wir238, wir239, wir240, wir241, wir242, wir243, wir244, wir245, wir246, wir247, wir248, wir249, wir250, wir251, wir252, wir253, wir254, wir255, wir256, wir257, wir258, wir259, wir260, wir261, wir262, wir263, wir264, wir265, wir266, wir267, wir268, wir269, wir270, wir271, wir272, wir273, wir274, wir275, wir276, wir277, wir278, wir279, wir280, wir281, wir282, wir283, wir284, wir285, wir286, wir287, wir288, wir289, wir290, wir291, wir292, wir293, wir294, wir295, wir296, wir297, wir298, wir299, wir300, wir301, wir302;

  nand gate000 ( wir000, in_003, in_000 );
  nand gate001 ( wir001, in_002, in_002 );
  nand gate002 ( wir002, in_000, in_000 );
  nand gate003 ( wir003, in_000, in_004 );
  nand gate004 ( wir004, wir003, in_001 );
  nand gate005 ( wir005, in_006, in_003 );
  nand gate006 ( wir006, wir003, wir005 );
  nand gate007 ( wir007, in_007, in_007 );
  nand gate008 ( wir008, wir003, wir004 );
  nand gate009 ( wir009, wir003, wir006 );
  nand gate010 ( wir010, in_005, wir009 );
  nand gate011 ( wir011, wir008, wir009 );
  nand gate012 ( wir012, wir009, wir011 );
  nand gate013 ( wir013, in_004, wir002 );
  nand gate014 ( wir014, wir013, wir009 );
  nand gate015 ( wir015, in_006, wir007 );
  nand gate016 ( wir016, wir001, wir015 );
  nand gate017 ( wir017, wir015, wir015 );
  nand gate018 ( wir018, in_003, wir015 );
  nand gate019 ( wir019, wir018, wir018 );
  nand gate020 ( wir020, wir000, wir007 );
  nand gate021 ( wir021, wir005, wir017 );
  nand gate022 ( wir022, wir018, wir011 );
  nand gate023 ( wir023, in_002, wir018 );
  nand gate024 ( wir024, in_001, in_003 );
  nand gate025 ( wir025, wir010, in_004 );
  nand gate026 ( wir026, wir017, wir024 );
  nand gate027 ( wir027, wir001, wir007 );
  nand gate028 ( wir028, in_004, wir024 );
  nand gate029 ( wir029, wir024, wir024 );
  nand gate030 ( wir030, in_004, wir023 );
  nand gate031 ( wir031, wir022, wir030 );
  nand gate032 ( wir032, wir026, wir030 );
  nand gate033 ( wir033, wir030, wir020 );
  nand gate034 ( wir034, wir001, wir026 );
  nand gate035 ( wir035, wir022, in_007 );
  nand gate036 ( wir036, wir020, wir034 );
  nand gate037 ( wir037, wir007, wir023 );
  nand gate038 ( wir038, wir034, wir023 );
  nand gate039 ( wir039, wir031, wir033 );
  nand gate040 ( wir040, wir028, wir019 );
  nand gate041 ( wir041, wir036, wir040 );
  nand gate042 ( wir042, in_001, wir025 );
  nand gate043 ( wir043, wir041, wir010 );
  nand gate044 ( wir044, wir038, wir000 );
  nand gate045 ( wir045, wir033, wir004 );
  nand gate046 ( wir046, wir039, wir045 );
  nand gate047 ( wir047, in_002, wir046 );
  nand gate048 ( wir048, wir011, wir037 );
  nand gate049 ( wir049, wir012, in_006 );
  nand gate050 ( wir050, wir048, wir007 );
  nand gate051 ( wir051, wir048, wir049 );
  nand gate052 ( wir052, in_006, in_004 );
  nand gate053 ( wir053, wir043, wir001 );
  nand gate054 ( wir054, wir042, wir053 );
  nand gate055 ( wir055, wir019, wir007 );
  nand gate056 ( wir056, wir016, wir039 );
  nand gate057 ( wir057, in_003, wir026 );
  nand gate058 ( wir058, wir029, in_007 );
  nand gate059 ( wir059, in_005, wir055 );
  nand gate060 ( wir060, wir035, wir054 );
  nand gate061 ( wir061, wir055, wir060 );
  nand gate062 ( wir062, wir032, in_003 );
  nand gate063 ( wir063, wir002, wir059 );
  nand gate064 ( wir064, wir062, wir025 );
  nand gate065 ( wir065, wir063, wir036 );
  nand gate066 ( wir066, wir060, wir065 );
  nand gate067 ( wir067, wir037, wir065 );
  nand gate068 ( wir068, wir029, in_006 );
  nand gate069 ( wir069, wir067, wir043 );
  nand gate070 ( wir070, wir061, wir069 );
  nand gate071 ( wir071, wir047, wir070 );
  nand gate072 ( wir072, wir071, wir071 );
  nand gate073 ( wir073, wir071, wir038 );
  nand gate074 ( wir074, wir010, wir073 );
  nand gate075 ( wir075, wir021, wir038 );
  nand gate076 ( wir076, wir028, wir066 );
  nand gate077 ( wir077, wir076, wir056 );
  nand gate078 ( wir078, wir077, wir077 );
  nand gate079 ( wir079, wir072, wir013 );
  nand gate080 ( wir080, wir079, wir026 );
  nand gate081 ( wir081, wir080, wir080 );
  nand gate082 ( wir082, wir078, wir025 );
  nand gate083 ( wir083, wir022, wir082 );
  nand gate084 ( wir084, in_001, wir083 );
  nand gate085 ( wir085, wir044, wir083 );
  nand gate086 ( wir086, wir085, wir081 );
  nand gate087 ( wir087, wir027, wir086 );
  nand gate088 ( wir088, wir087, wir007 );
  nand gate089 ( wir089, wir074, wir087 );
  nand gate090 ( wir090, wir051, wir075 );
  nand gate091 ( wir091, wir068, wir089 );
  nand gate092 ( wir092, wir091, wir091 );
  nand gate093 ( wir093, wir084, wir002 );
  nand gate094 ( wir094, wir051, wir091 );
  nand gate095 ( wir095, wir094, wir042 );
  nand gate096 ( wir096, wir021, wir094 );
  nand gate097 ( wir097, wir093, wir096 );
  nand gate098 ( wir098, wir096, wir044 );
  nand gate099 ( wir099, wir063, wir096 );
  nand gate100 ( wir100, wir088, wir026 );
  nand gate101 ( wir101, wir090, wir099 );
  nand gate102 ( wir102, wir101, wir101 );
  nand gate103 ( wir103, wir100, wir066 );
  nand gate104 ( wir104, wir057, wir102 );
  nand gate105 ( wir105, wir102, wir092 );
  nand gate106 ( wir106, wir102, wir059 );
  nand gate107 ( wir107, wir038, wir103 );
  nand gate108 ( wir108, wir072, wir102 );
  nand gate109 ( wir109, wir108, wir052 );
  nand gate110 ( wir110, wir052, wir021 );
  nand gate111 ( wir111, wir100, wir110 );
  nand gate112 ( wir112, wir110, wir106 );
  nand gate113 ( wir113, wir109, wir112 );
  nand gate114 ( wir114, wir104, wir038 );
  nand gate115 ( wir115, in_007, wir113 );
  nand gate116 ( wir116, wir060, wir115 );
  nand gate117 ( wir117, wir115, wir058 );
  nand gate118 ( wir118, wir117, wir038 );
  nand gate119 ( wir119, wir117, wir117 );
  nand gate120 ( wir120, wir116, in_006 );
  nand gate121 ( wir121, wir093, wir081 );
  nand gate122 ( wir122, wir119, wir120 );
  nand gate123 ( wir123, wir120, wir002 );
  nand gate124 ( wir124, wir119, in_007 );
  nand gate125 ( wir125, wir052, wir120 );
  nand gate126 ( wir126, wir120, wir020 );
  nand gate127 ( wir127, wir020, wir126 );
  nand gate128 ( wir128, wir126, wir124 );
  nand gate129 ( wir129, wir128, wir106 );
  nand gate130 ( wir130, wir100, wir104 );
  nand gate131 ( wir131, in_007, wir128 );
  nand gate132 ( wir132, wir061, wir128 );
  nand gate133 ( wir133, wir064, wir050 );
  nand gate134 ( wir134, wir068, wir093 );
  nand gate135 ( wir135, wir134, wir044 );
  nand gate136 ( wir136, wir127, wir121 );
  nand gate137 ( wir137, wir095, wir136 );
  nand gate138 ( wir138, wir105, wir137 );
  nand gate139 ( wir139, wir058, wir138 );
  nand gate140 ( wir140, wir138, wir118 );
  nand gate141 ( wir141, wir078, wir131 );
  nand gate142 ( wir142, wir140, wir140 );
  nand gate143 ( wir143, wir129, wir140 );
  nand gate144 ( wir144, wir129, wir109 );
  nand gate145 ( wir145, wir090, in_005 );
  nand gate146 ( wir146, wir145, wir145 );
  nand gate147 ( wir147, wir133, wir059 );
  nand gate148 ( wir148, wir093, wir147 );
  nand gate149 ( wir149, wir148, wir148 );
  nand gate150 ( wir150, wir131, wir131 );
  nand gate151 ( wir151, wir143, wir116 );
  nand gate152 ( wir152, wir021, wir132 );
  nand gate153 ( wir153, wir144, wir051 );
  nand gate154 ( wir154, wir122, wir149 );
  nand gate155 ( wir155, wir149, wir142 );
  nand gate156 ( wir156, in_001, wir149 );
  nand gate157 ( wir157, wir123, wir098 );
  nand gate158 ( wir158, wir058, wir133 );
  nand gate159 ( wir159, in_007, wir158 );
  nand gate160 ( wir160, wir133, wir157 );
  nand gate161 ( wir161, wir129, wir159 );
  nand gate162 ( wir162, wir059, wir100 );
  nand gate163 ( wir163, wir130, wir159 );
  nand gate164 ( wir164, wir152, wir146 );
  nand gate165 ( wir165, wir164, wir155 );
  nand gate166 ( wir166, wir121, wir164 );
  nand gate167 ( wir167, wir166, wir157 );
  nand gate168 ( wir168, wir167, wir058 );
  nand gate169 ( wir169, wir059, wir104 );
  nand gate170 ( wir170, wir139, wir169 );
  nand gate171 ( wir171, wir135, wir168 );
  nand gate172 ( wir172, wir171, wir156 );
  nand gate173 ( wir173, wir025, in_004 );
  nand gate174 ( wir174, wir172, wir143 );
  nand gate175 ( wir175, wir000, wir172 );
  nand gate176 ( wir176, wir154, wir172 );
  nand gate177 ( wir177, wir176, wir162 );
  nand gate178 ( wir178, wir111, in_005 );
  nand gate179 ( wir179, in_004, wir144 );
  nand gate180 ( wir180, wir162, wir178 );
  nand gate181 ( wir181, wir173, wir141 );
  nand gate182 ( wir182, wir180, wir131 );
  nand gate183 ( wir183, wir154, wir182 );
  nand gate184 ( wir184, wir090, wir183 );
  nand gate185 ( wir185, wir184, wir179 );
  nand gate186 ( wir186, wir107, wir058 );
  nand gate187 ( wir187, wir097, wir184 );
  nand gate188 ( wir188, wir016, wir177 );
  nand gate189 ( wir189, wir114, wir188 );
  nand gate190 ( wir190, wir189, wir143 );
  nand gate191 ( wir191, wir109, wir190 );
  nand gate192 ( wir192, wir185, wir190 );
  nand gate193 ( wir193, wir190, in_004 );
  nand gate194 ( wir194, wir193, wir135 );
  nand gate195 ( wir195, wir192, wir165 );
  nand gate196 ( wir196, wir194, wir161 );
  nand gate197 ( wir197, wir161, wir196 );
  nand gate198 ( wir198, wir196, wir185 );
  nand gate199 ( wir199, wir198, wir198 );
  nand gate200 ( wir200, wir155, wir181 );
  nand gate201 ( wir201, wir200, wir119 );
  nand gate202 ( wir202, in_006, wir090 );
  nand gate203 ( wir203, in_001, wir052 );
  nand gate204 ( wir204, wir185, wir202 );
  nand gate205 ( wir205, wir175, wir198 );
  nand gate206 ( wir206, wir205, wir150 );
  nand gate207 ( wir207, wir205, wir200 );
  nand gate208 ( wir208, wir207, wir168 );
  nand gate209 ( wir209, wir208, wir185 );
  nand gate210 ( wir210, wir144, wir199 );
  nand gate211 ( wir211, wir210, wir187 );
  nand gate212 ( wir212, wir210, wir135 );
  nand gate213 ( wir213, wir187, wir144 );
  nand gate214 ( wir214, wir151, wir210 );
  nand gate215 ( wir215, wir143, wir105 );
  nand gate216 ( wir216, wir021, wir215 );
  nand gate217 ( wir217, wir160, wir160 );
  nand gate218 ( wir218, wir186, wir061 );
  nand gate219 ( wir219, wir216, wir025 );
  nand gate220 ( wir220, wir219, wir122 );
  nand gate221 ( wir221, wir212, wir219 );
  nand gate222 ( wir222, wir209, wir105 );
  nand gate223 ( wir223, wir191, wir213 );
  nand gate224 ( wir224, wir168, wir221 );
  nand gate225 ( wir225, wir224, wir224 );
  nand gate226 ( wir226, wir144, wir209 );
  nand gate227 ( wir227, wir020, wir222 );
  nand gate228 ( wir228, wir129, wir226 );
  nand gate229 ( wir229, wir228, wir160 );
  nand gate230 ( wir230, wir229, wir229 );
  nand gate231 ( wir231, wir197, wir230 );
  nand gate232 ( wir232, wir230, wir214 );
  nand gate233 ( wir233, wir173, wir230 );
  nand gate234 ( wir234, wir056, wir174 );
  nand gate235 ( wir235, wir146, wir181 );
  nand gate236 ( wir236, wir235, wir225 );
  nand gate237 ( wir237, wir236, wir014 );
  nand gate238 ( wir238, wir236, wir174 );
  nand gate239 ( wir239, wir155, wir203 );
  nand gate240 ( wir240, wir209, wir236 );
  nand gate241 ( wir241, wir146, wir225 );
  nand gate242 ( wir242, wir191, wir241 );
  nand gate243 ( wir243, wir241, wir209 );
  nand gate244 ( wir244, wir206, wir111 );
  nand gate245 ( wir245, wir243, wir233 );
  nand gate246 ( wir246, wir223, wir234 );
  nand gate247 ( wir247, wir191, wir186 );
  nand gate248 ( wir248, wir056, wir238 );
  nand gate249 ( wir249, wir248, wir218 );
  nand gate250 ( wir250, wir243, wir249 );
  nand gate251 ( wir251, wir239, wir174 );
  nand gate252 ( wir252, wir251, wir231 );
  nand gate253 ( wir253, wir249, wir244 );
  nand gate254 ( wir254, wir240, wir150 );
  nand gate255 ( wir255, wir253, wir139 );
  nand gate256 ( wir256, wir242, wir253 );
  nand gate257 ( wir257, wir244, wir195 );
  nand gate258 ( wir258, wir204, wir201 );
  nand gate259 ( out007, wir254, wir255 );
  nand gate260 ( wir259, wir217, wir253 );
  nand gate261 ( wir260, wir258, wir259 );
  nand gate262 ( wir261, wir197, wir260 );
  nand gate263 ( wir262, wir220, wir261 );
  nand gate264 ( wir263, wir261, wir192 );
  nand gate265 ( wir264, wir262, wir263 );
  nand gate266 ( wir265, wir201, wir125 );
  nand gate267 ( wir266, wir265, wir250 );
  nand gate268 ( wir267, wir266, wir237 );
  nand gate269 ( wir268, wir266, wir199 );
  nand gate270 ( wir269, wir136, wir244 );
  nand gate271 ( wir270, wir264, wir195 );
  nand gate272 ( wir271, wir256, wir268 );
  nand gate273 ( wir272, wir247, wir269 );
  nand gate274 ( wir273, wir271, in_001 );
  nand gate275 ( wir274, wir256, wir271 );
  nand gate276 ( wir275, wir273, wir274 );
  nand gate277 ( wir276, wir275, wir275 );
  nand gate278 ( wir277, wir249, wir227 );
  nand gate279 ( wir278, wir222, in_006 );
  nand gate280 ( wir279, wir278, wir153 );
  nand gate281 ( wir280, wir272, wir163 );
  nand gate282 ( wir281, wir278, wir170 );
  nand gate283 ( wir282, wir245, wir281 );
  nand gate284 ( wir283, wir204, wir282 );
  nand gate285 ( out005, wir283, wir254 );
  nand gate286 ( wir284, wir232, wir201 );
  nand gate287 ( wir285, wir284, wir197 );
  nand gate288 ( wir286, wir257, wir285 );
  nand gate289 ( wir287, out007, wir279 );
  nand gate290 ( wir288, wir163, wir287 );
  nand gate291 ( wir289, wir245, wir288 );
  nand gate292 ( wir290, wir288, wir247 );
  nand gate293 ( wir291, wir252, wir211 );
  nand gate294 ( wir292, wir277, wir232 );
  nand gate295 ( wir293, wir192, wir292 );
  nand gate296 ( wir294, wir290, wir280 );
  nand gate297 ( wir295, wir264, wir292 );
  nand gate298 ( wir296, wir217, wir264 );
  nand gate299 ( wir297, wir221, wir295 );
  nand gate300 ( out003, wir294, wir295 );
  nand gate301 ( wir298, wir273, wir297 );
  nand gate302 ( out002, wir298, wir246 );
  nand gate303 ( out006, wir240, wir289 );
  nand gate304 ( wir299, wir293, wir250 );
  nand gate305 ( out000, wir270, wir267 );
  nand gate306 ( out001, wir276, wir291 );
  nand gate307 ( wir300, wir299, wir296 );
  nand gate308 ( out004, wir286, wir300 );
endmodule


module test; 
   reg  [7:0] AB; // C=A*B
   wire [7:0] C;

  EBCDIC_to_ISO_latin_1 U1 ( 
  .in_000 (AB[0]), 
  .in_001 (AB[1]), 
  .in_002 (AB[2]), 
  .in_003 (AB[3]), 
  .in_004 (AB[4]), 
  .in_005 (AB[5]), 
  .in_006 (AB[6]), 
  .in_007 (AB[7]), 
  .out000 (C[0]), 
  .out001 (C[1]), 
  .out002 (C[2]), 
  .out003 (C[3]), 
  .out004 (C[4]), 
  .out005 (C[5]),
  .out006 (C[6]),
  .out007 (C[7])
  ); 

  initial  AB=0;
  always  #1  AB = AB+1;
  initial  begin
    $display("\t\ttime,\tEBCDIC   \tISO-latin-1"); 
    $monitor("%d,\t%b %b\t%b %b\t%c",$time, AB[7:4], AB[3:0], C[7:4], C[3:0], C); 
  end 
  initial  #255  $finish; 
endmodule


// iverilog -o EBCDIC_309 EBCDIC_309.v
// vvp EBCDIC_309


/*
/codegolf/24925/ebcdic-code-golf-happy-birthday-system-360

 EBCDIC037_to_Latin1 = [
    0x00,0x01,0x02,0x03,0x9c,0x09,0x86,0x7f,0x97,0x8d,0x8e,0x0b,0x0c,0x0d,0x0e,0x0f,
    0x10,0x11,0x12,0x13,0x9d,0x85,0x08,0x87,0x18,0x19,0x92,0x8f,0x1c,0x1d,0x1e,0x1f,
    0x80,0x81,0x82,0x83,0x84,0x0a,0x17,0x1b,0x88,0x89,0x8a,0x8b,0x8c,0x05,0x06,0x07,
    0x90,0x91,0x16,0x93,0x94,0x95,0x96,0x04,0x98,0x99,0x9a,0x9b,0x14,0x15,0x9e,0x1a,
    0x20,0xa0,0xe2,0xe4,0xe0,0xe1,0xe3,0xe5,0xe7,0xf1,0xa2,0x2e,0x3c,0x28,0x2b,0x7c,
    0x26,0xe9,0xea,0xeb,0xe8,0xed,0xee,0xef,0xec,0xdf,0x21,0x24,0x2a,0x29,0x3b,0xac,
    0x2d,0x2f,0xc2,0xc4,0xc0,0xc1,0xc3,0xc5,0xc7,0xd1,0xa6,0x2c,0x25,0x5f,0x3e,0x3f,
    0xf8,0xc9,0xca,0xcb,0xc8,0xcd,0xce,0xcf,0xcc,0x60,0x3a,0x23,0x40,0x27,0x3d,0x22,
    0xd8,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0xab,0xbb,0xf0,0xfd,0xfe,0xb1,
    0xb0,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0xaa,0xba,0xe6,0xb8,0xc6,0xa4,
    0xb5,0x7e,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0xa1,0xbf,0xd0,0xdd,0xde,0xae,
    0x5e,0xa3,0xa5,0xb7,0xa9,0xa7,0xb6,0xbc,0xbd,0xbe,0x5b,0x5d,0xaf,0xa8,0xb4,0xd7,
    0x7b,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0xad,0xf4,0xf6,0xf2,0xf3,0xf5,
    0x7d,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0xb9,0xfb,0xfc,0xf9,0xfa,0xff,
    0x5c,0xf7,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0xb2,0xd4,0xd6,0xd2,0xd3,0xd5,
    0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0xb3,0xdb,0xdc,0xd9,0xda,0x9f];
 */
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.