Difference between revisions of "Cpu Circuit MDEC"

From PSXDEV
Jump to: navigation, search
(Логическая схема)
 
(35 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Локатор =
+
RLE Decoding
  
[[Файл:Circuit002 loc.jpg]]
+
Uses Radix-4 Booth multiplication: http://www.geoffknagge.com/fyp/booth.shtml
  
= Топология =
+
Схема [[MDEC]] IDCT.
  
Все связанные между собой элементы тут
+
Перемножает результат RLE декодирования и Scale Table Matrix (за 2 прохода).
  
[[Файл:Circuit002 topo.jpg]]
+
= Топология =
  
Уровень DFF'ok, которые приходят на управляющие пайплайны. Ими управляет свой собственный тактовый сигнал clk2.
+
[[File:Circuit002 loc.jpg|500px]]
Всего 13 бит. Есть подозрение что это элемент ScaleTableMatrix участвующий в MDEC декомпрессии.
+
  
[[Файл:Circuit002 topo clk2.jpg]]
+
[[File:Circuit002 topo.jpg|1000px]]
  
Уровень DFF'ок, которые приходят на вычислительную схему. Ими управляет свой собственный тактовый сигнал clk3.
+
[[File:Circuit002 topo2.jpg|1000px]]
Всего 17 бит из которых 13 бит уходят куда-то отдельно.
+
  
[[Файл:Circuit002 topo clk3.jpg]]
+
[[File:Circuit002 topo3.jpg|1000px]]
  
 
= Логическая схема =
 
= Логическая схема =
  
[[Файл:Circuit002 logic.jpg|1000px]]
+
Схема представляет собой IDCT преобразование являющегося частью MDEC декомпрессии.
 +
 
 +
Преобразование осуществляется за 2 прохода:
 +
 
 +
== Pass 1 ==
 +
 
 +
На первом проходе осуществляется умножение результата RLE декомпрессии и Scale Table Matrix хранящейся в UNIT 00. Она хранится в виде 32 записей по 26 бит. После выхода данные попарно поступают на мультиплексоры где выбирается какие 13 бит использовать.
 +
 
 +
[[File:Circuit002 logic.jpg|1000px]]
 +
 
 +
Входы:
 +
- RLE вход: 12 бит
 +
- Scale Table Matrix вход: 13 бит
 +
- Сумма предыдущего этапа вычисления: 17 бит
 +
 
 +
Схема сразу умножает 2 входа и суммирует умножение с результатом предыдущего шага вычисления. 17 бит результата вновь подается на схему.
 +
 
 +
В конце вычисления старшие 13 бит результата сохраняются в UNIT 01, который представляет из себя двухпортовую память. то есть на вход и выход которой могут подаваться разные значения.
 +
 
 +
== Pass 2 ==
 +
 
 +
На втором проходе перемножается уже 13 бит результата первого прохода и 12 верхних бит Scale Table Matrix.
 +
 
 +
[[File:Circuit002 logic2.jpg|1000px]]
 +
 
 +
Входы:
 +
- Результат первого прохода: 13 бит
 +
- Scale Table Matrix вход: верхние 12 бит
 +
- Сумма предыдущего этапа вычисления: 17 бит
 +
 
 +
Схема вновь умножает 2 входа и суммирует умножение с результатом предыдущего шага вычисления. 17 бит результата вновь подается на схему.
 +
 
 +
== Деление на 2 ==
 +
 
 +
В конце вычисления старшие 10 бит результата передаются на схему знакового деления на 2 с клампингом -128, 127. На выходе мы получаем 8 бит со знаком.
 +
 
 +
[[File:Circuit002 logic3.jpg|1000px]]
 +
 
 +
[[File:002 conv.png|800px]]
 +
 
 +
== Управление IDCT ==
 +
 
 +
Тут есть 3 независимых счетчика с которых идут контрольные выходы, объединяемые различными логическими операндами. Выходные линии управляют клоками триггеров в первом и втором пассах а также адресными линиями первого и нулевого юнитов.
 +
 
 +
[[File:Circuit002 logic4.jpg|1000px]]
  
Есть очень большое подозрение что эта схема это элемент IDCT преобразования являющегося частью MDEC декомпрессии.
+
== Обсуждениен а форуме ==
  
 
Обсуждение на форуме есть тут: http://board.psxdev.ru/topic/9/
 
Обсуждение на форуме есть тут: http://board.psxdev.ru/topic/9/

Latest revision as of 15:38, 28 August 2014

RLE Decoding

Uses Radix-4 Booth multiplication: http://www.geoffknagge.com/fyp/booth.shtml

Схема MDEC IDCT.

Перемножает результат RLE декодирования и Scale Table Matrix (за 2 прохода).

Contents

Топология

500px

1000px

1000px

1000px

Логическая схема

Схема представляет собой IDCT преобразование являющегося частью MDEC декомпрессии.

Преобразование осуществляется за 2 прохода:

Pass 1

На первом проходе осуществляется умножение результата RLE декомпрессии и Scale Table Matrix хранящейся в UNIT 00. Она хранится в виде 32 записей по 26 бит. После выхода данные попарно поступают на мультиплексоры где выбирается какие 13 бит использовать.

1000px

Входы:

- RLE вход: 12 бит
- Scale Table Matrix вход: 13 бит
- Сумма предыдущего этапа вычисления: 17 бит

Схема сразу умножает 2 входа и суммирует умножение с результатом предыдущего шага вычисления. 17 бит результата вновь подается на схему.

В конце вычисления старшие 13 бит результата сохраняются в UNIT 01, который представляет из себя двухпортовую память. то есть на вход и выход которой могут подаваться разные значения.

Pass 2

На втором проходе перемножается уже 13 бит результата первого прохода и 12 верхних бит Scale Table Matrix.

1000px

Входы:

- Результат первого прохода: 13 бит
- Scale Table Matrix вход: верхние 12 бит
- Сумма предыдущего этапа вычисления: 17 бит

Схема вновь умножает 2 входа и суммирует умножение с результатом предыдущего шага вычисления. 17 бит результата вновь подается на схему.

Деление на 2

В конце вычисления старшие 10 бит результата передаются на схему знакового деления на 2 с клампингом -128, 127. На выходе мы получаем 8 бит со знаком.

1000px

800px

Управление IDCT

Тут есть 3 независимых счетчика с которых идут контрольные выходы, объединяемые различными логическими операндами. Выходные линии управляют клоками триггеров в первом и втором пассах а также адресными линиями первого и нулевого юнитов.

1000px

Обсуждениен а форуме

Обсуждение на форуме есть тут: http://board.psxdev.ru/topic/9/