86262

Цифровое устройство, выполняющее заданную вычислительную макрооперацию

Курсовая

Коммуникация, связь, радиоэлектроника и цифровые приборы

Наиболее распространенной задачей проектирования цифровых устройств является моделирование. Моделирование позволяет определить свойства проектируемого устройства, а так же выявить ошибки при проектировании и исправить их еще до стадии производства, что в свою очередь позволяет минимизировать...

Русский

2015-04-04

1.67 MB

3 чел.

Министерство образования Российской Федерации

Пензенский государственный университет

Кафедра «Вычислительная техника»

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовому проекту по дисциплине «Моделирование»

на тему «Цифровое устройство, выполняющее заданную вычислительную макрооперацию»

Выполнил:

студент гр. 09ВВ1

Голышевский Е.

Проверил:

 к.т.н., доцент

 Захаров А.П.

Пенза,

2013


Оглавление

[1] Оглавление

[2] Постановка задачи

[3] Проектирование операционного автомата

[3.1]
Элементная база

[3.1.1] Регистры.

[3.1.2]
Сумматоры.

[3.1.3]
Делитель.

[3.1.4]
Умножитель.

[3.1.5] Конверторы.

[3.1.6]
Сдвигатели.

[3.2]
Обработка микрокоманд

[4]
Проектирование управляющего автомата

[4.1] Представление автомата в системе StateCAD

[4.2]
Граф-схема алгоритма работы УА

[4.2.1] Основной алгоритм

[4.2.2] Подпрограмма выполнений состояний

[4.3] Контроль правильности выполнения

[5] Оценка быстродействия

[6]
Оценка потребляемой мощности

 

[1] Оглавление

[2] Постановка задачи

[3] Проектирование операционного автомата

[3.1]
Элементная база

[3.1.1] Регистры.

[3.1.2]
Сумматоры.

[3.1.3]
Делитель.

[3.1.4]
Умножитель.

[3.1.5] Конверторы.

[3.1.6]
Сдвигатели.

[3.2]
Обработка микрокоманд

[4]
Проектирование управляющего автомата

[4.1] Представление автомата в системе StateCAD

[4.2]
Граф-схема алгоритма работы УА

[4.2.1] Основной алгоритм

[4.2.2] Подпрограмма выполнений состояний

[4.3] Контроль правильности выполнения

[5] Оценка быстродействия

[6]
Оценка потребляемой мощности


Введение

Наиболее распространенной задачей проектирования цифровых устройств является моделирование. Моделирование позволяет определить свойства проектируемого устройства, а так же выявить ошибки при проектировании и исправить их еще до стадии производства, что в свою очередь позволяет минимизировать затраты на производство продукции.

Известно, что любое цифровое устройство характеризуется не только элементами, из которых оно состоит, но и различными временными параметрами, которые задают его свойства и характеристики. Поэтому при моделировании необходимо учитывать (включать в модель) не только элементы, но и их временные характеристики. Следовательно, инструмент моделирования должен учитывать все вышеперечисленные особенности цифровых устройств.

Язык VHDL способен работать во всех трех аспектах, характеризующих аппаратуру:

  •  функциональность (поведение);
  •  структура (элементы);
  •  время (задержка).

Поэтому язык обладает возможностью реализовать моделирование на двух уровнях – поведенческом и структурном, что делает его наиболее удобным и подходящим для моделирования цифровых устройств.

Вследствие того, что язык легко воспринимается как машиной, так и человеком он может использоваться на этапах проектирования, верификации, синтеза и тестирования аппаратуры также как и для передачи данных о проекте, модификации и сопровождения.


Постановка задачи

Целью данного курсового проекта является разработка устройства, проектируемого на базе САПР Quartus II фирмы Altera. Данное устройство является специальным процессором, выполняющим арифметическую макрооперацию.

Макрооперация реализуется упорядоченным выполнением микроопераций по сигналам микрокоманд, поступающих от управляющего автомата.

Исходные данные на проектирование:

  •  формат обрабатываемых данных – 16 двоичных разрядов;
  •  код входных данных – обратный;
  •  устройство включает 2 автомата: операционный автомат (ОА) и управляющий автомат (УА);
  •  ОА реализовать на базе параметризованных модулей САПР QuartusII;
  •  УА реализовать с использованием системы StateCad;

Так же необходимо произвести оценку спроектированного устройства по быстродействию и потребляемой мощности.

Разрабатываемый процессор должен выполнять следующую макрооперацию:

((7A*2+B) – 3C) / 0,75D.

Проектирование операционного автомата

Принципиальная схема ОА приведена в Приложении 1.

По заданию операционный блок следует реализовать, используя параметризированные модули. Следуя этому, операционный блок включает в себя:

  •  4 регистра;
  •  1 сдвигатель;
  •  2 сумматор;
  •  1 делитель;
  •  3 умножитель;
  •  2 конвертора: из обратного в дополнительный код и из дополнительного в обратный;
  •  3 элемента параллельного сложения;

Данные в операционный блок подаются по внешней 16 разрядной шине MD. Поступив в операционный блок, данные проходят операцию перевода в дополнительный код, после чего с ними работает операционный автомат.


Элементная база

Рассмотрим подробнее составные части операционного блока.

Регистры.

Регистры используются для хранения входных данных, ожидающих обработки. Условное графическое обозначение регистра изображено на рисунке 1.

Рисунок  - УГО регистра.

Регистр имеет 3 входных сигнала:

  •  data[15..0] – информационный вход, принимающий 16 разрядные данные;
  •  clock – вход синхронизации (по нарастающему фронту);
  •  enable – вход разрешения работы;

и один выходной сигнал:

  •  q[15..0] – информационный выход.


Сумматоры.

В проекте используется сумматоры настроенные на операции вычитание и сложения. Условное графическое обозначение сумматора изображено на рисунке 2.

Рисунок  - УГО сумматоров.

Сумматор имеет 4 входных сигнала:

  •  data[31..0] и datab[31..0] – информационные входы операндов A и B соответственно.
  •  clock – вход синхронизации (по нарастающему фронту);
  •  clken - вход разрешения работы.

и 2 выходных сигнала:

  •  result[31..0] информационный выход;
  •  overflow – сигнал переполнения.


Делитель.

Делитель выполняет операцию деления над знаковыми 32 разрядными числами. Следует отметить, что у делителя имеется два выхода: quotient – целая часть, полученная в результате деления, и remain – остаток. В устройстве используется только целая часть, полученная в результате деления, остаток отбрасывается. Условное графическое обозначение делителя изображено на рисунке 3.

Рисунок  - УГО делителя.

Делитель имеет 4 входных сигнала:

  •  numer[31..0] – информационный вход (делимое);
  •  denom[31..0] – информационный вход (делитель);
  •  clock – вход синхронизации (по нарастающему фронту);
  •  clken – вход разрешения работы.

2 выходных сигнала:

  •  qountient[31..0] – информационный выход (целая часть);
  •  remain[31..0] – информационный выход (остаток).


Умножитель.

В проекте используются умножители для умножения исходных данных на константы (7*А), (7*A*2), (3*C).

Условное графическое обозначение умножителей изображены на рисунке 4.

Рисунок  - УГО умножителей.

Умножители имеют 4 входных сигнала:

  •  dataa [15..0]– информационный вход;
  •  clock – вход синхронизации;
  •  clken – вход разрешения работы;
  •  result[31..0] – информационный выход (результат умножения);

Конверторы.

В устройстве используется 2 конвертора: из обратного кода в дополнительный и из дополнительного кода в обратный.  

Листинг программы конвертора в дополнительный код на языке VHDL:

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity DopCode is

PORT    (   CLK: in STD_LOGIC;

  A:in STD_LOGIC_VECTOR (15 downto 0);

           B:out STD_LOGIC_VECTOR (15 downto 0)

       );

end DopCode;

architecture dop_arh of DopCode is

begin

process (CLK) begin

 if(CLK'event and CLK = '0') then

  if( A(15) = '1') then

   B <= A+"0001";

  else

   B <= A;

  end if;

 end if;

end process;

end dop_arh;

Условное графическое обозначение конвертора в дополнительный код изображено на рисунке 5.

Рисунок 5 –УГО конвертора в дополнительный код.

 Конвертор имеет 2 входных сигнала:

  •  А[15..0] – информационный вход;
  •  сlk – сигнал синхронизации (по нарастающему фронту).

и 1 выходной сигнал:

  •  В[15..0] – информационный выход;


Листинг программы конвертора в обратный код на языке
VHDL:

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity toOverCode is

PORT    (   CLK: in STD_LOGIC;

  A:in STD_LOGIC_VECTOR (31 downto 0);

           B:out STD_LOGIC_VECTOR (15 downto 0);

  loss:out STD_LOGIC := '0'

 );

end toOverCode;

architecture over_arh of toOverCode is

shared variable C: STD_LOGIC_VECTOR (31 downto 0):=x"00000000";

shared variable dop: STD_LOGIC_VECTOR (15 downto 0):=x"0000";

begin

process (CLK) begin

 if(CLK'event and CLK = '1') then

  if(A(31) = '1') then

   C := A-"00000001";

  else

   C := A;

  end if;

  if(C(31) = '1') then

   if(C(30 downto 15)= x"FFFF") then

    dop(15):=C(31);

    dop(14 downto 0) := C(14 downto 0);

    loss <= '0';

   else

    loss <= '1';

   end if;

  end if;

  if(C(31) = '0') then

   if(C(30 downto 15)= x"0000") then

    dop(15):=C(31);

    dop(14 downto 0) := C(14 downto 0);

    loss <= '0';

   else

    loss <= '1';

   end if;

  end if;

 end if;

end process;

B <= dop;

end over_arh;

Условное графическое обозначение конвертора в обратный код изображено на рисунке 6.

Рисунок 6 –УГО конвертора в обратный код.

 Конвертор имеет 2 входных сигнала:

  •  А[31..0] – информационный вход;
  •  сlk – сигнал синхронизации (по нарастающему фронту).

и 2 выходных сигнала:

  •  В[15..0] – информационный выход;
  •  Loss – выход, фиксирующий потерю значимости.

Конвертор сначала преобразует число в обратный код, а затем уменьшает разрядность до 16, при этом, если произошла потеря значимости, устанавливается высокий уровень на выход loss.


Сдвигатели.

В курсовом проекте есть одна операции умножения на константу которое нельзя реализовать используя стандартные модули:  0,75*D. Умножение на 0,75 – это сумма двух чисел, одно из которых – операнд, сдвинутый на один разряд вправо, а второе - операнд, сдвинутый на 2 разряда вправо. Поэтому целесообразно будет выполнить эту операции путем последовательных сдвигов и операций сложения. Для этого была написана программа умножения на языке VHDL.

Листинг программы умножения на 0,75 на языке VHDL:

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity D075 is

PORT    (   CLK:in STD_LOGIC;

  ENB: in STD_LOGIC;

           A:in STD_LOGIC_VECTOR (15 downto 0);

           B:out STD_LOGIC_VECTOR (15 downto 0)

       );

end D075;

architecture D075_arh of D075 is

shared variable A_0_5: STD_LOGIC_VECTOR(15 downto 0);

shared variable A_0_25: STD_LOGIC_VECTOR(15 downto 0);

shared variable A_r: STD_LOGIC_VECTOR(15 downto 0);

begin

   PROCESS (CLK) begin

       if (CLK'EVENT and CLK = '1') then

  if (ENB = '1') then

   A_0_5(15) := A(15);

   A_0_5(14 downto 0) := A(15 downto 1);

   A_0_25(15) := A_0_5(15);

   A_0_25(14 downto 0) := A_0_5(15 downto 1);

   A_r(15 downto 0):= A_0_5+A_0_25;

   

   if(A=x"FFFE") then

   A_r := x"FFFF";

   end if;

   if(A = x"FFFF") then

   A_r := x"0000";

   end if;

   if(A = x"FFFD") then

   A_r := x"FFFE";

   end if;

  end if;

       end if;

   END PROCESS;

B <= A_r;

end D075_arh;

Условное графическое обозначение сдвигателя изображено на рисунке 7.

 

Рисунок 7 – Сдвигатель.

Сдвигатель имеет информационные входы А, входы синхронизации по нарастающему фронту clk, входы разрешения работы ENB.


Обработка микрокоманд

Микрокоманды в операционном блоке обрабатываются под управлением управляющих сигналов от УА. Вся работа ОА разбита на несколько состояний(7):

  1.  Прием операнда А регистр R1;
  2.  Умножение операнда А на 7, прием операнда B в регистр R2;
  3.  Умножение 7A на 2, прием операнда С в регистр R3;
  4.  Выполнение операций 7A*2+B, 3*C, прием операнда D в регистр R4;
  5.  Выполнение операций (7A*2+B)-3*C, 0,75*D;
  6.  Выполнение операции (7A*2+B)-3*C / 0,75*D;
  7.  Конец вычислений.

Таким образом, с УА в операционный блок подаются 7 управляющих сигналов, в свою очередь, в УА от ОБ приходят сигналы, влияющие на работу УА:

  •  OVF – остановка УА, т.к. в вычислениях произошло переполнение.
  •  Null – флаг деления на ноль.


Проектирование управляющего автомата

Управляющий автомат был спроектирован с использованием системы StateCad. Условное графическое обозначение УА изображено на рисунке 8.

Рисунок 8 - УГО Управляющего автомата.

УА имеет 4 входа:

  •  CLK – вход синхронизации;
  •  RESET – вход асинхронного сброса;
  •  OVF – вход переполнения.

и 7 выходов:

  •  Y1…Y6управляющие сигналы;
  •  Endp – сигнал окончания вычислений.

Представление автомата в системе StateCAD


Граф-схема алгоритма работы УА

Основной алгоритм


Подпрограмма выполнений состояний


Листинг программы УА на языке
VHDL:

-This code is to be used for evaluation purposes only

  •  C:\STATECAD\LAB5.vhd
  •  VHDL code created by Visual Software Solution's StateCAD 4.11
  •  Fri May 17 16:35:17 2013

-This VHDL code (for use with IEEE compliant tools] was generated using:

  •  enumerated state assignment with structured code format.
  •  Minimization is enabled, implied else is enabled,
  •  and outputs are manually optimized.

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity UA is

PORT ( CLK:in STD_LOGIC;

   RESET: in  STD_LOGIC;

   OVF: in  STD_LOGIC;

   Y1: out  STD_LOGIC;

   Y2: out  STD_LOGIC;

   Y3: out  STD_LOGIC;

   Y4: out  STD_LOGIC;

   Y5: out  STD_LOGIC;

   Y6: out  STD_LOGIC;

   Endp: out STD_LOGIC

  );

end UA;

architecture UA_arh of UA is

type state_type is (S0, S1, S2, S3, S4, S5, S6, SE);

signal this_state: state_type;

shared variable div: natural:=0;

begin

process (RESET, CLK) begin

 if(RESET = '1') then

  this_state <= S0;

   elsif (OVF = '1') then

    this_state <= SE;

    elsif (CLK'event and CLK = '0') then

      case this_state is

       when S0 => this_state <= S1;

       when S1 => this_state <= S2;

       when S2 => this_state <= S3;

       when S3 => this_state <= S4;

       when S4 => this_state <= S5;

       when S5 => this_state <= S6;

       when S6 => this_state <= SE;

       when SE => this_state <= SE;

      end case;

 end if;

end PROCESS;

 

PROCESS (this_state) begin

case this_state is

when S0 => Y1<='0'; Y2<='0'; Y3<='0'; Y4<='0'; Y5<='0'; Y6<='0'; Endp<='0';

when S1 => Y1<='1'; Y2<='0'; Y3<='0'; Y4<='0'; Y5<='0'; Y6<='0'; Endp<='0';

when S2 => Y1<='0'; Y2<='1'; Y3<='0'; Y4<='0'; Y5<='0'; Y6<='0'; Endp<='0';

when S3 => Y1<='0'; Y2<='0'; Y3<='1'; Y4<='0'; Y5<='0'; Y6<='0'; Endp<='0';

when S4 => Y1<='0'; Y2<='0'; Y3<='0'; Y4<='1'; Y5<='0'; Y6<='0'; Endp<='0';

when S5 => Y1<='0'; Y2<='0'; Y3<='0'; Y4<='0'; Y5<='1'; Y6<='0'; Endp<='0';

when S6 => Y1<='0'; Y2<='0'; Y3<='0'; Y4<='0'; Y5 <='0'; Y6<='1'; Endp<='0';

when SE => Y1<='0'; Y2<='0'; Y3<='0'; Y4<='0'; Y5<='0'; Y6<='0'; Endp<='1';

end case;

end PROCESS;

end UA_arh;
Моделирование работы схемы

Выполнив компиляцию проекта, получаем следующие результаты (рисунок 9):

Рисунок 9 – результаты компиляции.

По полученным данным можно сделать вывод, что заполнение кристалла относительно маленькое (13%). Использовано в общем 92% контактов.

Моделирование проводилось с помощью входящего в пакет Quartus II симулятора. Краткое описание входных и выходных сигналов:

  •  CLK – сигнал синхронизации;
  •  RESET – сигнал сброса;
  •  MD[15..0]  – информационный вход (входная шина данных);
  •  final[15..0] – информационный выход (результат);
  •  Y1,..,Y6, Endp – управляющие сигналы;
  •  OVF – сигнал переполнения.

Так же диаграмма включает промежуточные результаты вычислений (A,7A,7A_2,B,7A_2plusB, C, 3C,AplusB_C,075D).

Результаты моделирования показаны на рисунках 10, 11,12.

Рисунок 10 - Временные диаграммы для отрицательных чисел.

Рисунок 11 Временные диаграммы для положительных чисел.

Рисунок 12 Временные диаграммы для деления на ноль.

Первый набор входных данных

A = -5[10] 

B = 4[10] 

C = 2[10] 

D = 4[10]

Результат выполнения макрооперации в обратном коде формируется на выходной шине final и равен -21.

Второй набор входных данных

A =  2[10] 

B =  4[10]

C =  2[10]

D =  4[10]

Результат выполнения макрооперации в обратном коде формируется на выходной шине final и равен 8 (обратный код), остаток отбрасывается.


Контроль правильности выполнения

В первом наборе при ручной проверке операции получаем следующее:

  1.  7 * А= -28[10];
  2.  7*A*2 = -56[10];
  3.  7*A*2+B = -52[10];
  4.  3C = 6[10];
  5.  (7*A*2+B)-3C = -58[10];
  6.  ((7*A*2+B)-3C) / 3C   = -21[10];

Как видно результат ручного расчета совпал с результатом моделирования.

Во втором наборе при ручной проверки операции получаем следующее:

  1.  7 * А= 14[10];
  2.  7*A*2 = 28[10];
  3.  7*A*2+B = 32[10];
  4.  3C = 6[10];
  5.  (7*A*2+B)-3C = 26[10];
  6.  ((7*A*2+B)-3C) / 3C   = 8[10];

Остаток от деления отбрасываем.

Как видно результат ручного расчета совпал с результатом моделирования.


Оценка быстродействия

Была произведена оценка быстродействия системы. Результаты показаны на рисунке 13.

Рисунок 13 – быстродействие схемы.

По данным результатам можно сделать вывод:

  •  наибольшая задержка в прохождении сигнала равна – 52.254 нс;
  •  тактовая частота работы – 20.07 МГц.


Оценка потребляемой мощности

Результаты оценки потребляемой мощности показаны на рисунке 14.

Рисунок 14 – потребляемая мощность.

По данным результатам можно сделать следующие выводы:

  •  общая мощность потребления – 335.64 мВт;
  •  динамическая мощность  0 мВт;
  •  статическая мощность – 303.09 мВт;


Заключение

Моделирование позволяет определить свойства или параметры разрабатываемого устройства и ошибки в его разработке. Построение моделей различного уровня решает различные задачи проектирования: синтез, анализ, корректировка, диагностика и так далее. Для решения данных задач используются различные системы автоматизированного проектирования, а так же специализированные языки описания цифровых устройств. Язык VHDL является наиболее удобным и подходящим как для моделирования, так и для разработки в целом.

Можно сделать вывод, что моделирование является неотъемлемой частью создания любого электронного устройства.

В результате выполнения курсовой работы было разработано и смоделировано устройство, реализующее исходную микрооперацию. По результатам моделирование можно сделать вывод, что устройство работает корректно.


Список использованной литературы

  1.  В.Стешенко. ПЛИС фирмы ALTERA: проектирование устройств обработки сигналов -М.: «Додека», 2000;
  2.  IEEE Standart 1149.1a –1993;
  3.  Курс лекции по дисциплине «Моделирование».  Лектор: Захаров А.П.
  4.  В.Стешенко. Школа разработки аппаратуры цифровой обработки сигналов на ПЛИС. // Chip News,1999, №8-10, 2000 №1 – 3;
  5.  Н.П. Вашкевич, Н.П. Сергеев. Основы вычислительной техники. Высшая школа, Москва, 1988;

EMBED Visio.Drawing.11  


 

А также другие работы, которые могут Вас заинтересовать

54076. Подорож Кораблем Часу. Логопедична розвага 127.5 KB
  Логопедична розвага Подорож Кораблем Часу Мета: узагальнити знання дітей про пори року вчити описувати їх; уточнити та закріпити словник синонімів омонімів та прислів’я; розвивати фонематичний слух вміння утворювати присвійні прикметники від іменниківназв диких звірів вміння ділити слова на склади підбирати слова з певною кількістю складів; удосконалювати навички звукового аналізу і синтезу слів; продовжувати розвивати дрібну моторику рук вміння працювати як правою так і лівою...
54077. Использование вектора на логопедических занятиях 216 KB
  Для пропедевтики оптической дисграфии в первую очередь необходимо использовать задания, направленные на развитие зрительно-пространственных представлений и зрительно-моторных координаций.
54078. Взаємозв’язок логопеда та родини у корекційно-відновлювальній роботі з дітьми логопатами 32.5 KB
  Одне з важливих завдань професійної діяльності вчителя логопеда дитячого дошкільного навчального закладу є залучення батьків до проведення роботи із дітьми – логопатами по закріпленню засвоєного матеріалу на корекційно відновлювальних заняттях. Оволодіння дитиною мови успішно йде тоді коли з ним займаються не тільки в дошкільному закладі але і в сім'ї: Передумовою ефективного залучення сімейного оточення до корекції звуковимови у дітей є чітко організована взаємодія логопеда з батьками регулярна...
54079. Зима 36.5 KB
  Матеріали: дзеркала на кожну дитину вітрячки сніжинки ілюстрації зими сніжинки чарівна паличка мікрофон предметні картинки музика Моцарта п’єса Сніжинки музика до пісні Сніжокпушокавтор не відомий бубон Хід заняття. Сніжинки. Логопед торкається паличкою до кожної дитини повідомляє що вони тепер сніжинки. А тепер мої сніжинки давай подорожувати та про зиму розповідати.
54080. «На гостину до пташок». Конспект підгрупового заняття з елементами логоритміки в старшій логопедичній групі 37 KB
  Стеценка Синичка картинки птахів. Як називаються птахи які мешкають у лісі лісові птахи Давайте послухаємо спів птахів. Гра на розвиток уваги: Хто як голос подає Дятел стукає: тук тук Ворона каркає: кра кра Горобець: цвірінь цвірінь Сорока: скреке ке скреке ке Голуб: туркоче Сова кричить: УУУ Ластівка: щебече Соловей: заливається свистить щебече Журавель: курличе Жайворонок: бринить Пропоную під музику передати нелегкий шлях птахів які відлітають у теплі краї:легкий біг зі змахами рук присідання з низько...
54081. ЛОНДОН - СТОЛИЦЯ ВЕЛИКОБРИТАНІЇ 80.5 KB
  Good morning! I’m very glad to see you. Today we’ll travel in the world of the English language together. We’ll practise to do tests, read and sum up all the information, which you know about London as the capital of Great Britain.
54082. Великобританія. Визначні місця Лондона 5.64 MB
  Today we will practice your speaking and listening skills. We will also read about the famous places of interest in London. в) Уведення в іншомовну атмосферу. Тренування англійських звуків(7 хв.). We start with English phonetics. The program “Professor Higgins. English without accent”will help us. The main menu is on your displays.
54083. What is London? 154.5 KB
  It is the oldest building. Since it was built in 11-th century, this castle has been a royal palace, a prison, a zoo and many others. Today it is a museum and houses the Crown Jewels. ( Tower of London).
54084. London - the capital of Great Britain 160 KB
  Yes, you are right travelling is very popular nowadays and to my mind there is nothing better than travelling around the world. Let's travel together today. I want you to visit one of the wonderful cities in the world. But you have to find out the name of the city from this task. Before doing it you have to get some instructions.