3. Nasjonalisering og nedgangstid - Distribusjonens påvirkning på filmatisk innflytelse
3.1 Forbruk og sensur
• Instalar o pacote build-essential e atualizar o sistema: $ sudo apt-get install build-essential
$ sudo apt-get update
• Baixar o arquivo systemc-2.2.0.tgz em www.systemc.org
• Para executar os passos de instalação, é necessário ter permissão de escrita nos diretórios. Logo, deve-se efetuar os passos como root (#) ou alterar as permissões para o usuário. • Copiar o arquivo em /usr/local e descompactar:
# cd /usr/local
# gzip -d systemc-2.2.0.tgz # tar -xvf systemc-2.2.0.tar
• Editar o arquivo systemc-2.2.0/src/sysc/utils/sc_utils_ids.cpp, incluindo no início: #include "string.h" #include "cstdlib" • Instalar: # export CXX=g++ # cd systemc-2.2.0 # mkdir objdir # cd objdir # ../configure # make # make install # make check
• Verificar se os testes rodaram corretamente após o último comando. Se sim, o SystemC está corretamente instalado e funcionando. Se não, rever os passos anteriores.
• Para executar um pequeno exemplo, como usuário comum ($) copiar o arquivo sc_tutorial.tgz na pasta do usuário (ex: /home/fulano) e descompactar:
$ gzip -d sc_tutorial.tgz $ tar -xvf sc_tutorial.tar $ cd sc_tutorial
• Editar o arquivo Makefile.defs e setar a variável SYSTEMC para: SYSTEMC = /usr/local/systemc-2.2.0
• Compilar o exemplo: $ cd simpleCounterSC $ make -f Makefile.osci
• Verificar se foi gerado o arquivo run.exe e executá-lo: $ ./run.exe
• Visualizar as formas de onda. Para isso, é preciso ter o programa GTKWave instalado. $ gtkwave trace.vcd &
I.2
TLM 2.0 e 1.0
• Não é necessário fazer nenhuma compilação. Basta baixar o arquivo TLM-2.0.1.tgz em www.systemc.org, copiar em /usr/local e descompactar.
# cd /usr/local
# tar -xvzf TLM-2.0.1.tgz
• OBS: Se for utilizar o ArchC, é necessário ter também o TLM1.0. Basta baixar o arquivo TLM-1.0.tgz e repetir o passo acima.
I.3
SystemC-AMS
• Baixar o arquivo systemc-ams-1.0BETA1.tar.gz em www.systemc-ams.org • Descompactar o arquivo em /usr/local :
# cd /usr/local
# gzip -d systemc-ams-1.0BETA1.tar.gz # tar -xvf systemc-ams-1.0BETA1.tar • Mudar para o diretório systemc-ams-1.0BETA1 :
• Setar a variável SYSTEMC_PATH : # export SYSTEMC_PATH=/usr/local/systemc-2.2.0 • Instalar: # ./configure # make # make install
• Setar a variável SYSTEMC_AMS_PATH :
# export SYSTEMC_AMS_PATH=/usr/local/systemc-ams-1.0BETA1
• Para executar um pequeno exemplo, como usuário comum ($) copiar o arquivo integ.tar.gz na pasta do usuário (ex: /home/fulano) e descompactar:
$ gzip -d integ.tar.gz $ tar -xvf integ.tar $ cd integ
• Compilar:
$ make -f Makefile.osci
• O arquivo tb_integ.exe deve ser gerado. Executar: $ ./tb_integ.exe
• Os arquivos trace_u e trace_y devem ser gerados. Para visualizá-los, pode-se utilizar o Matlab ou o Octave.
I.4
TUV_AMS_Library
• Baixar o arquivo TUV_AMS_Library.tar.gz em:
http://www.systemc-ams.org/download/TUV_AMS_Library.tar.gz • Verificar se o cmake está instalado. Caso contrário, instalar. • Como root (#), copiar o arquivo para /usr/local e descompactar:
# cd /usr/local
# tar -xvzf TUV_AMS_Library.tar.gz • Mudar para o diretório TUV_AMS_Library :
# cd TUV_AMS_Library
• Setar as variável SYSTEMC_HOME e SYSTEMCAMS_HOME : # export SYSTEMC_HOME = /usr/local/systemc-2.2.0
• Executar o script build.sh: # sh build.sh
• Os arquivos serão instalados na pasta output.
• Para executar um exemplo, como usuário comum ($) copiar o arquivo qpsk-transceiver.tar.gz na pasta do usuário (ex: /home/fulano) e descompactar:
$ tar -xvzf qpsk-transceiver.tar.gz $ cd qpsk-transceiver
• Verificar as variáveis do Makefile: SYSTEMC = /usr/local/systemc-2.2.0
SYSTEMCAMS = /usr/local/systemc-ams-1.0BETA1 TUV_LIB = /usr/local/TUV_AMS_Library/output • Compilar:
$ make -f Makefile
• O arquivo run.exe deve ser gerado. Executar: $ ./run.exe
• Ajustar os parâmetros da simulação e comparar as saídas tendo como base o arquivo QPSK_transmitter.pdf. O arquivo tr.vcd deve ser gerado. Para visualizá-lo, pode-se utilizar o gtkwave:
$ gtkwave tr.vcd
• Antes de executar uma nova simulação, executar o clean: $ make clean
I.5
ArchC
• Instalar antes os pacotes Bison e Flex : $ sudo apt-get install bison $ sudo apt-get install flex
• Baixar os seguintes arquivos no site http://archc.sourceforge.net/
– ArchC : acsim 2.0 (OBS: O mipsUnB foi gerado com o ArchC 2.0 e NÃO funciona com a versão 2.1 !!!)
– Processor Models: MIPS-I 0.7.8
– Compilers for target applications: mips-elf-tools.tgz
• Descompactar o ArchC :
$ tar -xvzf archc-2.0.tar.gz • Instalar:
$ cd archc-2.0
$ ./configure –with-systemc=/usr/local/systemc-2.2.0 –with-tlm=/usr/local/TLM-2005-04-08/tlm $ make
$ sudo make install
• Gerar os arquivos de um dos processadores (neste caso, o MIPS ): $ tar -xvzf mips1-v0.7.8.tgz
$ cd mips-v0.7.8 $ acsim mips1.ac -abi $ make -f Makefile.arch
• Testar o modelo com uma das aplicações binárias (por exemplo, o Quick Sort para o MIPS ): $ tar -xvzf qsort.tar.gz
$ cd qsort/bin
$ (caminho de onde o mips-v0.7.8 foi descompactado)/mips1.x –load=qsort_small • Para usar a toolchain do MIPS, basta descompactar a pasta no diretório /l/archc/compilers
e atualizar a variável PATH :
– Criar o diretório /l/archc/compilers: $ cd /
$ sudo mkdir l
$ sudo mkdir l/archc
$ sudo mkdir l/archc/compilers $ cd /l/archc/compilers
– Copiar o arquivo mips-elf-tools.tgz para o diretório criado e descompactar:
$ sudo cp (diretório onde o arquivo mips-elf-tools.tgz está)/mips-elf-tools.tgz .
$ sudo tar -xvzf mips-elf-tools.tgz
– Editar o arquivo oculto .bashrc, que está no diretório do usuário (por exemplo, /ho- me/fulano). Acrescentar a linha:
export PATH=$PATH:/l/archc/compilers/bin – Salvar e atualizar o terminal:
$ source .bashrc
– Verificar se os comandos estão disponíveis (por exemplo, digitando mips-elf-gcc no ter- minal).
I.6
SCNSL
• Baixar o arquivo em http://sourceforge.net/projects/scnsl/ • Descompactar e entrar no diretório:
$ tar -xvzf scnsl-beta.tgz $ cd scnsl
• Editar os seguintes campos do Makefile: SYSTEMC:=/usr/local/systemc-2.2.0 SYSTEMC-TLM:=/usr/local/TLM-2009-07-15
INSTALL_DIR:=(Diretório de instalação. Pode-se deixar o que já está lá.) • Instalar:
$ make all_test doc doc_dev
• Editar o arquivo .bashrc e incluir o caminho das pastas lib. Substituir user pelo seu usuário. $ gedit /home/user/.bashrc
Incluir no final do arquivo a linha:
export LD_LIBRARY_PATH=/usr/local/scnsl/lib:/usr/local/scnsl/scnsl_models/lib Salvar e carregar:
$ source /home/user/.bashrc
• Testar com o exemplo scnsl_test_linux : $ tar -xvzf scnsl_test_linux.tar.gz $ cd scnsl_test_linux
Editar o script compile_linux.sh colocando o caminho da pasta scnsl (por exemplo, /home/- fulano) no lugar de (DIRETORIO DO SCNSL) e executá-lo:
$ ./compile_linux.sh
Executar o arquivo binário gerado: $ ./test.x
OBS: Caso haja algum erro de permissão (permission denied), alterar a permissão do arquivo ou pasta em questão utilizando o comando chmod.
• OPTATIVO: Para executar os exemplos da SCNSL separadamente, descompactar o arquivo scnsl_tests e executar o Makefile de cada um. Por exemplo:
$ tar scnsl_tests.tar.gz $ cd scnsl_tests
$ cd bottleneck $ make