Departamento de Engenharia Electrotécnica e de Computadores Sistemas Digitais 2010/2011 Instituto Superior Técnico - Universidade Técnica de Lisboa MEEC 4º Trabalho de Laboratório Registos e Contadores Objectivo: Pretende-se com este trabalho que os alunos se familiarizem com a utilização de registos e contadores. Este trabalho é considerado para avaliação de conhecimentos. No início da aula cada grupo impreterivelmente apresentará os elementos de projecto referidos no texto. Em caso de erro, estes elementos poderão ser complementados (com penalização na nota) por uma errata elaborada durante a aula. Durante a aula o grupo completará o relatório com as conclusões sobre o funcionamento do circuito, que entregará no final da aula. Personalização Grupos de 2 alunos: Defina o valor N como: N = último dígito do número de aluno de um dos membros do grupo. Defina o valor M como: M = último dígito do número de aluno do outro membro do grupo. Grupos de 1 aluno: Defina o valor N como: N = último dígito do número do aluno. Defina o valor M como: M = penúltimo dígito do número do aluno. Defina V como: V = N 16 + M. Parte 1 - Projecto de um Contador Binário 1.1 Na figura 1 apresenta-se o esquema de um contador, de acordo com a norma internacional IEC 617. Explique, de forma sucinta, mas clara e precisa, qual a função do circuito e qual a função de cada uma das suas entradas (i.e. para que servem). 1.2 Pretende-se projectar, com base em 2 circuitos idênticos ao da figura 1, um contador binário que concretize um ciclo de contagem entre V e V+16, do seguinte modo: i) quando chega ao estado V, a contagem torna-se ascendente (até V+16), ii) quando chega ao estado V+16, a contagem torna-se decrescente (até V). Sugestão: Utilize um latch SR para guardar o modo de contagem (ascendente ou decrescente). 1.3 Inclua uma entrada PARAR para, quando activa, parar a contagem mantendo o contador no mesmo estado. 1.4 Inclua uma entrada INI para, quando activa, colocar o circuito no estado correspondente ao valor V. 1.5 Apresente o esquema de ligações do circuito que concretiza o projecto especificado nas alíneas anteriores. Justifique todas as opções de projecto tomadas. CTR DIV 16 CLR L UP CT=0 M1 M2 M3 M4 3,5CT=15 4,5CT=0 CE0 CE G5 CLK C6 / 2,3,5 + / 2,4,5 - D0 D1 D2 D3 1,6D [1] [2] [4] [8] Q0 Q1 Q2 Q3 Figura 1. Esquema de contador binário módulo 16
Departamento de Engenharia Electrotécnica e de Computadores Sistemas Digitais 2010/2011 Instituto Superior Técnico - Universidade Técnica de Lisboa Parte 2 Projecto e Análise de Circuito com Registo de Deslocamento MEEC 2.1. Na figura 2 apresenta-se o esquema de um registo de deslocamento, de acordo com a norma internacional IEC 617. Explique, de forma sucinta, mas clara e precisa, qual a função do circuito e qual a função de cada uma das suas entradas (i.e. para que servem). 2.2. Projecte, com base no circuito da figura e lógica adicional, um circuito com os seguintes modos de funcionamento, definidos pelas entradas de controlo SC: SC1 SC0 Descrição do Funcionamento 0 0 Rotação à esquerda. 0 1 Rotação à direita. 1 0 Rotação à esquerda, com deslocamento de 2 bits. 1 1 Carregamento paralelo de SW 3-0. Em qualquer dos modos de funcionamento, a alteração do valor das saídas deve ser síncrona com o flanco ascendente do sinal de relógio. Considere deslocamento à esquerda, o deslocamento no sentido do bit menos significativo para o mais significativo (Q 3 Q 0 ), e deslocamento à direita, o deslocamento no sentido inverso (Q 3 Q 0 ). Rotação é um deslocamento em que o valor que sai por um dos extremos é o mesmo valor que vai ser introduzido no outro. Inclua uma entrada PARAR para, quando activa, parar as rotações mantendo o registo no mesmo estado. LOAD LEFT CE M 1 M2 M3 M4 G5 SRG 4 CLK C6 / 2,3,5 / 2,4,5 SRI D 3 D 2 D 1 D 0 SRL 2,4,5,6 D 2,3,5,6 D Q 3 Q 2 Q 1 Q 0 Figura 3. Esquema de Registo Multimodo
Departamento de Engenharia Electrotécnica e de Computadores Sistemas Digitais 2010/2011 Instituto Superior Técnico - Universidade Técnica de Lisboa MEEC Parte 3 - Realização na placa de prototipagem Para concretizar o projecto utilize o esquema sdl4.sch disponível na página da cadeira. Este esquema tem já as saídas pré-ligadas aos LEDs e ecrãs. O esquema inclui 2 componentes CB4CLED, para concretizar os contadores da figura 1, e um registo SR4RLED, para concretizar o registo da figura 2. 3.1 No ambiente de projecto ISE/Xilinx crie um novo projecto na pasta ALUNOS. Nota: não utilize nomes de projecto e/ou de pastas com caracteres acentuados ou c-cedilhado, porque estes caracteres não são suportados totalmente pelo software. Não se esqueça de copiar para a pasta do projecto que criou os ficheiros SdL4.sch, Basys.ucf ou Basys2.ucf, Clk_div.vhd, Clk_div.sym, Disp7.vhd e Disp7.sym. Adicione ao projecto SdL4.sch, Basys.ucf ou Basys2.ucf, Clk_div.vhd, Disp7.vhd com Project -> Add Source. 3.2 Faça as ligações adicionais ao esquema sdl4, de modo a concretizar os projectos realizados nas partes 1 e 2 deste trabalho. Utilize o componente LDCP para realizar o latch RS (parte 1). Use as entradas assíncronas PRE e CLR. Use os interruptores de entrada SW 3-0 para introduzir a palavra de inicialização (parte 2). Utilize os interruptores de entrada SW 7-6 para definir o modo de funcionamento do registo (SC 1-0 ) (parte 2). Ligue as entradas PARAR (partes 1 e 2) e INI (parte 1) a botões de pressão. Pode utilizar os restantes ecrãs e LEDs simples para visualizar quaisquer outros sinais de interesse. 3.3 Faça o carregamento do projecto para a placa de prototipagem e verifique o seu funcionamento, para todos os casos projectados. Mostre ao docente os resultados obtidos.
About Design Elements CB4CLED Introduction This design element is a synchronously loadable, asynchronously clearable, cascadable, bidirectional binary counter. The asynchronous clear (CLR) input, when High, overrides all other inputs and forces the Q outputs, terminal count (TC), and clock enable out (CEO) to logic level zero, independent of clock transitions. The data on the D inputs is loaded into the counter when the load enable input (L) is High during the Low-to-High clock (C) transition, independent of the state of clock enable (CE). The Q outputs decrement when CE is High and UP is Low during the Low-to- High clock transition. The Q outputs increment when CE and UP are High. The counter ignores clock transitions when CE is Low. For counting up, the TC output is High when all Q outputs and UP are High. For counting down, the TC output is High when all Q outputs and UP are Low. Create larger counters by connecting the CEO output of each stage to the CE input of the next stage and connecting the C, UP, L, and CLR inputs in parallel. CEO is active (High) when TC and CE are High. The maximum length of the counter is determined by the accumulated CE-to-TC propagation delays versus the clock period. The clock period must be greater than n (t CE-TC ), where n is the number of stages and the time t CE-TC is the CE-to-TC propagation delay of each stage. When cascading counters, use the CEO output if the counter uses the CE input or use the TC output if it does not. For CPLD parts, see CB2X1, CB4X1, CB8X1, CB16X1 for high-performance cascadable, bidirectional counters. This counter is asynchronously cleared, outputs Low, when power is applied. For FPGA devices, power-on conditions are simulated when global set/reset (GSR) is active. GSR defaults to active-high but can be inverted by adding an inverter in front of the GSR input of the appropriate STARTUP_architecture symbol. Logic Table Inputs Outputs CLR L CE C UP Dz D0 Qz Q0 TC CEO 1 X X X X X 0 0 0 0 1 X X Dn Dn TC CEO 0 0 0 X X X No change No change 0 Spartan-3E Libraries Guide for Schematic Designs ISE 10.1 www.xilinx.com 89
About Design Elements LDCP Introduction The design element is a transparent data latch with data (D), asynchronous clear (CLR) and preset (PRE) inputs. When (CLR) is High, it overrides the other inputs and resets the data (Q) output Low. When PRE is High and (CLR) is low, it presets the data (Q) output High. (Q) reflects the data (D) input while the gate (G) input is High and (CLR) and PRE are Low. The data on the (D) input during the High-to-Low gate transition is stored in the latch. The data on the (Q) output remains unchanged as long as (G) remains Low. This latch is asynchronously cleared, outputs Low, when power is applied. For FPGA devices, power-on conditions are simulated when global set/reset (GSR) is active. GSR defaults to active-high but can be inverted by adding an inverter in front of the GSR input of the appropriate STARTUP_architecture symbol. Logic Table Inputs CLR PRE G D Q 1 X X X 0 0 1 X X 1 0 0 1 D D Outputs 0 0 0 X No Change 0 0 D D Design Entry Method This design element is only for use in schematics. Available Attributes Attribute Type Allowed Values Default Description INIT INTEGER 0 or 1 0 Specifies the initial value upon power-up or the assertion of GSR for the (Q) port. For More Information See the Spartan-3E User Guide. Spartan-3E Libraries Guide for Schematic Designs ISE 10.1 www.xilinx.com 263
About Design Elements SR4RLED Introduction This design element is a shift register with shift-left (SLI) and shift-right (SRI) serial inputs, parallel inputs (D), parallel outputs (Q) and four control inputs clock enable (CE), load enable (L), shift left/right (LEFT), and synchronous reset (R). The register ignores clock transitions when (CE) and (L) are Low. The synchronous (R), when High, overrides all other inputs during the Low-to-High clock (C) transition and resets the data outputs (Q) Low. When (L) is High and (R) is Low during the Low-to-High clock transition, the data on the (D) inputs is loaded into the corresponding (Q) bits of the register. When (CE) is High and (L) and (R) are Low, data shifts right or left, depending on the state of the LEFT input. If LEFT is High, data on (SLI) is loaded into (Q0) during the Low-to-High clock transition and shifted left (for example, to Q1 and Q2) during subsequent clock transitions. If LEFT is Low, data on the (SRI) is loaded into the last (Q) output during the Low-to-High clock transition and shifted right ) during subsequent clock transitions. The logic tables below indicates the state of the (Q) outputs under all input conditions. This register is asynchronously cleared, outputs Low, when power is applied. For FPGA devices, power-on conditions are simulated when global set/reset (GSR) is active. GSR defaults to active-high but can be inverted by adding an inverter in front of the GSR input of the appropriate STARTUP_architecture symbol. Logic Table Inputs Outputs R L CE LEFT SLI SRI D3 D0 C Q0 Q3 Q2 Q1 1 X X X X X X 0 0 0 0 1 X X X X D3 D0 D0 D3 Dn 0 0 0 X X X X X No Change No Change 0 0 1 1 SLI X X SLI q2 qn-1 No Change 0 0 1 0 X SRI X q1 SRI qn+1 qn-1 or qn+1 = state of referenced output one setup time prior to active clock transition Spartan-3E Libraries Guide for Schematic Designs ISE 10.1 www.xilinx.com 703