- 79
- 117 577
aalatiah
Приєднався 24 січ 2012
Відео
Using the Seven Segment Display on the FPGA Board (DE2-70)
Переглядів 4287 місяців тому
Implementation of a BCD up/ down counter on the FPGA board.
FSM Based Up Down Counter using VHDL in Quartus II & ModelSim
Переглядів 1977 місяців тому
FSM Based Up Down Counter using VHDL in Quartus II & ModelSim
Interfacing the LCD Display on the FPGA (DE2-70) Board
Переглядів 1,2 тис.7 місяців тому
Interfacing the LCD Display on the FPGA (DE2-70) Board
Configuring LEDs and Switches on the DE2-70 FPGA Board
Переглядів 2067 місяців тому
Configuring LEDs and Switches on the DE2-70 FPGA Board
CPEG 340L - Test bench in VHDL
Переглядів 1769 місяців тому
ModelSim demo: Not gate test bench: ua-cam.com/video/Dm7Ow4XI22g/v-deo.html FSM test bench: ua-cam.com/video/uY1AYEygt10/v-deo.html
Using Testbench to test VHDL code in ModelSim
Переглядів 3,8 тис.9 місяців тому
A simple demo of not_gate test bench
How to Connect a 3-bit Decrementing Counter on the Trainer Board
Переглядів 5483 роки тому
How to Connect a 3-bit Decrementing Counter on the Trainer Board
How to Connect the 101 Sequence Detector on the Trainer Board
Переглядів 1283 роки тому
How to Connect the 101 Sequence Detector on the Trainer Board
How to Connect a 2-bit Incrementing Counter on the Trainer Board
Переглядів 1443 роки тому
How to Connect a 2-bit Incrementing Counter on the Trainer Board
Connecting the JK-FF on The Trainer Board to Test it
Переглядів 863 роки тому
Connecting the JK-FF on The Trainer Board to Test it
Converting a JK-FF to a D-FF on The Trainer Board
Переглядів 533 роки тому
How to make the connection of converting a JK-FF to a D-FF on the trainer board.
How to simulate a 2-1 mux using when else statement:
Переглядів 2693 роки тому
How to simulate a 2-1 mux using when else statement:
Designing & testing a full adder and a 4-bit parallel adder using VHDL
Переглядів 1,9 тис.3 роки тому
Designing & testing a full adder and a 4-bit parallel adder using VHDL
ELEG320L - Algorithms for Convolution, Cross Correlation, & Autocorrelation
Переглядів 3593 роки тому
ELEG320L - Algorithms for Convolution, Cross Correlation, & Autocorrelation
Audio Signals - Digital Music Synthesis Lab
Переглядів 9103 роки тому
Audio Signals - Digital Music Synthesis Lab
Introduction to VHDL - Part 2: Structural Modeling
Переглядів 4,4 тис.3 роки тому
Introduction to VHDL - Part 2: Structural Modeling
Simulating Structural VHDL Code in EDAPlayground
Переглядів 3473 роки тому
Simulating Structural VHDL Code in EDAPlayground
Simulating Behavioral VHDL Code in EDAPlayground
Переглядів 2163 роки тому
Simulating Behavioral VHDL Code in EDAPlayground
Introduction to VHDL - Part 1: Behavioral Modeling
Переглядів 4 тис.3 роки тому
Introduction to VHDL - Part 1: Behavioral Modeling
Connecting XOR gate using NAND gates only on the Trainer Board
Переглядів 6073 роки тому
Connecting XOR gate using NAND gates only on the Trainer Board
Lab 3: Matrix Manipulation, Even & Odd Signals
Переглядів 4573 роки тому
Lab 3: Matrix Manipulation, Even & Odd Signals
Implementing an Expression in Logisim Using Universal Gates Only
Переглядів 1,4 тис.3 роки тому
Implementing an Expression in Logisim Using Universal Gates Only
How to implement XOR gate 1) Using NAND only, 2) Using NOR gates only in Logisim
Переглядів 7 тис.3 роки тому
How to implement XOR gate 1) Using NAND only, 2) Using NOR gates only in Logisim
ELEG 320L - Introduction to MATLAB (Cont.)
Переглядів 2533 роки тому
ELEG 320L - Introduction to MATLAB (Cont.)
ELEG 320L - Script Files in MATLAB (.m files)
Переглядів 483 роки тому
ELEG 320L - Script Files in MATLAB (.m files)
thank u
thanks for help
do you know what would be the difference for verilog HDL code ?
@@robinverhaeghe2742 The two languages have different syntax.
@@diabianeyahbecause i dont find the code LCD controller that you are finding on the left do i need to write everything by hand ?
great video
Thank you so much!!😭 I’ve been struggling on an assignment and this is the only thing I’ve found that’s helped <3
Thanks alot!
🎉🎉🎉🎉🎉
Thank you very much ❤❤
Thank you so much
@@craigfreeman1303 You’re welcome.
super easy explanation, thanks a ton!
best explanation thank u sooo much
very well explained...
Thanks!
Great video. How do we get the code for the testbench?
-- This is a sample testbench code. Modify as needed. LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY testbench IS END testbench; ARCHITECTURE behavior OF testbench IS -- Component Declaration for the Unit Under Test (UUT) COMPONENT NOT_GATE port( A: in std_logic; Y: out std_logic ); END COMPONENT; --Inputs signal A_IN : std_logic; --Outputs signal Y_OUT : std_logic; constant period : time := 10 ns; BEGIN -- Instantiate the Unit Under Test (UUT) uut: NOT_GATE PORT MAP (A_IN,Y_OUT); -- Stimulus process process begin A_IN <= '0'; wait for period; A_IN <= '1'; wait for period; -- Wait indefinitely. wait; end process; END;
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY lcd_controller IS PORT ( Clk50Mhz, reset: IN STD_LOGIC; LCD_DATA: OUT STD_LOGIC_VECTOR(7 DOWNTO 0); LCD_RW, LCD_EN, LCD_RS: OUT STD_LOGIC; LCD_ON, LCD_BLON: OUT STD_LOGIC); END lcd_controller; ARCHITECTURE FSMD OF lcd_controller IS TYPE state_type IS (s1,s2,s3,s4,s10,s11,s12,s13,s20,s21,s22,s23,s24); SIGNAL state: state_type; CONSTANT max: INTEGER := 50000; CONSTANT half: INTEGER := max/2; SIGNAL clockticks: INTEGER RANGE 0 TO max; SIGNAL clock: STD_LOGIC; SUBTYPE ascii IS STD_LOGIC_VECTOR(7 DOWNTO 0); TYPE charArray IS array(1 to 16) OF ascii; TYPE initArray IS array(1 to 7) OF ascii; -- LCD initialization sequence codes -- 0x38 init four times -- 0x06 Entry mode set: Increment One; No Shift -- 0x0F Display control: Display ON; Cursor ON; Blink ON -- 0x01 Display clear CONSTANT initcode: initArray := (x"38",x"38",x"38",x"38",x"06",x"0F",x"01"); -- Welcome CONSTANT line1: charArray := (x"20",x"20",x"20",x"20",x"57",x"65",x"6C",x"63",x"6F",x"6D",x"65",x"20",x"20",x"20",x"20",x"20"); -- To ESDL Lab CONSTANT line2: charArray := (x"20",x"20",x"54",x"6F",x"20",x"45",x"53",x"44",x"4C",x"20",x"4C",x"61",x"62",x"20",x"20",x"20"); SIGNAL count: integer; BEGIN LCD_ON <= '1'; LCD_BLON <= '1'; lcd_control: PROCESS(clock, reset) BEGIN IF(Reset = '1') THEN count <= 1; state <= s1; ELSIF(clock'EVENT AND clock = '1') THEN CASE state IS -- LCD initialization sequence -- The LCD_DATA is written to the LCD at the falling edge of the E line -- therefore we need to toggle the E line for each data write WHEN s1 => LCD_DATA <= initcode(count); LCD_EN <= '1'; -- EN=1; LCD_RS <= '0'; -- RS=0; an instruction LCD_RW <= '0'; -- R/W'=0; write state <= s2; WHEN s2 => LCD_EN <= '0'; -- set EN=0; count <= count + 1; IF count + 1 <= 7 THEN state <= s1; ELSE state <= s10; END IF; -- move cursor to first line of display WHEN s10 => LCD_DATA <= x"80"; -- x80 is address of 1st position on first line LCD_EN <= '1'; -- EN=1; LCD_RS <= '0'; -- RS=0; an instruction LCD_RW <= '0'; -- R/W'=0; write state <= s11; WHEN s11 => LCD_EN <= '0'; -- EN=0; toggle EN count <= 1; state <= s12; -- write 1st line text WHEN s12 => LCD_DATA <= line1(count); LCD_EN <= '1'; -- EN=1; LCD_RS <= '1'; -- RS=1; data LCD_RW <= '0'; -- R/W'=0; write state <= s13; WHEN s13 => LCD_EN <= '0'; -- EN=0; toggle EN count <= count + 1; IF count + 1 <= 16 THEN state <= s12; ELSE state <= s20; END IF; -- move cursor to second line of display WHEN s20 => LCD_DATA <= x"BF"; --xBF is address of 1st position on second line LCD_EN <= '1'; -- EN=1; LCD_RS <= '0'; -- RS=0; an instruction LCD_RW <= '0'; -- R/W'=0; write state <= s21; WHEN s21 => LCD_EN <= '0'; -- EN=0; toggle EN count <= 1; state <= s22; -- write 2nd line text WHEN s22 => LCD_DATA <= line2(count); LCD_EN <= '1'; -- EN=1; LCD_RS <= '1'; -- RS=1; data LCD_RW <= '0'; -- R/W'=0; write state <= s23; WHEN s23 => LCD_EN <= '0'; -- set EN=0; count <= count + 1; IF count + 1 <= 16 THEN state <= s22; ELSE state <= s24; END IF; WHEN s24 => state <= s24; WHEN OTHERS => state <= s24; END CASE; END IF; END PROCESS; ClockDivide: PROCESS BEGIN WAIT UNTIL Clk50Mhz'EVENT and Clk50Mhz = '1'; IF clockticks < max THEN clockticks <= clockticks + 1; ELSE clockticks <= 0; END IF; IF clockticks < half THEN clock <= '0'; ELSE clock <= '1'; END IF; END PROCESS; END FSMD;
hi thanks alot , how can i have the lcd controller.vhd that display the default text?if its possibale could you send it to me?
I've added it as a comment.
Hello, where can I find the vhdl code file?
I've added it as a comment.
Thank you so so so much for this video! I was stuck for two hours trying to figure out what an issue with a wire was, and this video helped me out so so much! You really really saved us all! ❤
Is there any reason that an and gate would output a red wire after recieving two binary values? I have no idea why mine is and could attach a picture if it helps.
Ensure that it is 2 input AND.
Thanks a lot, I had no clue about the "Simulation Enabled" thing, your video saved me lol
Thank you 💚
Thank you so much sister. May Allah bless you
Thanks a lot you saved me an hour
Thanks for the great tutorial! Is there some automated method to simulate? Because manually toggling inputs for larger circuits is impractical
You’re welcome. You can view the truth table by going to the Project menu and selecting Analyze Circuit then Truth table.
Thanks it helped 👍
You’re welcome
REAL COOL
You really saved me! Thanks a lot
thanks! i spent an hour and half figuring out why my totally correct circuit was red till i found this video.
ample thanks <3
you have less subscribers, but add is running on your videos. Congrats
Nice explanation !
A Super thank you for the video. These are small details wich no one really lights out.
You’re welcome. Thank you for your kind comment.
GREATE EXPLANATION!!!!
Thank you for your comment.
@@diabianeyahThank you for the detailed explanation
Can you please explain how the output detects the specific sequence?
What I understood was that the clock goes through each combination. Like 111 100 and so on. But when it finds the input 101, and since it goes through every combination, the light just turns on once it finds 101.
Hello, I have a separate video explaining the design itself. Please refer to it here: ua-cam.com/video/NXG6jy4v72c/v-deo.html
Is there a link for this word document?
Thanks 😊
Ver good explaination,Thanks!
thanks!
You’re welcome.
This videos is a lifesaver for university students!
Thank youu <333
thank you you saved my grades
Given square matrix A and vector x , find a permutation of the elements of x such that A*x=0 Can you solve this problem??
Is A*x a scalar equals to 0? If so A must be of size 1 by n.
Doesn’t this example demonstrate the structural model?
The logic gates alone as implemented in the video are behavioural because we are not describing the “wiring” between components.
this is dataflow model behaviour modeling
TYSM
شكرا جزيلا - فعلا استفدت من مقاطع كثير في القناة . 🌹
thank you
I am really thankful for you
how could i do the data flow model? thanks for the answer
I'm not sure this is what you mean but try open your project in Quartus then go to: Tools -> Netlist viewers -> RTL viewer (or State Machine viewer).
@@diabianeyah I've been used Xilinx ISE and then some of our activities is so hard like adders and subtractors, comparator and multiplexer and demultiplexer. we hope you can teach us before end of sem. thank you. keep up
@@kravenkrave I have a video about implementing an adder and a multiplexer in VHDL in my channel.
goated video, thanks