PROGRAMOWANIE STRUKTUR CYFROWYCH. Konwencje dla asemblera KCPSM3. Simple IO. PicoBlaze - projekty. c Dr inż. Ignacy Pardyka. Rok akad.
|
|
- Nina Podgórska
- 9 lat temu
- Przeglądów:
Transkrypt
1 PROGRAMOWANIE STRUTUR CYFROWYCH PicoBlaze - projekty c Dr inż. Ignacy Pardyka UNIWERSYTET JANA OCHANOWSIEGO w ielcach 1 Rok akad. 2014/ Instytut Fizyki, Zakład Informatyki, ignacy.pardyka@ujk.edu.pl c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 1 Program dla CPSM3 2 Program dla CPSM3 3 z przerwaniami Program dla CPSM3 4 Interfejsy standardowe FPGA: omunikacja PC z Nexys2 przez USB i zastosowania FPGA: Interfejs RS232 i zastosowania FPGA: Interfejs VGA i zastosowania FPGA: Interfejs PS/2 - klawiatura uniwersalna FPGA: Interfejs PS/2 - mysz 5 Literatura c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 Program dla CPSM3 onwencje dla asemblera CPSM3 Etykiety adresowe zakończone znakiem :, np. forever: omentarz w linii po znaku ; Heksadecymalne literały liczbowe, np. FA c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91
2 Program dla CPSM3 Program dla CPSM3 Program - założenia Program: dyrektywy Program ma wyznaczać wartość wyrażenia: a 2 + b 2 Wynik ma być wyświetlony na 8 diodach Wartości a, b mają być odczytane z przełączników: a: sw[7:4] b: sw[3:0] Wykorzystanie pamięci danych ; Square circuit with simple I/O interface ;Program operation: ; - read switch to a (4 MSBs) and b (4 LSBs) ; - calculate a*a + b*b ; - display data on 8 leds ; Dataconstant constant UP_NIBBLE_MAS, 0F ; ; Dataram address alias constant a_lsb, 00 ; lower byte of a constant b_lsb, 02 ; lower byte of b constant aa_lsb, 04 ; lower byte of a*a constant aa_msb, 05 ; upper byte of a*a constant bb_lsb, 06 ; lower byte of b*b constant bb_msb, 07 ; upper byte of b*b constant aabb_lsb, 08 ; lower byte of a*a + b*b constant aabb_msb, 09 ; upper byte of a*a + b*b constant aabb_cout, 0A ; carry of a*a + b*b c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 Program dla CPSM3 Program dla CPSM3 Program: dyrektywy Program główny ; Register alias ;commonly used local variables namereg s0, data ;reg for temporary data namereg s1, addr ;reg for temporary mem & i/o port addr namereg s2, i ;general-purpose loop index ;global variables namereg sf, sw_in ; Port alias ; input port definitions constant sw_port, 01 ;8-bit switches ; output port definitions constant led_port, 05 ; Main program ;Calling hierarchy: ; ;main ; - clr_data_mem ; - read_switch ; - get_upper_nibble ; - get_lower_nibble ; - square ; - mult_soft ; - write_led ; call clr_data_mem forever: call read_switch call square call write_led jump forever c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91
3 Program dla CPSM3 Program dla CPSM3 ;routine: clr_data_mem ; function: clear data ram ; temp register: data, i clr_data_mem: load i, 40 ;unitize loop index to 64 load data, 00 clr_mem_loop: sub i, 01 ;dec loop index store data, (i) jump nz, clr_mem_loop ;repeat until i=0 ;routine: read switch ; function: obatin two nibbles from input ; input register: sw_in ; temp register: data read_switch: input sw_in, sw_port ;read switch input load data, sw_in call get_lower_nibble store data, a_lsb ;store a to data ram load data, sw_in call get_upper_nibble store data, b_lsb ;store b to data ram c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 Program dla CPSM3 Program dla CPSM3 ;routine: get_lower_nibble ; function: get lower 4-bit of data ; input register: data ; output register: data get_lower_nibble: and data, UP_NIBBLE_MAS ;clear upper nibble ;routine: get_lupper_nible ; function: get upper 4-bit of in_data ; input register: data ; output register: data get_upper_nibble: sr0 data ;right shift 4 times sr0 data sr0 data sr0 data ;routine: write_led ; function: output 8 LSBs of result to 8 leds ; temp register: data write_led: fetch data, aabb_lsb output data, led_port c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91
4 Program dla CPSM3 Program dla CPSM3 ;routine: square ; function: calculate a*a + b*b ; data/result stored in ram started w/ SQ_BASE_ADDR ; temp register: s3, s4, s5, s6, data square: ;calculate a*a fetch s3, a_lsb ;load a fetch s4, a_lsb ;load a call mult_soft ;calculate a*a store s6, aa_lsb ;store lower byte of a*a store s5, aa_msb ;store upper byte of a*a ;calculate b*b fetch s3, b_lsb ;load b fetch s4, b_lsb ;load b call mult_soft ;calculate b*b store s6, bb_lsb ;store lower byte of b*b store s5, 07 ;store upper byte of b*b ;calculate a*a+b*b fetch data, aa_lsb ;get lower byte of a*a add data, s6 ;add lower byte of a*a+b*b store data, aabb_lsb ;store lower byte of a*a+b*b fetch data, aa_msb ;get upper byte of a*a addcy data, s5 ;add upper byte of a*a+b*b store data, aabb_msb ;store upper byte of a*a+b*b load data, 00 ;clear data, but keep carry addcy data, 00 ;get carry-out from previous + store data, aabb_cout ;store carry-out of a*a+b*b c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 ;routine: mult_soft ; function: 8-bit unsigned multiplier using ; shift-and-add algorithm ; input register: ; s3: multiplicand ; s4: multiplier ; output register: ; s5: upper byte of product ; s6: lower byte of product ; temp register: i mult_soft: load s5, 00 ;clear s5 load i, 08 ;initialize loop index mult_loop: sr0 s4 ;shift lsb to carry jump nc, shift_prod ;lsb is 0 add s5, s3 ;lsb is 1 shift_prod: sra s5 ;shift upper byte right, ;carry to MSB, LSB to carry sra s6 ;shift lower byte right, ;lsb of s5 to MSB of s6 sub i, 01 ;dec loop index jump nz, mult_loop ;repeat until i=0 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 Program dla CPSM3 Program dla CPSM3 Symulacja w pblaze IDE Różnice: CPSM3 - pblaze c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91
5 Program dla CPSM3 Program dla CPSM3 Różnice: CPSM3 - pblaze Różnice: CPSM3 - pblaze c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 module pico_sio ( input wire clk, reset, input wire [7:0] sw, output wire [7:0] Led ); // signal declaration // CPSM3/ROM signals wire [9:0] address; wire [17:0] instruction; wire [7:0] port_id, in_port, out_port; wire write_strobe; // register signals reg [7:0] led_reg; // CPSM and ROM instantiation kcpsm3 proc_unit (.clk(clk),.reset(reset),.address(address),.instruction(instruction),.port_id(),.write_strobe(write_strobe),.out_port(out_port),.read_strobe(),.in_port(in_port),.interrupt(1 b0),.interrupt_ack()); sio_rom rom_unit (.clk(clk),.address(address),.instruction(instruction)); c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91
6 Testbench timescale 1ns / 1ps module pico_sio_tb; // output interface clk) if (write_strobe) led_reg <= out_port; assign Led = led_reg; // input interface assign in_port = sw; endmodule reg clk, reset; reg [7:0] sw; wire [7:0] Led; localparam T = 20; pico_sio uut (.clk(clk),.reset(reset),.sw(sw),.led(led) ); always begin #(T/2) clk <= ~clk; end initial begin clk = 0; reset = 1; #(T) reset = 0; sw[7:4] = 4 b0100; // a sw[3:0] = 4 b0011; // b end endmodule c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 Symulacja w Xilinx ISE Symulacja w Xilinx ISE c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91
7 Symulacja w Xilinx ISE Implementacja w FPGA NET "clk" NET "reset" NET "Led<0>" NET "Led<1>" NET "Led<2>" NET "Led<3>" NET "Led<4>" NET "Led<5>" NET "Led<6>" NET "Led<7>" NET "sw<0>" NET "sw<1>" NET "sw<2>" NET "sw<3>" NET "sw<4>" NET "sw<5>" NET "sw<6>" NET "sw<7>" LOC = "B8"; LOC = "H13"; LOC = "J14"; LOC = "J15"; LOC = "15"; LOC = "14"; LOC = "E17"; LOC = "P15"; LOC = "F4"; LOC = "R4"; LOC = "G18"; LOC = "H18"; LOC = "18"; LOC = "17"; LOC = "L14"; LOC = "L13"; LOC = "N17"; LOC = "R17"; c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 1 Program dla CPSM3 2 Program dla CPSM3 3 z przerwaniami Program dla CPSM3 4 Interfejsy standardowe FPGA: omunikacja PC z Nexys2 przez USB i zastosowania FPGA: Interfejs RS232 i zastosowania FPGA: Interfejs VGA i zastosowania FPGA: Interfejs PS/2 - klawiatura uniwersalna FPGA: Interfejs PS/2 - mysz 5 Literatura c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 Wejścia c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91
8 Wyjścia Dekoder adresów wyjść c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 Dekoder adresów wyjść w HDL Porty wyjść w HDL // decoding circuit for enable signals if (write_strobe) case (port_id[1:0]) 2 b00: en_d = 4 b0001; 2 b01: en_d = 4 b0010; 2 b10: en_d = 4 b0100; 2 b11: en_d = 4 b1000; endcase else en_d = 4 b0000; // outport port id: // 0x00: ds0 // 0x01: ds1 // 0x02: ds2 // 0x03: ds3 // registers clk) begin if (en_d[0]) ds0_reg <= out_port; if (en_d[1]) ds1_reg <= out_port; if (en_d[2]) ds2_reg <= out_port; if (en_d[3]) ds3_reg <= out_port; end c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91
9 Urządzenia wejściowe i wyjściowe na płycie Nexys2 Program: dyrektywy Program dla CPSM3 Przełączniki ustawiające 8-bitowe wartości: a, b Przycisk button 0: zerowanie pamięci danych Przycisk button 1: zapis wartości (a, b) - ustawianie flagi Wskaźniki 7-segmentowe (dp, 4 x 4 bit): 17-bit wynik hex ; Square circuit with 7-seg LED interface ;Program operation: ; - read a and b from switch ; - calculate a*a + b*b ; - display data on 7-seg led ; Data ram address alias constant a_lsb, 00 constant b_lsb, 02 constant aa_lsb, 04 constant aa_msb, 05 constant bb_lsb, 06 constant bb_msb, 07 constant aabb_lsb, 08 constant aabb_msb, 09 constant aabb_cout, 0A constant led0, 10 constant led1, 11 constant led2, 12 constant led3, 13 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 Program dla CPSM3 Program dla CPSM3 Program: dyrektywy Program główny ; Register alias ;commonly used local variables namereg s0, data ;reg for temporary data namereg s1, addr ;reg for temporary mem & i/o port addr namereg s2, i ;general-purpose loop index ;global variables namereg sf, switch_a_b ;ram offset for current switch input ; Port alias ; input port definitions constant rd_flag_port, 00 ;2 flags (xxxxxxsc): constant sw_port, 01 ;8-bit switch ; output port definitions constant sseg0_port, 00 ;7-seg led 0 constant sseg1_port, 01 ;7-seg led 1 constant sseg2_port, 02 ;7-seg led 2 constant sseg3_port, 03 ;7-seg led 3 ; Main program ;Calling hierarchy: ; ;main ; - init ; - proc_btn ; - init ; - square ; - mult_soft ; - load_led_pttn ; - get_lower_nibble ; - get_upper_nibble ; - hex_to_led ; - disp_led ; ; ========================================================= c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91
10 Program dla CPSM3 Program dla CPSM3 Program główny call init forever: ;main loop body call proc_btn call square call load_led_pttn call disp_led jump forever ;initialization ;check & process buttons ;calculate square ;store led patterns to ram ;output led pattern ;routine: init ; function: perform initialization, clear register/ram ; output register: ; switch_a_b: cleared to 0 ; temp register: data, i init: ;clear memory load i, 40 ;unitize loop index to 64 load data, 00 clr_mem_loop: store data, (i) sub i, 01 ;dec loop index jump nz, clr_mem_loop ;repeat until i=0 ;clear register load switch_a_b, 00 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 Program dla CPSM3 Program dla CPSM3 ;routine: proc_btn ; function: check two buttons and process the display ; input reg: ; switch_a_b: ram offset (0 for a and 2 for b) ; output register: ; s3: store input port flag ; switch_a_b: may be toggled ; temp register used: data, addr proc_btn: input s3, rd_flag_port ;get flag ;check and process c button test s3, 01 ;check c button flag jump z, chk_btns ;flag not set call init ;flag set, clear jump proc_btn_done chk_btns: ;check and process s button test s3, 02 ;check s button flag jump z, proc_btn_done ;flag not set input data, sw_port ;get switch load addr, a_lsb ;get addr of a add addr, switch_a_b ;add offset store data, (addr) ;write data to ram ;update current disp position xor switch_a_b, 02 ;toggle between 00, 02 proc_btn_done: routine: load_led_pttn ; function: read 3 LSBs of switch input and convert the ; desired values to four led patterns and ; load them to ram ; switch: 000:a; 001:b; 010:a^2; 011:b^2; ; others: a^2 + b^2 ; tmp register used: data, addr ; s6: data from sw input port load_led_pttn: input s6, sw_port ;get switch sl0 s6 ;*2 to obtain addr offset compare s6, 08 ;sw>100? jump c, sw_ok ;no load s6, 08 ;yes, sw error, make default sw_ok: ;process byte 0, lower nibble load addr, a_lsb add addr, s6 ;get lower addr fetch data, (s6) ;get lower byte call get_lower_nibble ;get lower nibble call hex_to_led ;convert to led pattern store data, led0 ;process byte 0, upper nibble fetch data, (addr) call get_upper_nibble c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91
11 Program dla CPSM3 Program dla CPSM3 call hex_to_led store data, led1 ;process byte 1, lower nibble add addr, 01 ;get upper addr fetch data, (addr) call get_lower_nibble call hex_to_led store data, led2 ;process byte 1, upper nibble fetch data, (addr) call get_upper_nibble call hex_to_led ;check for sw=100 to process carry as led dp compare s6, 08 ;display final result? jump nz, led_done ;no add addr, 01 ;get carry addr fetch s6, (addr) ;s6 to store carry test s6, 01 ;carry=1? jump z, led_done ;no and data, 7F ;yes, assert msb (dp) to 0 led_done: store data, led3 ;routine: disp_led ; function: output four led patterns ; tmp register used: data disp_led: fetch data, led0 output data, sseg0_port fetch data, led1 output data, sseg1_port fetch data, led2 output data, sseg2_port fetch data, led3 output data, sseg3_port c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 Program dla CPSM3 Program dla CPSM3 ;routine: hex_to_led ; function: convert a hex digit to 7-seg led pattern ; input register: data ; output register: data hex_to_led: compare data, 00 jump nz, comp_hex_1 load data, 81 ;7seg pattern 0 comp_hex_1: compare data, 01 jump nz, comp_hex_2 load data, CF ;7seg pattern 1 comp_hex_2: compare data, 02 jump nz, comp_hex_3 load data, 92 ;7seg pattern 2 comp_hex_3: compare data, 03 jump nz, comp_hex_4 load data, 86 ;7seg pattern 3 comp_hex_4: compare data, 04 jump nz, comp_hex_5 load data, CC ;7seg pattern 4 comp_hex_5: compare data, 05 jump nz, comp_hex_6 load data, A4 ;7seg pattern 5 comp_hex_6: compare data, 06 jump nz, comp_hex_7 load data, A0 ;7seg pattern 6 comp_hex_7: compare data, 07 jump nz, comp_hex_8 load data, 8F ;7seg pattern 7 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91
12 Program dla CPSM3 Program dla CPSM3 comp_hex_8: compare data, 08 jump nz, comp_hex_9 load data, 80 ;7seg pattern 8 comp_hex_9: compare data, 09 jump nz, comp_hex_a load data, 84 ;7seg pattern 9 comp_hex_a: compare data, 0A jump nz, comp_hex_b load data, 88 ;7seg pattern a comp_hex_b: compare data, 0B jump nz, comp_hex_c load data, E0 ;7seg pattern b comp_hex_c: compare data, 0C jump nz, comp_hex_d load data, B1 comp_hex_d: compare data, 0D jump nz, comp_hex_e load data, C2 comp_hex_e: compare data, 0E jump nz, comp_hex_f load data, B0 comp_hex_f: load data, B8 hex_done: ;7seg pattern C ;7seg pattern d ;7seg pattern E ;7seg pattern f c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 Program dla CPSM3 Program dla CPSM3 ;routine: get_lower_nibble ; function: get lower 4-bit of data ; input register: data ; output register: data get_lower_nibble: and data, 0F ;clear upper nibble ;routine: get_lupper_nible ; function: get upper 4-bit of in_data ; input register: data ; output register: data get_upper_nibble: sr0 data ;right shift 4 times sr0 data sr0 data sr0 data routine: square ; function: calculate a*a + b*b ; data/result stored in ram started w/ SQ_BASE_ADDR ; temp register: s3, s4, s5, s6, data square: ;calculate a*a fetch s3, a_lsb ;load a fetch s4, a_lsb ;load a call mult_soft ;calculate a*a store s6, aa_lsb ;store lower byte of a*a store s5, aa_msb ;store upper byte of a*a ;calculate b*b fetch s3, b_lsb ;load b fetch s4, b_lsb ;load b call mult_soft ;calculate b*b store s6, bb_lsb ;store lower byte of b*b store s5, bb_msb ;store upper byte of b*b c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91
13 Program dla CPSM3 Program dla CPSM3 ;calculate a*a+b*b fetch data, aa_lsb ;get lower byte of a*a add data, s6 ;add lower byte of a*a+b*b store data, aabb_lsb ;store lower byte of a*a+b*b fetch data, aa_msb ;get upper byte of a*a addcy data, s5 ;add upper byte of a*a+b*b store data, aabb_msb ;store upper byte of a*a+b*b load data, 00 ;clear data, but keep carry addcy data, 00 ;get carry from previous + store data, aabb_cout ;store carry of a*a+b*b routine: mult_soft ; function: 8-bit unsigned multiplier using ; shift-and-add algorithm ; input register: ; s3: multiplicand ; s4: multiplier ; output register: ; s5: upper byte of product ; s6: lower byte of product ; temp register: i mult_soft: load s5, 00 ;clear s5 load i, 08 ;initialize loop index mult_loop: sr0 s4 ;shift lsb to carry jump nc, shift_prod ;lsb is 0 add s5, s3 ;lsb is 1 shift_prod: sra s5 ;shift upper byte right, ;carry to MSB, LSB to carry sra s6 ;shift lower byte right, ;lsb of s5 to MSB of s6 sub i, 01 ;dec loop index jump nz, mult_loop ;repeat until i=0 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 module pico_btn ( input wire clk, reset, input wire [7:0] sw, input wire [1:0] btn, output wire [3:0] an, output wire [7:0] sseg ); // signal declaration // CPSM3/ROM signals wire [9:0] address; wire [17:0] instruction; wire [7:0] port_id, out_port; reg [7:0] in_port; wire write_strobe, read_strobe; // I/O port signals // output enable reg [3:0] en_d; // four-digit seven-segment led display reg [7:0] ds3_reg, ds2_reg, ds1_reg, ds0_reg; // two pushbuttons reg btnc_flag_reg, btns_flag_reg; wire btnc_flag_next, btns_flag_next; wire set_btnc_flag, set_btns_flag, clr_btn_flag; // I/O modules disp_mux disp_unit (.clk(clk),.reset(reset),.in3(ds3_reg),.in2(ds2_reg),.in1(ds1_reg),.in0(ds0_reg),.an(an),.sseg(sseg)); debounce btnc_unit (.clk(clk),.reset(reset),.sw(btn[0]),.db_level(),.db_tick(set_btnc_flag)); debounce btns_unit (.clk(clk),.reset(reset),.sw(btn[1]),.db_level(),.db_tick(set_btns_flag)); // CPSM and ROM instantiation kcpsm3 proc_unit (.clk(clk),.reset(1 b0),.address(address),.instruction(instruction),.port_id(port_id),.write_strobe(write_strobe),.out_port(out_port),.read_strobe(read_strobe),.in_port(in_port),.interrupt(1 b0),.interrupt_ack()); btn_rom rom_unit (.clk(clk),.address(address),.instruction(instruction)); c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91
14 // output interface // outport port id: // 0x00: ds0 // 0x01: ds1 // 0x02: ds2 // 0x03: ds3 // registers clk) begin if (en_d[0]) ds0_reg <= out_port; if (en_d[1]) ds1_reg <= out_port; if (en_d[2]) ds2_reg <= out_port; if (en_d[3]) ds3_reg <= out_port; end // decoding circuit for enable signals if (write_strobe) case (port_id[1:0]) 2 b00: en_d = 4 b0001; 2 b01: en_d = 4 b0010; 2 b10: en_d = 4 b0100; 2 b11: en_d = 4 b1000; endcase else en_d = 4 b0000; c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 // input interface // input port id // 0x00: flag // 0x01: switch // input register (for flags) clk) begin btnc_flag_reg <= btnc_flag_next; btns_flag_reg <= btns_flag_next; end assign btnc_flag_next = (set_btnc_flag)? 1 b1 : (clr_btn_flag)? 1 b0 : btnc_flag_reg; assign btns_flag_next = (set_btns_flag)? 1 b1 : (clr_btn_flag)? 1 b0 : btns_flag_reg; // decoding circuit for clear signals assign clr_btn_flag = read_strobe && (port_id[0]==1 b0); // input multiplexing case(port_id[0]) 1 b0: in_port = {6 b0, btns_flag_reg, btnc_flag_reg}; 1 b1: in_port = sw; endcase endmodule c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 z przerwaniami 1 Program dla CPSM3 2 Program dla CPSM3 3 z przerwaniami Program dla CPSM3 4 Interfejsy standardowe FPGA: omunikacja PC z Nexys2 przez USB i zastosowania FPGA: Interfejs RS232 i zastosowania FPGA: Interfejs VGA i zastosowania FPGA: Interfejs PS/2 - klawiatura uniwersalna FPGA: Interfejs PS/2 - mysz 5 Literatura c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91
15 z przerwaniami z przerwaniami Jedno źródło przerwań Dwa źródła przerwań c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 z przerwaniami System z przerwaniem cyklicznym Obsługa przerwania z przerwaniami Program dla CPSM3 ;routine: interrupt service routine ; function: increment 16-bit counter ; input register: ; count_msb, count_lsb: timer count ; output register: ; count_msb, count_lsb: incremented int_service_routine: add count_lsb, 01 ;inc 16-bit counter addcy count_msb, 00 i enable ;interrupt vector address 3FF jump int_service_routine c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91
16 z przerwaniami Program dla CPSM3 z przerwaniami Program dla CPSM3 Alisy rejestrów Alisy portów ;commonly used local variables namereg s0, data ;reg for temporary data namereg s1, addr ;reg for temporary mem & i/o port addr namereg s2, i ;general-purpose loop index ;global variables namereg sc, switch_a_b ;ram offset for current switch input namereg sb, led_pos ;led disp position (0, 1, 2 or 3) namereg se, count_msb ;timer tick count 8 MSBs namereg sf, count_lsb ;timer tick count 8 LSBs ; Port alias ; input port definitions constant rd_flag_port, 00 ; 2 flags (xxxxxxsc): constant sw_port, 01 ;8-bit switches ; output port definitions constant an_port, 00 constant sseg_port, 01 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 z przerwaniami Program dla CPSM3 z przerwaniami Program dla CPSM3 Program główny : init ;main ; - init ; - proc_btn ; - init ; - proc_uart ; - square ; - mult_soft ; - load_led_pttn ; - get_lower_nibble ; - get_upper_nibble ; - hex_to_led ; - display_mux_out ; ========================================================= call init ;initialization forever: ;main loop body call proc_btn ;check & process buttons call square ;calculate square call load_led_pttn ;store led patterns to ram call display_mux_out ; multiplex led patterns jump forever ;routine: init ; function: perform initialization, clear register/ram ; output register: ; switch_a_b: cleared to 0 ; temp register: data, i init: enable interrupt ;clear memory load i, 40 ;unitize loop index to 64 load data, 00 clr_mem_loop: store data, (i) sub i, 01 ;dec loop index jump nz, clr_mem_loop ;repeat until i=0 ;clear registers load switch_a_b, 00 load led_pos, 00 load count_msb, 00 load count_lsb, 00 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91
17 z przerwaniami Program dla CPSM3 : sterowanie wyświetlaczami z przerwaniami Program dla CPSM3 : sterowanie wyświetlaczami ;routine: display_mux_out ; function: generate enable pulse & led pattern ; for 4-digit 7-segment led display ; input register: ; count_msb, count_lsb: timer count ; led_pos: current led position ; output register: ; led_pos: updated led position ; tmp register: data, addr display_mux_out: compare count_msb, 02 ;count= _ jump c, mux_out_done ;clear time counter (count > 20) load count_lsb, 00 load count_msb, 00 ;update 7-segment led position add led_pos, 01 compare led_pos, 04 jump nz, gen_an_signal load led_pos, 00 ;led_pos wraps around gen_an_signal: ;generate 4-bit anode enable signal load data, 0E ;xxxx_1110 compare led_pos, 00 jump z, shift_an_0 compare led_pos, 01 jump z, shift_an_1 compare led_pos, 02 jump z, shift_an_2 sl1 data ;shift times shift_an_2: sl1 data ;shift times shift_an_1: sl1 data ;shift times shift_an_0: output data, an_port ;output 7-seg led pattern load addr, led0 add addr, led_pos fetch data, (addr) output data, sseg_port mux_out_done: c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 z przerwaniami Program dla CPSM3 Symulacja programu w środowisku pblaze IDE z przerwaniami Program dla CPSM3 Symulacja programu w środowisku pblaze IDE c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91
18 z przerwaniami z przerwaniami module pico_int ( input wire clk, reset, input wire [7:0] sw, input wire [1:0] btn, output wire [3:0] an, output wire [7:0] sseg ); // signal declaration // CPSM3/ROM signals wire [9:0] address; wire [17:0] instruction; wire [7:0] port_id, out_port; reg [7:0] in_port; wire write_strobe, read_strobe; wire interrupt, interrupt_ack; // I/O port signals // output enable reg [1:0] en_d; // four-digit seven-segment led display reg [7:0] sseg_reg; reg [3:0] an_reg; // two pushbuttons reg btnc_flag_reg, btns_flag_reg; wire btnc_flag_next, btns_flag_next; wire set_btnc_flag, set_btns_flag, clr_btn_flag; // interrupt related signals reg [8:0] timer_reg; wire [8:0] timer_next; wire ten_us_tick; reg timer_flag_reg; wire timer_flag_next; c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 z przerwaniami z przerwaniami // I/O modules debounce btnc_unit (.clk(clk),.reset(reset),.sw(btn[0]),.db_level(),.db_tick(set_btnc_flag)); debounce btns_unit (.clk(clk),.reset(reset),.sw(btn[1]),.db_level(),.db_tick(set_btns_flag)); // CPSM and ROM instantiation kcpsm3 proc_unit (.clk(clk),.reset(1 b0),.address(address),.instruction(instruction),.port_id(port_id),.write_strobe(write_strobe),.out_port(out_port),.read_strobe(read_strobe),.in_port(in_port),.interrupt(interrupt),.interrupt_ack(interrupt_ack)); int_rom rom_unit (.clk(clk),.address(address),.instruction(instruction)); // output interface // outport port id: // 0x00: an // 0x01: ssg // registers clk) begin if (en_d[0]) an_reg <= out_port[3:0]; if (en_d[1]) sseg_reg <= out_port; end assign an = an_reg; assign sseg = sseg_reg; // decoding circuit for enable signals if (write_strobe) case (port_id[0]) 1 b0: en_d = 2 b01; 1 b1: en_d = 2 b10; endcase else en_d = 2 b00; c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91
19 z przerwaniami z przerwaniami // input interface // input port id // 0x00: flag // 0x01: switch // input register (for flags) clk) begin btnc_flag_reg <= btnc_flag_next; btns_flag_reg <= btns_flag_next; end assign btnc_flag_next = (set_btnc_flag)? 1 b1 : (clr_btn_flag)? 1 b0 : btnc_flag_reg; assign btns_flag_next = (set_btns_flag)? 1 b1 : (clr_btn_flag)? 1 b0 : btns_flag_reg; // decoding circuit for clear signals assign clr_btn_flag = read_strobe && (port_id[0]==1 b0); // input multiplexing case(port_id[0]) 1 b0: in_port = {6 b0, btns_flag_reg, btnc_flag_reg}; 1 b1: in_port = sw; endcase // interrupt interface // 10 us counter clk) timer_reg <= timer_next; assign ten_us_tick = (timer_reg==499); assign timer_next = ten_us_tick? 0 : timer_reg + 1; // 10 us tick flag clk) timer_flag_reg <= timer_flag_next; assign timer_flag_next = (ten_us_tick)? 1 b1 : (interrupt_ack)? 1 b0 : timer_flag_reg; // interrupt request assign interrupt = timer_flag_reg; endmodule c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 z przerwaniami z przerwaniami Implementacja w FPGA Implementacja w FPGA c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91
20 z przerwaniami z przerwaniami Implementacja w FPGA Implementacja w FPGA c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 z przerwaniami z przerwaniami Implementacja w FPGA Implementacja w FPGA c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91
21 z przerwaniami z przerwaniami Implementacja w FPGA Implementacja w FPGA c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 z przerwaniami Implementacja w FPGA c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 Interfejsy standardowe 1 Program dla CPSM3 2 Program dla CPSM3 3 z przerwaniami Program dla CPSM3 4 Interfejsy standardowe FPGA: omunikacja PC z Nexys2 przez USB i zastosowania FPGA: Interfejs RS232 i zastosowania FPGA: Interfejs VGA i zastosowania FPGA: Interfejs PS/2 - klawiatura uniwersalna FPGA: Interfejs PS/2 - mysz 5 Literatura c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91
22 Interfejsy standardowe FPGA: omunikacja PC z Nexys2 przez USB i zastosowania 1 Program dla CPSM3 2 Program dla CPSM3 3 z przerwaniami Program dla CPSM3 4 Interfejsy standardowe FPGA: omunikacja PC z Nexys2 przez USB i zastosowania FPGA: Interfejs RS232 i zastosowania FPGA: Interfejs VGA i zastosowania FPGA: Interfejs PS/2 - klawiatura uniwersalna FPGA: Interfejs PS/2 - mysz 5 Literatura c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 Interfejsy standardowe FPGA: Interfejs RS232 i zastosowania 1 Program dla CPSM3 2 Program dla CPSM3 3 z przerwaniami Program dla CPSM3 4 Interfejsy standardowe FPGA: omunikacja PC z Nexys2 przez USB i zastosowania FPGA: Interfejs RS232 i zastosowania FPGA: Interfejs VGA i zastosowania FPGA: Interfejs PS/2 - klawiatura uniwersalna FPGA: Interfejs PS/2 - mysz 5 Literatura c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 Interfejsy standardowe FPGA: Interfejs VGA i zastosowania 1 Program dla CPSM3 2 Program dla CPSM3 3 z przerwaniami Program dla CPSM3 4 Interfejsy standardowe FPGA: omunikacja PC z Nexys2 przez USB i zastosowania FPGA: Interfejs RS232 i zastosowania FPGA: Interfejs VGA i zastosowania FPGA: Interfejs PS/2 - klawiatura uniwersalna FPGA: Interfejs PS/2 - mysz 5 Literatura c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 Interfejsy standardowe FPGA: Interfejs PS/2 - klawiatura uniwersalna 1 Program dla CPSM3 2 Program dla CPSM3 3 z przerwaniami Program dla CPSM3 4 Interfejsy standardowe FPGA: omunikacja PC z Nexys2 przez USB i zastosowania FPGA: Interfejs RS232 i zastosowania FPGA: Interfejs VGA i zastosowania FPGA: Interfejs PS/2 - klawiatura uniwersalna FPGA: Interfejs PS/2 - mysz 5 Literatura c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91
23 Interfejsy standardowe FPGA: Interfejs PS/2 - mysz 1 Program dla CPSM3 2 Program dla CPSM3 3 z przerwaniami Program dla CPSM3 4 Interfejsy standardowe FPGA: omunikacja PC z Nexys2 przez USB i zastosowania FPGA: Interfejs RS232 i zastosowania FPGA: Interfejs VGA i zastosowania FPGA: Interfejs PS/2 - klawiatura uniwersalna FPGA: Interfejs PS/2 - mysz 5 Literatura c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 cdn. Interfejsy standardowe cdn. FPGA: Interfejs PS/2 - mysz c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91 Literatura Literatura D.M. Harris, S.L. Harris, Digital Design and Computer Architecture, Elsevier, Z. Hajduk, Wprowadzenie do języka Verilog, BTC, M. Pawłowski, A. Skorupski, Projektowanie złożonych układów cyfrowych, WiŁ, P. Pong. Chu, FPGA Prototyping by Verilog examples, Wiley, IEEE Standard Verilog R Hardware Description Language, IEEE, Xilinx ISE WebPack: Digilent Nexys2: OpenCores: c Dr inż. Ignacy Pardyka (Inf U J ) programowanie struktur cyfrowych Rok akad. 2014/ / 91
1 Wstęp. 2 Operatory. 3 Blok always dla układów kombinacyjnych. 4 Instrukcja IF. 5 Instrukcja CASE. 6 Struktury konstrukcji warunkowych
Wstęp PROGRAMOWANIE STRUTUR CYFROWYCH Układy kombinacyjne poziomu RT c Dr inż. Ignacy Pardyka UNIWERSYTET JANA OCHANOWSIEGO w ielcach 1 Rok akad. 2013/2014 2 1 Instytut Fizyki, Zakład Informatyki, e-mail:
1 Wstęp. 2 Proste przykłady. 3 Podstawowe elementy leksykalne i typy danych. 6 Opis strukturalny. 7 Moduł testowy (testbench)
Wstęp SYSTEMY WBUDOWANE Układy kombinacyjne c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 c Dr inż. Ignacy Pardyka (Inf.UJK) Systemy wbudowane Rok akad. 2011/2012
Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS
Język HDL - VERLOG Hardware Description Language (Syntetyzowalna warstwa języka) RUS RUS Język VERLOG w praktyce RUS RUS VERLOG Specyfikacja układów kombinacyjnych RUS RUS Operator warunkowy Conditional_expression?
PROCESORY ARM TRUDNO ZNALEŹĆ PROCESORY O TAK LICZNYCH, ORYGINALNYCH, NOWYCH, POMYSŁOWYCH ROZWIĄZANIACH!
TRUDNO ZNALEŹĆ PROCESORY O TAK LICZNYCH, ORYGINALNYCH, NOWYCH, POMYSŁOWYCH ROZWIĄZANIACH! ASEMBLERY Pola Separatory Wizytówki Kody operacji Pseudo operacje adresy I dane Dyrektywy Stałe Komentarze SZKICE
Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS
Język HDL - VERLOG Hardware Description Language (Syntetyzowalna warstwa języka) RUS RUS VERLOG rzegląd zagadnień RUS RUS prowadzenie do języka Reprezentacja układu cyfrowego w Verilogu opis strukturalny
Sumatory H D L. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska
Sumatory 1 Sumator 1-bitowy full adder Równanie boolowskie sumy: s k = a k XOR b k XOR c k = a k b k c k Równanie boolowskie przeniesienia: c k+1 = (a k AN b k ) OR (a k AN c k ) OR (b k AN c k ) = (a
Laboratorium Projektowania Systemów VLSI-ASIC Katedra Elektroniki Akademia Górniczo-Hutnicza
Laboratorium Projektowania Systemów VLSI-ASIC Katedra Elektroniki Akademia Górniczo-Hutnicza Projektowanie układów VLSI-ASIC za pomocą techniki komórek standardowych przy użyciu pakietu Cadence Programowanie,
LCD (Liquid Crystal Display)
LCD (Liquid Crystal Display) Polarizing filter. Thin film with a vertical ais. Liquid crystal Polarizing filter. Thin film with a horizontal ais. Polarizing filter. Thin film with a horizontal ais. Polarizing
Systemy Czasu Rzeczywistego FPGA
01. Systemy Czasu Rzeczywistego FPGA 1 Systemy Czasu Rzeczywistego FPGA laboratorium: 04 autor: mgr inż. Mateusz Baran 01. Systemy Czasu Rzeczywistego FPGA 2 1 Spis treści FPGA... 1 1 Spis treści... 2
Systemy Czasu Rzeczywistego FPGA
01. Systemy Czasu Rzeczywistego FPGA 1 Systemy Czasu Rzeczywistego FPGA laboratorium: 05 autor: mgr inż. Mateusz Baran 01. Systemy Czasu Rzeczywistego FPGA 2 1 Spis treści FPGA... 1 1 Spis treści... 2
Programowalne układy logiczne
Programowalne układy logiczne Układy kombinacyjne Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 28 września 2015 Co to jest układ kombinacyjny? Stan wyjść zależy tylko
Projekt prostego procesora
Projekt prostego procesora Opracowany przez Rafała Walkowiaka dla zajęć z PTC 2012/2013 w oparciu o Laboratory Exercise 9 Altera Corporation Rysunek 1 przedstawia schemat układu cyfrowego stanowiącego
Systemy Czasu Rzeczywistego FPGA
01. Systemy Czasu Rzeczywistego FPGA 1 Systemy Czasu Rzeczywistego FPGA laboratorium: 03 autor: mgr inż. Mateusz Baran 01. Systemy Czasu Rzeczywistego FPGA 2 1 Spis treści FPGA... 1 1 Spis treści... 2
Układy reprogramowalne i SoC Język VHDL (część 4)
Język VHDL (część 4) Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki
Projektowanie Scalonych Systemów Wbudowanych VERILOG
Projektowanie Scalonych Systemów Wbudowanych VERILOG OPIS BEHAWIORALNY proces Proces wątek sterowania lub przetwarzania danych, niezależny w sensie czasu wykonania, ale komunikujący się z innymi procesami.
Laboratorium Podstaw Techniki Cyfrowej
Laboratorium Podstaw Techniki Cyfrowej Ćwiczenie 5: Wprowadzenie do języków opisu sprzętu 1. Języki opisu sprzętu Języki opisu sprzętu(hdl Hardware Description Language) to języki słuŝące do opisu układów
Język VERILOG w praktyce
Język VERLOG w praktyce RUS RUS Język VERLOG rzykłady syntezy blokowej RUS RUS Elementy systemu cyfrowego magistrala danych cd. module swap (Data, Resetn, w, Clock, Extern, RinExt, Busires); input [7:0]
kurs Sprzętowy bootloader dla mikrokontrolerów PicoBlaze (2)
Sprzętowy bootloader dla mikrokontrolerów PicoBlaze kurs Sprzętowy bootloader dla mikrokontrolerów PicoBlaze (2) Dodatkowe materiały na CD i FTP Podczas uruchamiania i testowania oprogramowania dla mikrokontrolerów
1. ISE WebPack i VHDL Xilinx ISE Design Suite 10.1 VHDL Tworzenie projektu Project Navigator Xilinx ISE Design Suite 10.1 File
1. ISE WebPack i VHDL Celem ćwiczenia jest szybkie zaznajomienie się ze środowiskiem projektowym Xilinx ISE Design Suite 10.1 oraz językiem opisu sprzętu VHDL. Tworzenie projektu Uruchom program Project
Liczniki z zastosowaniem
Liczniki z zastosowaniem FPGA i µc Fizyka Medyczna, studia II stopnia, Dozymetria i elektronika w medycynie 1 Zliczanie impulsów Źródło impulsów Kondycjonowanie Licznik Wyświetlacz Układ czasowy 2 Liczniki
architektura komputerów w 1 1
8051 Port P2 Port P3 Serial PORT Timers T0, T1 Interrupt Controler DPTR Register Program Counter Program Memory Port P0 Port P1 PSW ALU B Register SFR accumulator STRUCTURE OF 8051 architektura komputerów
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL Instrukcja pomocnicza do laboratorium z przedmiotu Synteza układów
Układy mnoŝące H D L. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska
Układy mnoŝące 1 MnoŜenie w układzie sekwencyjnym P = A X = N 1 k = 0 k a k 2 X MnoŜenie szeregowo-równoległe równoległe Czynnik X jest przesuwany o k pozycji: jeŝeli a k 0 to X*2 k jest dodawane i zapisywane
Programowalne układy logiczne
Programowalne układy logiczne Mikroprocesor Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 6 grudnia 2014 Zbudujmy własny mikroprocesor Bardzo prosty: 16-bitowy, 16 rejestrów
Układy kryptograficzne z uŝyciem rejestrów LFSR
Układy kryptograficzne z uŝyciem rejestrów FSR Algorytmy kryptograficzne uŝywane w systemach telekomunikacyjnych własność modulo 2 funkcji XOR P K K = P = P 2 Rejestr z liniowym sprzęŝeniem zwrotnym FSR
Układy FPGA. programowanie bramek w zestawie uruchomieniowym Basys3 firmy Digilent -środowisko Vivado (2016.4)- firmy Xilings, język Verilog
Układy FPGA programowanie bramek w zestawie uruchomieniowym Basys3 firmy Digilent -środowisko Vivado 2016.4)- firmy Xilings, język Verilog Pierwszy projektowany układ będzie zawierał dwie bramki logiczne,
Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki
Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki Technika mikroprocesorowa Instrukcja 2 Pętle i instrukcje kontroli przepływu programu Autor: Paweł Russek Tłumaczenie: Marcin Pietroń http://www.fpga.agh.edu.pl/tm
Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780
Dane techniczne : Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 a) wielkość bufora znaków (DD RAM): 80 znaków (80 bajtów) b) możliwość sterowania (czyli podawania kodów znaków) za pomocą
Liczniki z zastosowaniem
Liczniki z zastosowaniem FPGA i µc Fizyka Medyczna, studia II stopnia, Dozymetria i elektronika w medycynie 1 Liczniki Rodzaje implementacji: Układy średniej skali integracji MSI Mikrokontroler Układ FPGA
Układy FPGA Sumator 4-bitowy
Układy FPGA Sumator 4-bitowy programowanie bramek w zestawie uruchomieniowym Basys3 firmy Digilent -środowisko Vivado (2016.4)- firmy Xilings, język Verilog Pierwszy projektowany układ będzie zawierał
Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje.
Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje. 1. W języku VHDL zdefiniowano mechanizm odczytywania i zapisywania danych z i do plików. Pliki te mogą być wykorzystywane
Projektowanie scalonych systemów wbudowanych VERILOG. VERLIOG - historia
Projektowanie scalonych systemów wbudowanych VERILOG VERLIOG - historia Początki lat 80 XX w. Phil Moorby Gateway Design Automation symulator Verilog XL 1987 Synopsys Verilog jako język specyfikacji projektu
Układy reprogramowalne i SoC Implementacja w układach FPGA
Układy reprogramowalne i SoC Implementacja w układach FPGA Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez
Lista zadań nr 1. Zagadnienia stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania algorytmów sterowania procesami
Warsztaty Koła Naukowego SMART dr inż. Grzegorz Bazydło G.Bazydlo@iee.uz.zgora.pl, staff.uz.zgora.pl/gbazydlo Lista zadań nr 1 Zagadnienia stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania
Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].
ABAP/4 Instrukcja IF Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. [ELSEIF warunek. ] [ELSE. ] ENDIF. gdzie: warunek dowolne wyrażenie logiczne o wartości
XC4000: LUT jako ROM Układy Cyfrowe i Systemy Wbudowane 2 Układy FPGA cz. 2 ROM32X1 VHDL inference example ROM 16x2b type
Układy Cyfrowe i Systemy Wbudowane 2 XC4000: LUT jako ROM Układy FPGA cz. 2 dr inż. Jarosław Sugier Jaroslaw.Sugier@pwr.edu.pl W-4/K-9, pok. 227 C-3 FPGA(2) - 1 FPGA(2) - 2 ROM32X1 VHDL inference example
Altera Quartus II. Opis niektórych komponentów dostarczanych razem ze środowiskiem. Opracował: mgr inż. Leszek Ciopiński
Altera Quartus II Opis niektórych komponentów dostarczanych razem ze środowiskiem Opracował: mgr inż. Leszek Ciopiński Spis treści Opis wybranych zagadnień obsługi środowiska Altera Quartus II:...1 Magistrale:...
Struktura i działanie jednostki centralnej
Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala
HC541 8-bitowy bufor jednokierunkowy HC245 8-bitowy bufor dwukierunkowy HC244 dwa 4-bitowe bufory jednokierunkowe
Bufory (BUFFER) Bufory stosuje się po to by: - zwiększyć obciążalność magistrali - chronić układ wysokiej skali integracji - sterować przepływem danych HC541 8-bitowy bufor jednokierunkowy HC245 8-bitowy
(przykład uogólniony)
Serial Peripheral Interface (przykład uogólniony) Brak standardu. Inne stosowane nazwy: Synchronous Serial Port (SSP), 4 wire SSI (Synchronous Serial Interface, Texas Instrument), Microwire (National Semiconductor).
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 7 (2h) Obsługa urządzenia peryferyjnego z użyciem pamięci w VHDL. Instrukcja do zajęć laboratoryjnych z przedmiotu
Programowanie Mikrokontrolerów
Programowanie Mikrokontrolerów Wyświetlacz alfanumeryczny oparty na sterowniku Hitachi HD44780. mgr inż. Paweł Poryzała Zakład Elektroniki Medycznej Alfanumeryczny wyświetlacz LCD Wyświetlacz LCD zagadnienia:
Sterowanie wyświetlacza LCD typu HD44780
Sterowanie wyświetlacza LCD typu HD4478 Laboratorium Języków Opisu Sprzętu AGH WFiIS Wyświetlacz LCD Matrycowy moduł LCD E RW RS BF Wyświetlacz LCD CG RAM DD RAM DB[7:] Licznik Adresu Rejestr Danych Rejestr
LABORATORIUM ELEKTRONIKA Projektowanie koderów, transkoderów i dekoderów w języku VHDL
LABORATORIUM ELEKTRONIKA Projektowanie koderów, transkoderów i dekoderów w języku VHDL 1. Cel ćwiczenia W ćwiczeniu student projektuje i implementuje w strukturze układu FPGA (Field Programmable Gate Array)
Układy cyfrowe w Verilog HDL. Elementy języka z przykładami. wersja: cz.3
Układy cyfrowe w Verilog Elementy języka z przykładami wersja: 10.2009 cz.3 1 Układy sekwencyjne Układy sekwencyjne mają pamięć Układy synchroniczne najczęściej spotykane wszystkie elementy są kontrolowane
Przykłady do wykładu Języki modelowania i symulacji
Przykłady do wykładu Języki modelowania i symulacji dr inż. Bogdan Pankiewicz Gdańsk, listopad 2011 - grudzień 2015 Część I - PSPICE Przykład I - przerzutnik D Czynności do wykonania: Wprowadzenie opisu
Programowanie Układów Logicznych kod kursu: ETD6203. Komunikacja z układami cyfrowymi W dr inż. Daniel Kopiec
Programowanie Układów Logicznych kod kursu: ETD6203 Komunikacja z układami cyfrowymi W5 30.03.2016 dr inż. Daniel Kopiec Plan wykładu 1 2 3 4 5 6 Standard komunikacji RS232 Enkoder obrotowy Wyświetlacz
Pod o z d ia i ł a r yn y k n u k u ( 2004 r.). źródło: Gartner 3
Systemy typu SoPC Orkiszewski Marcin Projektowanie Programowalnych Układów Scalonych z-2009 Mikrokontrolery vs. FPGA MCU cena łatwość montaŝu łatwość programowania > >> >>> FPGA cena łatwość montaŝu łatwość
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 9 (3h) Projekt struktury hierarchicznej układu cyfrowego w FPGA. Instrukcja pomocnicza do laboratorium z przedmiotu
Ćwiczenie 1 VHDL - Licznik 4-bitowy.
Ćwiczenie 1 VHDL - Licznik 4-bitowy. Zadaniem studenta jest zaprojektowanie w układzie CoolRunner2 układu, który dzieli częstotliwość zegara wejściowego generując sygnał taktowania licznika 4-bitowego,
Programowalne układy logiczne
Programowalne układy logiczne Worek różności jak dobrać się do gotowców w Spartanach? Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 12 kwietnia 2011 Spis treści Wbudowane
Architektura typu multi cycle
PC ux ress Write data emdata [3-26] [25-2] [2-6] [5-] register [5-] Cond IorD em emwrite emtoreg IRWrite [25-] [5-] Outputs Control Op [5-] ux ux PCSource Op SrcB Src RegWrite RegDst register register
Programowanie mikrokontrolerów - laboratorium
Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu Instytut Techniczny Programowanie mikrokontrolerów- laboratorium Nazwisko i imię 1. 2. Data wykonania ćwiczenia: Grupa: Ocena sprawozdania Zaliczenie: Symbol:
A Machine Architecture that is Really Intuitive and Easy. Dane: notacja dwójkowa, zapis w kodzie dopełnieniowym
MARIE A Machine Architecture that is Really Intuitive and Easy http://computerscience.jbpub.com/ecoa Słowo 16b Dane: notacja dwójkowa, zapis w kodzie dopełnieniowym od 8000h (- 32,768 = -2^15) do 7FFFh
CPU. Architektura FLAGS Bit: dr Paweł Kowalczyk; DPTNS, KFCS UŁ. SI 16 bit. 16 bit. 16 bit.
Architektura 8086 8086 posiada 4 rejestry ogólnego użytku AX, BX, CX, DX, 2 rejestry indeksowe SI, DI, 3 rejestry wskaźnikowe SP, BP, IP, 4 rejestry segmentowe CS, DS, SS i ES oraz rejestr flag FLAG AH
Pomoc do programu konfiguracyjnego RFID-CS27-Reader User Guide of setup software RFID-CS27-Reader
2017-01-24 Pomoc do programu konfiguracyjnego RFID-CS27-Reader User Guide of setup software RFID-CS27-Reader Program CS27 Reader należy uruchomić przez wybór opcji CS27 i naciśnięcie przycisku START. Programme
Projektowanie w VHDL
Projektowanie w VHDL powtórka wiadomości o języku VHDL słowa zastrzeżone typy danych, deklaracje obiektów instrukcje współbieżne i sekwencyjne pętle for, while typowe bloki układów cyfrowych przykłady
Komputery klasy PC. Dariusz Chaberski
Komputery klasy PC Dariusz Chaberski Start systemu adres 0xFFFF:0x0000 POST (ang. Power On Self Test) sprawdzenie zmiennej BIOSu 0x0040:0x0072-0x1234 - zimny start (RESET, włączenie zasilania), gorący
Architektura typu Single-Cycle
Architektura typu Single-Cycle...czyli budujemy pierwszą maszynę parową Przepływ danych W układach sekwencyjnych przepływ danych synchronizowany jest sygnałem zegara Elementy procesora - założenia Pamięć
Technika Mikroprocesorowa
Technika Mikroprocesorowa Dariusz Makowski Katedra Mikroelektroniki i Technik Informatycznych tel. 631 2648 dmakow@dmcs.pl http://neo.dmcs.p.lodz.pl/tm 1 System mikroprocesorowy? (1) Magistrala adresowa
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci RAM w FPGA.
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 8 (3h) Implementacja pamięci RAM w FPGA. Instrukcja pomocnicza do laboratorium z przedmiotu Synteza układów cyfrowych
Układy reprogramowalne i SoC Testbenches. Symulacja sterowana zdarzeniami.
Testbenches. Symulacja sterowana zdarzeniami. Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń -
Akademia Górniczo- Hutmicza w Krakowie Katedra Elektroniki WIET
Akademia Górniczo- Hutmicza w Krakowie Katedra Elektroniki WIET Technika mikroprocesorowa Instrukcja 3 Stos i podprogramy Autor: Paweł Russek Tłumaczenie: Marcin Pietroń http://www.fpga.agh.edu.pl/tm ver.
IEEE 1284 - Centronics
IEEE 1284 - Centronics Interfejs Centronics w wersji oryginalnej - łącze jednokierunkowe przesyłające informacje od komputera do drukarki przeznaczony jedynie do tego zadania, co wynikało z braku potrzeby
LABORATORIUM nr 5. Temat: Realizacja mikroprocesora w układach CPLD
Laboratorium nr 5 Realizacja mikroprocesora w układach CPLD mlazoryszczak@wi.zut.edu.pl LABORATORIUM nr 5 Temat: Realizacja mikroprocesora w układach CPLD 1. UKŁADY REKONFIGUROWALNE Układy programowalne
LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2016
LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2016 Prowadzący: dr inż. Daniel Kopiec email: daniel.kopiec@pwr.edu.pl Pierwszy projekt w środowisku
Projektowanie Scalonych Systemów Wbudowanych VERILOG
Projektowanie Scalonych Systemów Wbudowanych VERILOG VERLIOG - historia Początki lat 80 XX w. Phil Moorby Gateway Design Automation symulator Verilog XL 1987 Synopsys Verilog jako język specyfikacji projektu
Projektowanie Scalonych Systemów Wbudowanych VERILOG
Projektowanie Scalonych Systemów Wbudowanych VERILOG VERLIOG - historia Początki lat 80 XX w. Phil Moorby Gateway Design Automation symulator Verilog XL 1987 Synopsys Verilog jako język specyfikacji projektu
mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec
Programowanie Układów Logicznych kod kursu: ETD6203 Optymalizacja procesu syntezy logicznej, PicoBlaze, ChipScope W12 22.05.2019 mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec Plan wykładu Synteza
Programowany układ czasowy
Programowany układ czasowy Zbuduj na płycie testowej ze Spartanem-3A prosty ośmiobitowy układ czasowy pracujący w trzech trybach. Zademonstruj jego działanie na ekranie oscyloskopu. Projekt z Języków Opisu
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 2 (3h) Przełączniki, wyświetlacze, multipleksery - implementacja i obsługa w VHDL Instrukcja pomocnicza do laboratorium
Wprowadzenie do laboratorium komputerowego część I
Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie Wydział IET Katedra Elektroniki Technika Cyfrowa Wprowadzenie do laboratorium komputerowego część I Wstęp Celem wprowadzenia do laboratorium
Programowalne układy logiczne
Programowalne układy logiczne Układy synchroniczne Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 26 października 2015 Co to jest układ sekwencyjny? W układzie sekwencyjnym,
Krótkie wprowadzenie do ModelSim i Quartus2
Krótkie wprowadzenie do ModelSim i Quartus2 wersja 04.2011 1 Plan Oprogramowanie Pliki źródłowe Scenariusze użycia 2 Programy Programy w wersji darmowej do pobrania ze strony www.altera.com ModelSim-Altera
AGH Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki
AGH Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki Technika mikroprocesorowa Laboratorium 5 Operacje arytmetyczne Autor: Paweł Russek Tłumaczenie: Marcin Pietroń i Ernest Jamro http://www.fpga.agh.edu.pl/tm
Wykład 2. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w ,
Języki Opisu Sprzętu Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D-10 222, tel. w. 28-72, e-mail: skoczen@fis.agh.edu.pl Dwa oblicza systemu cyfrowego Opcje projektowe dla systemu cyfrowego Wykład
Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005 Ćwiczenie Nr 8 Implementacja prostego
Systemy wbudowane. Poziomy abstrakcji projektowania systemów HW/SW. Wykład 9: SystemC modelowanie na różnych poziomach abstrakcji
Systemy wbudowane Wykład 9: SystemC modelowanie na różnych poziomach abstrakcji Poziomy abstrakcji projektowania systemów HW/SW 12/17/2011 S.Deniziak:Systemy wbudowane 2 1 Model czasu 12/17/2011 S.Deniziak:Systemy
Programowalne układy logiczne kod kursu: ETD Układy kombinacyjne, przypisania, blokujące i nieblokujące cz.2 W
Programowalne układy logiczne kod kursu: ETD008270 Układy kombinacyjne, przypisania, blokujące i nieblokujące cz.2 W4 23.03.2018 mgr inż. Maciej Rudek UKŁADY KOMBINACYJNE Układy kombinacyjne Układ kombinacyjny
Układy reprogramowalne i SoC Specjalizowane moduły FPGA
Specjalizowane moduły FPGA Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój
LOW ENERGY TIMER, BURTC
PROJEKTOWANIE ENERGOOSZCZĘDNYCH SYSTEMÓW WBUDOWANYCH ĆWICZENIE 4 LOW ENERGY TIMER, BURTC Katedra Elektroniki AGH 1. Low Energy Timer tryb PWM Modulacja szerokości impulsu (PWM) jest często stosowana przy
Projektowanie z użyciem bloków funkcjonalnych w układach programowalnych firmy Xilinx
Projektowanie z użyciem bloków funkcjonalnych w układach programowalnych firmy Xilinx CEL ĆWICZENIA Celem ćwiczenia jest utrwalenie wiedzy dotyczącej budowy, działania i własności programowalnych układów
Lista zadań nr 5. Ścieżka projektowa Realizacja każdego z zadań odbywać się będzie zgodnie z poniższą ścieżką projektową (rys.
Sterowanie procesami dyskretnymi laboratorium dr inż. Grzegorz Bazydło G.Bazydlo@iee.uz.zgora.pl, staff.uz.zgora.pl/gbazydlo Lista zadań nr 5 Zagadnienia stosowanie skończonych automatów stanów (ang. Finite
USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian
1 / 9 Content list / Spis Treści 1. Hardware and software requirements, preparing device to upgrade Wymagania sprzętowe i programowe, przygotowanie urządzenia do aktualizacji 2. Installing drivers and
Stacja sieciowa BL compact dla DeviceNet Interface for Connection of 2 BL ident Read/Write Heads (HF/UHF) BLCDN-2M12S-2RFID-S
Kompaktowe, sieciowe moduły I/O On- Machine DeviceNet slave 125/250/500 kbps Two 5-pin M12 male receptacles for fieldbus connection 2 rotary coding switches for node-address IP 69K M12 I/O ports LEDs indicating
Ćwiczenia 2 IBM DB2 Data Studio
Ćwiczenia 2 IBM DB2 Data Studio Temat: Aplikacje w Data Studio 1. Projekty Tworzenie procedur, UDF, trygerów zaczynamy od utworzenia projektu File -> New -> Project wybieramy Data Development Project.
Zrób sobie mikrokontroler, część 1
P R J E K T Y Zrób sobie mikrokontroler, część 1 RISC w VHDL: PicoBlaze firmy Xilinx Koniec nudów! Koniec z (aplikacyjnym) panowaniem AVR ów, mikrokontrolerów 51, czy też PIC ów! Jeżeli chcesz być projektantem
LabVIEW PLATFORMA EDUKACYJNA Lekcja 5 LabVIEW i Arduino konfiguracja środowiska i pierwszy program
LabVIEW PLATFORMA EDUKACYJNA Lekcja 5 LabVIEW i Arduino konfiguracja środowiska i pierwszy program Przygotował: Jakub Wawrzeńczak 1. Wprowadzenie Lekcja przedstawia wykorzystanie środowiska LabVIEW 2016
Kurs Verilog cz.1 wstęp
Kurs Verilog cz.1 wstęp Złożoność układów cyfrowych zgodnie z prawem Moore a, podwaja się co około 18 miesięcy. Liczba tranzystorów znajdujących się w układzie scalonym sięga już dziesiątek, a nawet setek
Realizacja systemów wbudowanych (embeded systems) w strukturach PSoC (Programmable System on Chip)
Realizacja systemów wbudowanych (embeded systems) w strukturach PSoC (Programmable System on Chip) Embeded systems Architektura układów PSoC (Cypress) Możliwości bloków cyfrowych i analogowych Narzędzia
Projektowanie automatów z użyciem VHDL
Projektowanie automatów z użyciem VHDL struktura automatu i jego modelu w VHDL przerzutnik T jako automat przykłady automatów z wyjściami typu: Moore'a Mealy stanu kodowanie stanów automatu Wykorzystano
Planning and Cabling Networks
Planning and Cabling Networks Network Fundamentals Chapter 10 Version 4.0 1 Projektowanie okablowania i sieci Podstawy sieci Rozdział 10 Version 4.0 2 Objectives Identify the basic network media required
Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005 Ćwiczenie Nr 9 Procesor złożony Opracował:
Instytut Teleinformatyki
Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Systemy Czasu Rzeczywistego Programowanie wyświetlacza graficznego LCD laboratorium: 01 autor: mgr inż. Paweł Pławiak
Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA
Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA Licznik binarny Licznik binarny jest najprostszym i najpojemniejszym licznikiem. Kod 4 bitowego synchronicznego licznika binarnego
Zestaw w IP67 do prostej komunikacji I/O przez Ethernet/IP TI-BL67-EIP-S-4
Typ Nr kat. 1545119 Liczba kanałów 4 Dimensions (W x L x H) 140 x 145 x 77.5 mm Napięcie zasilania max. system supply current I mb (5V) max. sensor supply I sens Max. load current I o Dopuszczalny zakres
Technika cyfrowa projekt: Sumator 4 bitowy równoległy
Technika cyfrowa projekt: Sumator 4 bitowy równoległy Autorzy: Paweł Bara Robert Boczek Przebieg prac projektowych: Zadany układ dostaje na wejściu dwie czterobitowe liczby naturalne, sumuje je, po czym
Projektowanie układów VLSI-ASIC techniką od ogółu do szczegółu (top-down) przy użyciu pakietu CADENCE
Katedra Elektroniki Akademia Górniczo-Hutnicza w Krakowie Projektowanie układów VLSI-ASIC techniką od ogółu do szczegółu (top-down) przy użyciu pakietu CADENCE opis układu w Verilog, kompilacja i symulacja
Technika Cyfrowa Wprowadzenie do laboratorium komputerowego
Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie Wydział EAIiE Katedra Elektroniki Technika Cyfrowa Wprowadzenie do laboratorium komputerowego http://www.fpga.agh.edu.pl 1. Wstęp Celem niniejszego
Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki
Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki Laboratorium mikrokontrolerów Ćwiczenie 7 Przerwania Autor: Paweł Russek Tłumaczenie: Sebastian Koryciak http://www.fpga.agh.edu.pl/tm ver. 25.05.16